diff --git a/examples/1.9.x/client-android/java/presences/delete.md b/examples/1.9.x/client-android/java/presences/delete.md new file mode 100644 index 000000000..04dace36f --- /dev/null +++ b/examples/1.9.x/client-android/java/presences/delete.md @@ -0,0 +1,24 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject(""); // Your project ID + +Presences presences = new Presences(client); + +presences.delete( + "", // presenceId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + Log.d("Appwrite", result.toString()); + }) +); + +``` diff --git a/examples/1.9.x/client-android/java/presences/get.md b/examples/1.9.x/client-android/java/presences/get.md new file mode 100644 index 000000000..8417a5664 --- /dev/null +++ b/examples/1.9.x/client-android/java/presences/get.md @@ -0,0 +1,24 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject(""); // Your project ID + +Presences presences = new Presences(client); + +presences.get( + "", // presenceId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + Log.d("Appwrite", result.toString()); + }) +); + +``` diff --git a/examples/1.9.x/client-android/java/presences/list.md b/examples/1.9.x/client-android/java/presences/list.md new file mode 100644 index 000000000..e23f49a2e --- /dev/null +++ b/examples/1.9.x/client-android/java/presences/list.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject(""); // Your project ID + +Presences presences = new Presences(client); + +presences.list( + List.of(), // queries (optional) + false, // total (optional) + 0, // ttl (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + Log.d("Appwrite", result.toString()); + }) +); + +``` diff --git a/examples/1.9.x/client-android/java/presences/update.md b/examples/1.9.x/client-android/java/presences/update.md new file mode 100644 index 000000000..b38a10f04 --- /dev/null +++ b/examples/1.9.x/client-android/java/presences/update.md @@ -0,0 +1,31 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.Permission; +import io.appwrite.Role; +import io.appwrite.services.Presences; + +Client client = new Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject(""); // Your project ID + +Presences presences = new Presences(client); + +presences.update( + "", // presenceId + "", // status (optional) + "2020-10-15T06:38:00.000+00:00", // expiresAt (optional) + Map.of("a", "b"), // metadata (optional) + List.of(Permission.read(Role.any())), // permissions (optional) + false, // purge (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + Log.d("Appwrite", result.toString()); + }) +); + +``` diff --git a/examples/1.9.x/client-android/java/presences/upsert.md b/examples/1.9.x/client-android/java/presences/upsert.md new file mode 100644 index 000000000..3e1ef96bd --- /dev/null +++ b/examples/1.9.x/client-android/java/presences/upsert.md @@ -0,0 +1,30 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.Permission; +import io.appwrite.Role; +import io.appwrite.services.Presences; + +Client client = new Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject(""); // Your project ID + +Presences presences = new Presences(client); + +presences.upsert( + "", // presenceId + "", // status + List.of(Permission.read(Role.any())), // permissions (optional) + "2020-10-15T06:38:00.000+00:00", // expiresAt (optional) + Map.of("a", "b"), // metadata (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + Log.d("Appwrite", result.toString()); + }) +); + +``` diff --git a/examples/1.9.x/client-android/kotlin/presences/delete.md b/examples/1.9.x/client-android/kotlin/presences/delete.md new file mode 100644 index 000000000..d74aae005 --- /dev/null +++ b/examples/1.9.x/client-android/kotlin/presences/delete.md @@ -0,0 +1,15 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +val presences = Presences(client) + +val result = presences.delete( + presenceId = "", +) +``` diff --git a/examples/1.9.x/client-android/kotlin/presences/get.md b/examples/1.9.x/client-android/kotlin/presences/get.md new file mode 100644 index 000000000..c12a51821 --- /dev/null +++ b/examples/1.9.x/client-android/kotlin/presences/get.md @@ -0,0 +1,15 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +val presences = Presences(client) + +val result = presences.get( + presenceId = "", +) +``` diff --git a/examples/1.9.x/client-android/kotlin/presences/list.md b/examples/1.9.x/client-android/kotlin/presences/list.md new file mode 100644 index 000000000..6496a3e26 --- /dev/null +++ b/examples/1.9.x/client-android/kotlin/presences/list.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +val presences = Presences(client) + +val result = presences.list( + queries = listOf(), // (optional) + total = false, // (optional) + ttl = 0, // (optional) +) +``` diff --git a/examples/1.9.x/client-android/kotlin/presences/update.md b/examples/1.9.x/client-android/kotlin/presences/update.md new file mode 100644 index 000000000..c6626913a --- /dev/null +++ b/examples/1.9.x/client-android/kotlin/presences/update.md @@ -0,0 +1,22 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences +import io.appwrite.Permission +import io.appwrite.Role + +val client = Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +val presences = Presences(client) + +val result = presences.update( + presenceId = "", + status = "", // (optional) + expiresAt = "2020-10-15T06:38:00.000+00:00", // (optional) + metadata = mapOf( "a" to "b" ), // (optional) + permissions = listOf(Permission.read(Role.any())), // (optional) + purge = false, // (optional) +) +``` diff --git a/examples/1.9.x/client-android/kotlin/presences/upsert.md b/examples/1.9.x/client-android/kotlin/presences/upsert.md new file mode 100644 index 000000000..d868a1dd0 --- /dev/null +++ b/examples/1.9.x/client-android/kotlin/presences/upsert.md @@ -0,0 +1,21 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences +import io.appwrite.Permission +import io.appwrite.Role + +val client = Client(context) + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +val presences = Presences(client) + +val result = presences.upsert( + presenceId = "", + status = "", + permissions = listOf(Permission.read(Role.any())), // (optional) + expiresAt = "2020-10-15T06:38:00.000+00:00", // (optional) + metadata = mapOf( "a" to "b" ), // (optional) +) +``` 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 11dd7a0fa..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 @@ -21,7 +21,7 @@ let bytes = try await avatars.getScreenshot( userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // optional fullpage: true, // optional locale: "en-US", // optional - timezone: .americaNewYork, // optional + timezone: .africaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/client-apple/examples/presences/delete.md b/examples/1.9.x/client-apple/examples/presences/delete.md new file mode 100644 index 000000000..6df012b51 --- /dev/null +++ b/examples/1.9.x/client-apple/examples/presences/delete.md @@ -0,0 +1,14 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +let presences = Presences(client) + +let result = try await presences.delete( + presenceId: "" +) + +``` diff --git a/examples/1.9.x/client-apple/examples/presences/get.md b/examples/1.9.x/client-apple/examples/presences/get.md new file mode 100644 index 000000000..9e8ae6ac2 --- /dev/null +++ b/examples/1.9.x/client-apple/examples/presences/get.md @@ -0,0 +1,14 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +let presences = Presences(client) + +let presence = try await presences.get( + presenceId: "" +) + +``` diff --git a/examples/1.9.x/client-apple/examples/presences/list.md b/examples/1.9.x/client-apple/examples/presences/list.md new file mode 100644 index 000000000..e24323535 --- /dev/null +++ b/examples/1.9.x/client-apple/examples/presences/list.md @@ -0,0 +1,16 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +let presences = Presences(client) + +let presenceList = try await presences.list( + queries: [], // optional + total: false, // optional + ttl: 0 // optional +) + +``` diff --git a/examples/1.9.x/client-apple/examples/presences/update.md b/examples/1.9.x/client-apple/examples/presences/update.md new file mode 100644 index 000000000..1dce7b7d3 --- /dev/null +++ b/examples/1.9.x/client-apple/examples/presences/update.md @@ -0,0 +1,19 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +let presences = Presences(client) + +let presence = try await presences.update( + presenceId: "", + status: "", // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [:], // optional + permissions: [Permission.read(Role.any())], // optional + purge: false // optional +) + +``` diff --git a/examples/1.9.x/client-apple/examples/presences/upsert.md b/examples/1.9.x/client-apple/examples/presences/upsert.md new file mode 100644 index 000000000..23e495015 --- /dev/null +++ b/examples/1.9.x/client-apple/examples/presences/upsert.md @@ -0,0 +1,18 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + +let presences = Presences(client) + +let presence = try await presences.upsert( + presenceId: "", + status: "", + permissions: [Permission.read(Role.any())], // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [:] // optional +) + +``` 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 6695d05a9..6097941e4 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 @@ -22,7 +22,7 @@ Uint8List bytes = await avatars.getScreenshot( userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional fullpage: true, // optional locale: 'en-US', // optional - timezone: enums.Timezone.americaNewYork, // optional + timezone: enums.Timezone.africaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional @@ -53,7 +53,7 @@ FutureBuilder( userAgent:'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15' , // optional fullpage:true , // optional locale:'en-US' , // optional - timezone: enums.Timezone.americaNewYork, // optional + timezone: enums.Timezone.africaAbidjan, // optional latitude:37.7749 , // optional longitude:-122.4194 , // optional accuracy:100 , // optional diff --git a/examples/1.9.x/client-flutter/examples/presences/delete.md b/examples/1.9.x/client-flutter/examples/presences/delete.md new file mode 100644 index 000000000..b79ace2c8 --- /dev/null +++ b/examples/1.9.x/client-flutter/examples/presences/delete.md @@ -0,0 +1,13 @@ +```dart +import 'package:appwrite/appwrite.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +Presences presences = Presences(client); + +await presences.delete( + presenceId: '', +); +``` diff --git a/examples/1.9.x/client-flutter/examples/presences/get.md b/examples/1.9.x/client-flutter/examples/presences/get.md new file mode 100644 index 000000000..9fad57c6f --- /dev/null +++ b/examples/1.9.x/client-flutter/examples/presences/get.md @@ -0,0 +1,13 @@ +```dart +import 'package:appwrite/appwrite.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +Presences presences = Presences(client); + +Presence result = await presences.get( + presenceId: '', +); +``` diff --git a/examples/1.9.x/client-flutter/examples/presences/list.md b/examples/1.9.x/client-flutter/examples/presences/list.md new file mode 100644 index 000000000..5810a2984 --- /dev/null +++ b/examples/1.9.x/client-flutter/examples/presences/list.md @@ -0,0 +1,15 @@ +```dart +import 'package:appwrite/appwrite.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +Presences presences = Presences(client); + +PresenceList result = await presences.list( + queries: [], // optional + total: false, // optional + ttl: 0, // optional +); +``` diff --git a/examples/1.9.x/client-flutter/examples/presences/update.md b/examples/1.9.x/client-flutter/examples/presences/update.md new file mode 100644 index 000000000..84a64be01 --- /dev/null +++ b/examples/1.9.x/client-flutter/examples/presences/update.md @@ -0,0 +1,20 @@ +```dart +import 'package:appwrite/appwrite.dart'; +import 'package:appwrite/permission.dart'; +import 'package:appwrite/role.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +Presences presences = Presences(client); + +Presence result = await presences.update( + presenceId: '', + status: '', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional + permissions: [Permission.read(Role.any())], // optional + purge: false, // optional +); +``` diff --git a/examples/1.9.x/client-flutter/examples/presences/upsert.md b/examples/1.9.x/client-flutter/examples/presences/upsert.md new file mode 100644 index 000000000..32acc92fe --- /dev/null +++ b/examples/1.9.x/client-flutter/examples/presences/upsert.md @@ -0,0 +1,19 @@ +```dart +import 'package:appwrite/appwrite.dart'; +import 'package:appwrite/permission.dart'; +import 'package:appwrite/role.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +Presences presences = Presences(client); + +Presence result = await presences.upsert( + presenceId: '', + status: '', + permissions: [Permission.read(Role.any())], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional +); +``` diff --git a/examples/1.9.x/client-graphql/examples/presences/delete.md b/examples/1.9.x/client-graphql/examples/presences/delete.md new file mode 100644 index 000000000..cc8294d0c --- /dev/null +++ b/examples/1.9.x/client-graphql/examples/presences/delete.md @@ -0,0 +1,9 @@ +```graphql +mutation { + presencesDelete( + presenceId: "" + ) { + status + } +} +``` diff --git a/examples/1.9.x/client-graphql/examples/presences/get.md b/examples/1.9.x/client-graphql/examples/presences/get.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/client-graphql/examples/presences/get.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/client-graphql/examples/presences/list.md b/examples/1.9.x/client-graphql/examples/presences/list.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/client-graphql/examples/presences/list.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/client-graphql/examples/presences/update.md b/examples/1.9.x/client-graphql/examples/presences/update.md new file mode 100644 index 000000000..25ce1c84b --- /dev/null +++ b/examples/1.9.x/client-graphql/examples/presences/update.md @@ -0,0 +1,22 @@ +```graphql +mutation { + presencesUpdate( + presenceId: "", + status: "", + expiresAt: "2020-10-15T06:38:00.000+00:00", + metadata: "{}", + permissions: ["read("any")"], + purge: false + ) { + _id + _createdAt + _updatedAt + _permissions + userId + status + source + expiresAt + data + } +} +``` diff --git a/examples/1.9.x/client-graphql/examples/presences/upsert.md b/examples/1.9.x/client-graphql/examples/presences/upsert.md new file mode 100644 index 000000000..988ea54c1 --- /dev/null +++ b/examples/1.9.x/client-graphql/examples/presences/upsert.md @@ -0,0 +1,21 @@ +```graphql +mutation { + presencesUpsert( + presenceId: "", + status: "", + permissions: ["read("any")"], + expiresAt: "2020-10-15T06:38:00.000+00:00", + metadata: "{}" + ) { + _id + _createdAt + _updatedAt + _permissions + userId + status + source + expiresAt + data + } +} +``` diff --git a/examples/1.9.x/client-graphql/examples/storage/create-file.md b/examples/1.9.x/client-graphql/examples/storage/create-file.md index e14216467..4c400ca41 100644 --- a/examples/1.9.x/client-graphql/examples/storage/create-file.md +++ b/examples/1.9.x/client-graphql/examples/storage/create-file.md @@ -2,7 +2,7 @@ POST /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-graphql/examples/storage/update-file.md b/examples/1.9.x/client-graphql/examples/storage/update-file.md index 422596fe9..3442c043d 100644 --- a/examples/1.9.x/client-graphql/examples/storage/update-file.md +++ b/examples/1.9.x/client-graphql/examples/storage/update-file.md @@ -15,6 +15,7 @@ mutation { signature mimeType sizeOriginal + sizeActual chunksTotal chunksUploaded encryption 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 9cb1f990a..006e5af63 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 @@ -20,7 +20,7 @@ const result = avatars.getScreenshot({ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional fullpage: true, // optional locale: 'en-US', // optional - timezone: Timezone.AmericaNewYork, // optional + timezone: Timezone.AfricaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/client-react-native/examples/presences/delete.md b/examples/1.9.x/client-react-native/examples/presences/delete.md new file mode 100644 index 000000000..447de030b --- /dev/null +++ b/examples/1.9.x/client-react-native/examples/presences/delete.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Presences } from "react-native-appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.delete({ + presenceId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/client-react-native/examples/presences/get.md b/examples/1.9.x/client-react-native/examples/presences/get.md new file mode 100644 index 000000000..e5b897188 --- /dev/null +++ b/examples/1.9.x/client-react-native/examples/presences/get.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Presences } from "react-native-appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.get({ + presenceId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/client-react-native/examples/presences/list.md b/examples/1.9.x/client-react-native/examples/presences/list.md new file mode 100644 index 000000000..ccfe70792 --- /dev/null +++ b/examples/1.9.x/client-react-native/examples/presences/list.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Presences } from "react-native-appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.list({ + queries: [], // optional + total: false, // optional + ttl: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/client-react-native/examples/presences/update.md b/examples/1.9.x/client-react-native/examples/presences/update.md new file mode 100644 index 000000000..16ef74289 --- /dev/null +++ b/examples/1.9.x/client-react-native/examples/presences/update.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Presences, Permission, Role } from "react-native-appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.update({ + presenceId: '', + status: '', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional + permissions: ["read("any")"], // optional + purge: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/client-react-native/examples/presences/upsert.md b/examples/1.9.x/client-react-native/examples/presences/upsert.md new file mode 100644 index 000000000..522c44e0a --- /dev/null +++ b/examples/1.9.x/client-react-native/examples/presences/upsert.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Presences, Permission, Role } from "react-native-appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.upsert({ + presenceId: '', + status: '', + permissions: ["read("any")"], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {} // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/client-rest/examples/account/create-anonymous-session.md b/examples/1.9.x/client-rest/examples/account/create-anonymous-session.md index 44af103e7..4d9374b1f 100644 --- a/examples/1.9.x/client-rest/examples/account/create-anonymous-session.md +++ b/examples/1.9.x/client-rest/examples/account/create-anonymous-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/anonymous HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-email-password-session.md b/examples/1.9.x/client-rest/examples/account/create-email-password-session.md index 547ef64e3..95c87871d 100644 --- a/examples/1.9.x/client-rest/examples/account/create-email-password-session.md +++ b/examples/1.9.x/client-rest/examples/account/create-email-password-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-email-token.md b/examples/1.9.x/client-rest/examples/account/create-email-token.md index 53cdf1b6d..8f2763ae6 100644 --- a/examples/1.9.x/client-rest/examples/account/create-email-token.md +++ b/examples/1.9.x/client-rest/examples/account/create-email-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-email-verification.md b/examples/1.9.x/client-rest/examples/account/create-email-verification.md index b99da8db4..f11c9256d 100644 --- a/examples/1.9.x/client-rest/examples/account/create-email-verification.md +++ b/examples/1.9.x/client-rest/examples/account/create-email-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-jwt.md b/examples/1.9.x/client-rest/examples/account/create-jwt.md index 658367c1e..80b7cbb11 100644 --- a/examples/1.9.x/client-rest/examples/account/create-jwt.md +++ b/examples/1.9.x/client-rest/examples/account/create-jwt.md @@ -2,7 +2,7 @@ POST /v1/account/jwts HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-magic-url-token.md b/examples/1.9.x/client-rest/examples/account/create-magic-url-token.md index 26bfd9804..caadbb17e 100644 --- a/examples/1.9.x/client-rest/examples/account/create-magic-url-token.md +++ b/examples/1.9.x/client-rest/examples/account/create-magic-url-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/magic-url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-mfa-authenticator.md b/examples/1.9.x/client-rest/examples/account/create-mfa-authenticator.md index b84bc74c1..549895b69 100644 --- a/examples/1.9.x/client-rest/examples/account/create-mfa-authenticator.md +++ b/examples/1.9.x/client-rest/examples/account/create-mfa-authenticator.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-mfa-challenge.md b/examples/1.9.x/client-rest/examples/account/create-mfa-challenge.md index 7c4ce040f..a4d644866 100644 --- a/examples/1.9.x/client-rest/examples/account/create-mfa-challenge.md +++ b/examples/1.9.x/client-rest/examples/account/create-mfa-challenge.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/challenges HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-mfa-recovery-codes.md b/examples/1.9.x/client-rest/examples/account/create-mfa-recovery-codes.md index 3e320cca6..59ada759c 100644 --- a/examples/1.9.x/client-rest/examples/account/create-mfa-recovery-codes.md +++ b/examples/1.9.x/client-rest/examples/account/create-mfa-recovery-codes.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-o-auth-2-session.md b/examples/1.9.x/client-rest/examples/account/create-o-auth-2-session.md index 29d249b5c..a22860075 100644 --- a/examples/1.9.x/client-rest/examples/account/create-o-auth-2-session.md +++ b/examples/1.9.x/client-rest/examples/account/create-o-auth-2-session.md @@ -1,7 +1,7 @@ ```http GET /v1/account/sessions/oauth2/{provider} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-o-auth-2-token.md b/examples/1.9.x/client-rest/examples/account/create-o-auth-2-token.md index e83f493c5..660264560 100644 --- a/examples/1.9.x/client-rest/examples/account/create-o-auth-2-token.md +++ b/examples/1.9.x/client-rest/examples/account/create-o-auth-2-token.md @@ -1,7 +1,7 @@ ```http GET /v1/account/tokens/oauth2/{provider} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-phone-token.md b/examples/1.9.x/client-rest/examples/account/create-phone-token.md index 93c118f50..a5c677b33 100644 --- a/examples/1.9.x/client-rest/examples/account/create-phone-token.md +++ b/examples/1.9.x/client-rest/examples/account/create-phone-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-phone-verification.md b/examples/1.9.x/client-rest/examples/account/create-phone-verification.md index 89a6a9ecf..3e37fdde1 100644 --- a/examples/1.9.x/client-rest/examples/account/create-phone-verification.md +++ b/examples/1.9.x/client-rest/examples/account/create-phone-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-push-target.md b/examples/1.9.x/client-rest/examples/account/create-push-target.md index 15c73af71..f470b2fe3 100644 --- a/examples/1.9.x/client-rest/examples/account/create-push-target.md +++ b/examples/1.9.x/client-rest/examples/account/create-push-target.md @@ -2,9 +2,10 @@ POST /v1/account/targets/push HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: +X-Appwrite-JWT: { "targetId": "", diff --git a/examples/1.9.x/client-rest/examples/account/create-recovery.md b/examples/1.9.x/client-rest/examples/account/create-recovery.md index 1c1f5d1b5..7b3512ae9 100644 --- a/examples/1.9.x/client-rest/examples/account/create-recovery.md +++ b/examples/1.9.x/client-rest/examples/account/create-recovery.md @@ -2,7 +2,7 @@ POST /v1/account/recovery HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-session.md b/examples/1.9.x/client-rest/examples/account/create-session.md index c4a9dd607..13aef6b2a 100644 --- a/examples/1.9.x/client-rest/examples/account/create-session.md +++ b/examples/1.9.x/client-rest/examples/account/create-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/token HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create-verification.md b/examples/1.9.x/client-rest/examples/account/create-verification.md index b99da8db4..f11c9256d 100644 --- a/examples/1.9.x/client-rest/examples/account/create-verification.md +++ b/examples/1.9.x/client-rest/examples/account/create-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/create.md b/examples/1.9.x/client-rest/examples/account/create.md index 4a0cbfebd..1f845f01a 100644 --- a/examples/1.9.x/client-rest/examples/account/create.md +++ b/examples/1.9.x/client-rest/examples/account/create.md @@ -2,7 +2,7 @@ POST /v1/account HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/delete-identity.md b/examples/1.9.x/client-rest/examples/account/delete-identity.md index d2901873c..c510090af 100644 --- a/examples/1.9.x/client-rest/examples/account/delete-identity.md +++ b/examples/1.9.x/client-rest/examples/account/delete-identity.md @@ -2,7 +2,7 @@ DELETE /v1/account/identities/{identityId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/delete-mfa-authenticator.md b/examples/1.9.x/client-rest/examples/account/delete-mfa-authenticator.md index 19e07dc9d..8da06fb10 100644 --- a/examples/1.9.x/client-rest/examples/account/delete-mfa-authenticator.md +++ b/examples/1.9.x/client-rest/examples/account/delete-mfa-authenticator.md @@ -2,7 +2,7 @@ DELETE /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/delete-push-target.md b/examples/1.9.x/client-rest/examples/account/delete-push-target.md index ec43561a7..4bbfebeab 100644 --- a/examples/1.9.x/client-rest/examples/account/delete-push-target.md +++ b/examples/1.9.x/client-rest/examples/account/delete-push-target.md @@ -2,8 +2,9 @@ DELETE /v1/account/targets/{targetId}/push HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: +X-Appwrite-JWT: ``` diff --git a/examples/1.9.x/client-rest/examples/account/delete-session.md b/examples/1.9.x/client-rest/examples/account/delete-session.md index 64b5b39e5..7044fb19e 100644 --- a/examples/1.9.x/client-rest/examples/account/delete-session.md +++ b/examples/1.9.x/client-rest/examples/account/delete-session.md @@ -2,7 +2,7 @@ DELETE /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/delete-sessions.md b/examples/1.9.x/client-rest/examples/account/delete-sessions.md index 60a32d751..511f8d151 100644 --- a/examples/1.9.x/client-rest/examples/account/delete-sessions.md +++ b/examples/1.9.x/client-rest/examples/account/delete-sessions.md @@ -2,7 +2,7 @@ DELETE /v1/account/sessions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/get-mfa-recovery-codes.md b/examples/1.9.x/client-rest/examples/account/get-mfa-recovery-codes.md index 48662b7f9..a0a902f9a 100644 --- a/examples/1.9.x/client-rest/examples/account/get-mfa-recovery-codes.md +++ b/examples/1.9.x/client-rest/examples/account/get-mfa-recovery-codes.md @@ -1,7 +1,7 @@ ```http GET /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/get-prefs.md b/examples/1.9.x/client-rest/examples/account/get-prefs.md index 1b36084bf..99b97bcf5 100644 --- a/examples/1.9.x/client-rest/examples/account/get-prefs.md +++ b/examples/1.9.x/client-rest/examples/account/get-prefs.md @@ -1,7 +1,7 @@ ```http GET /v1/account/prefs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/get-session.md b/examples/1.9.x/client-rest/examples/account/get-session.md index e6984322b..3799251ab 100644 --- a/examples/1.9.x/client-rest/examples/account/get-session.md +++ b/examples/1.9.x/client-rest/examples/account/get-session.md @@ -1,7 +1,7 @@ ```http GET /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/get.md b/examples/1.9.x/client-rest/examples/account/get.md index 2be657bc6..e61f07626 100644 --- a/examples/1.9.x/client-rest/examples/account/get.md +++ b/examples/1.9.x/client-rest/examples/account/get.md @@ -1,7 +1,7 @@ ```http GET /v1/account HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/list-identities.md b/examples/1.9.x/client-rest/examples/account/list-identities.md index 0b8c3b320..0813a1bf5 100644 --- a/examples/1.9.x/client-rest/examples/account/list-identities.md +++ b/examples/1.9.x/client-rest/examples/account/list-identities.md @@ -1,7 +1,7 @@ ```http GET /v1/account/identities HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/list-logs.md b/examples/1.9.x/client-rest/examples/account/list-logs.md index c73974096..cc8110e07 100644 --- a/examples/1.9.x/client-rest/examples/account/list-logs.md +++ b/examples/1.9.x/client-rest/examples/account/list-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/account/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/list-mfa-factors.md b/examples/1.9.x/client-rest/examples/account/list-mfa-factors.md index 7819722c3..2de5e9a27 100644 --- a/examples/1.9.x/client-rest/examples/account/list-mfa-factors.md +++ b/examples/1.9.x/client-rest/examples/account/list-mfa-factors.md @@ -1,7 +1,7 @@ ```http GET /v1/account/mfa/factors HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/list-sessions.md b/examples/1.9.x/client-rest/examples/account/list-sessions.md index f141de66c..c7dc84d7b 100644 --- a/examples/1.9.x/client-rest/examples/account/list-sessions.md +++ b/examples/1.9.x/client-rest/examples/account/list-sessions.md @@ -1,7 +1,7 @@ ```http GET /v1/account/sessions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-email-verification.md b/examples/1.9.x/client-rest/examples/account/update-email-verification.md index 565962a82..6ea3255e7 100644 --- a/examples/1.9.x/client-rest/examples/account/update-email-verification.md +++ b/examples/1.9.x/client-rest/examples/account/update-email-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-email.md b/examples/1.9.x/client-rest/examples/account/update-email.md index 9cfb637ee..841d076b8 100644 --- a/examples/1.9.x/client-rest/examples/account/update-email.md +++ b/examples/1.9.x/client-rest/examples/account/update-email.md @@ -2,7 +2,7 @@ PATCH /v1/account/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-magic-url-session.md b/examples/1.9.x/client-rest/examples/account/update-magic-url-session.md index 27b4a08b1..273bf326b 100644 --- a/examples/1.9.x/client-rest/examples/account/update-magic-url-session.md +++ b/examples/1.9.x/client-rest/examples/account/update-magic-url-session.md @@ -2,7 +2,7 @@ PUT /v1/account/sessions/magic-url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-mfa-authenticator.md b/examples/1.9.x/client-rest/examples/account/update-mfa-authenticator.md index 9301368bc..e7464765d 100644 --- a/examples/1.9.x/client-rest/examples/account/update-mfa-authenticator.md +++ b/examples/1.9.x/client-rest/examples/account/update-mfa-authenticator.md @@ -2,7 +2,7 @@ PUT /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-mfa-challenge.md b/examples/1.9.x/client-rest/examples/account/update-mfa-challenge.md index ebbf51c0c..9964263cc 100644 --- a/examples/1.9.x/client-rest/examples/account/update-mfa-challenge.md +++ b/examples/1.9.x/client-rest/examples/account/update-mfa-challenge.md @@ -2,7 +2,7 @@ PUT /v1/account/mfa/challenges HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-mfa-recovery-codes.md b/examples/1.9.x/client-rest/examples/account/update-mfa-recovery-codes.md index 7fa04cb78..bd2c3832d 100644 --- a/examples/1.9.x/client-rest/examples/account/update-mfa-recovery-codes.md +++ b/examples/1.9.x/client-rest/examples/account/update-mfa-recovery-codes.md @@ -2,7 +2,7 @@ PATCH /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-mfa.md b/examples/1.9.x/client-rest/examples/account/update-mfa.md index 33e2867c8..a117bb6e1 100644 --- a/examples/1.9.x/client-rest/examples/account/update-mfa.md +++ b/examples/1.9.x/client-rest/examples/account/update-mfa.md @@ -2,7 +2,7 @@ PATCH /v1/account/mfa HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-name.md b/examples/1.9.x/client-rest/examples/account/update-name.md index 93e944035..7159a49e3 100644 --- a/examples/1.9.x/client-rest/examples/account/update-name.md +++ b/examples/1.9.x/client-rest/examples/account/update-name.md @@ -2,7 +2,7 @@ PATCH /v1/account/name HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-password.md b/examples/1.9.x/client-rest/examples/account/update-password.md index ab06d714f..dbde18b56 100644 --- a/examples/1.9.x/client-rest/examples/account/update-password.md +++ b/examples/1.9.x/client-rest/examples/account/update-password.md @@ -2,7 +2,7 @@ PATCH /v1/account/password HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-phone-session.md b/examples/1.9.x/client-rest/examples/account/update-phone-session.md index 049c095bc..82e387bf7 100644 --- a/examples/1.9.x/client-rest/examples/account/update-phone-session.md +++ b/examples/1.9.x/client-rest/examples/account/update-phone-session.md @@ -2,7 +2,7 @@ PUT /v1/account/sessions/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-phone-verification.md b/examples/1.9.x/client-rest/examples/account/update-phone-verification.md index 9ee56eee6..1f68f5080 100644 --- a/examples/1.9.x/client-rest/examples/account/update-phone-verification.md +++ b/examples/1.9.x/client-rest/examples/account/update-phone-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-phone.md b/examples/1.9.x/client-rest/examples/account/update-phone.md index 8ca95c2b9..42d99202e 100644 --- a/examples/1.9.x/client-rest/examples/account/update-phone.md +++ b/examples/1.9.x/client-rest/examples/account/update-phone.md @@ -2,7 +2,7 @@ PATCH /v1/account/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-prefs.md b/examples/1.9.x/client-rest/examples/account/update-prefs.md index fa77d4cc0..5795da398 100644 --- a/examples/1.9.x/client-rest/examples/account/update-prefs.md +++ b/examples/1.9.x/client-rest/examples/account/update-prefs.md @@ -2,7 +2,7 @@ PATCH /v1/account/prefs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-push-target.md b/examples/1.9.x/client-rest/examples/account/update-push-target.md index b322d7124..079211a9d 100644 --- a/examples/1.9.x/client-rest/examples/account/update-push-target.md +++ b/examples/1.9.x/client-rest/examples/account/update-push-target.md @@ -2,9 +2,10 @@ PUT /v1/account/targets/{targetId}/push HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: +X-Appwrite-JWT: { "identifier": "" diff --git a/examples/1.9.x/client-rest/examples/account/update-recovery.md b/examples/1.9.x/client-rest/examples/account/update-recovery.md index d220b4af9..ebe7ee91f 100644 --- a/examples/1.9.x/client-rest/examples/account/update-recovery.md +++ b/examples/1.9.x/client-rest/examples/account/update-recovery.md @@ -2,7 +2,7 @@ PUT /v1/account/recovery HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-session.md b/examples/1.9.x/client-rest/examples/account/update-session.md index c0cf29543..6c9cf78f7 100644 --- a/examples/1.9.x/client-rest/examples/account/update-session.md +++ b/examples/1.9.x/client-rest/examples/account/update-session.md @@ -2,7 +2,7 @@ PATCH /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-status.md b/examples/1.9.x/client-rest/examples/account/update-status.md index 67c02b8a4..b57e878df 100644 --- a/examples/1.9.x/client-rest/examples/account/update-status.md +++ b/examples/1.9.x/client-rest/examples/account/update-status.md @@ -2,7 +2,7 @@ PATCH /v1/account/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/account/update-verification.md b/examples/1.9.x/client-rest/examples/account/update-verification.md index 565962a82..6ea3255e7 100644 --- a/examples/1.9.x/client-rest/examples/account/update-verification.md +++ b/examples/1.9.x/client-rest/examples/account/update-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-browser.md b/examples/1.9.x/client-rest/examples/avatars/get-browser.md index 5d4fdb8e1..4d101a2b2 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-browser.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-browser.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/browsers/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-credit-card.md b/examples/1.9.x/client-rest/examples/avatars/get-credit-card.md index 754c3193b..fb2c879ca 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-credit-card.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/credit-cards/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-favicon.md b/examples/1.9.x/client-rest/examples/avatars/get-favicon.md index fbfd81c9a..5e5a2222f 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-favicon.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-favicon.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/favicon HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-flag.md b/examples/1.9.x/client-rest/examples/avatars/get-flag.md index 991edf895..389a4fd86 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-flag.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-flag.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/flags/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-image.md b/examples/1.9.x/client-rest/examples/avatars/get-image.md index e64f2d420..a05f1b477 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-image.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-image.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/image HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-initials.md b/examples/1.9.x/client-rest/examples/avatars/get-initials.md index 352a23259..4b160d053 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-initials.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-initials.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/initials HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-qr.md b/examples/1.9.x/client-rest/examples/avatars/get-qr.md index a217ecb8e..5412b8450 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-qr.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-qr.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/qr HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/avatars/get-screenshot.md b/examples/1.9.x/client-rest/examples/avatars/get-screenshot.md index 49eb69a94..c3089203c 100644 --- a/examples/1.9.x/client-rest/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/client-rest/examples/avatars/get-screenshot.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/screenshots HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/create-document.md b/examples/1.9.x/client-rest/examples/databases/create-document.md index 4681a6fc7..bbed1636b 100644 --- a/examples/1.9.x/client-rest/examples/databases/create-document.md +++ b/examples/1.9.x/client-rest/examples/databases/create-document.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/create-operations.md b/examples/1.9.x/client-rest/examples/databases/create-operations.md index fdd93ef46..381988cff 100644 --- a/examples/1.9.x/client-rest/examples/databases/create-operations.md +++ b/examples/1.9.x/client-rest/examples/databases/create-operations.md @@ -2,7 +2,7 @@ POST /v1/databases/transactions/{transactionId}/operations HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/create-transaction.md b/examples/1.9.x/client-rest/examples/databases/create-transaction.md index cd9649761..21c60559d 100644 --- a/examples/1.9.x/client-rest/examples/databases/create-transaction.md +++ b/examples/1.9.x/client-rest/examples/databases/create-transaction.md @@ -2,7 +2,7 @@ POST /v1/databases/transactions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/decrement-document-attribute.md b/examples/1.9.x/client-rest/examples/databases/decrement-document-attribute.md index bbe2ca9f6..ac42e81f5 100644 --- a/examples/1.9.x/client-rest/examples/databases/decrement-document-attribute.md +++ b/examples/1.9.x/client-rest/examples/databases/decrement-document-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/delete-document.md b/examples/1.9.x/client-rest/examples/databases/delete-document.md index 651a0f80a..c820f6955 100644 --- a/examples/1.9.x/client-rest/examples/databases/delete-document.md +++ b/examples/1.9.x/client-rest/examples/databases/delete-document.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/delete-transaction.md b/examples/1.9.x/client-rest/examples/databases/delete-transaction.md index 45cf1f47e..41650ec61 100644 --- a/examples/1.9.x/client-rest/examples/databases/delete-transaction.md +++ b/examples/1.9.x/client-rest/examples/databases/delete-transaction.md @@ -2,7 +2,7 @@ DELETE /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/get-document.md b/examples/1.9.x/client-rest/examples/databases/get-document.md index ae8e3bc40..88c505c03 100644 --- a/examples/1.9.x/client-rest/examples/databases/get-document.md +++ b/examples/1.9.x/client-rest/examples/databases/get-document.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/get-transaction.md b/examples/1.9.x/client-rest/examples/databases/get-transaction.md index e33964245..00685e04f 100644 --- a/examples/1.9.x/client-rest/examples/databases/get-transaction.md +++ b/examples/1.9.x/client-rest/examples/databases/get-transaction.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/increment-document-attribute.md b/examples/1.9.x/client-rest/examples/databases/increment-document-attribute.md index 5cd6b7be9..71f218530 100644 --- a/examples/1.9.x/client-rest/examples/databases/increment-document-attribute.md +++ b/examples/1.9.x/client-rest/examples/databases/increment-document-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/list-documents.md b/examples/1.9.x/client-rest/examples/databases/list-documents.md index cdf7e5206..d28bd015a 100644 --- a/examples/1.9.x/client-rest/examples/databases/list-documents.md +++ b/examples/1.9.x/client-rest/examples/databases/list-documents.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/list-transactions.md b/examples/1.9.x/client-rest/examples/databases/list-transactions.md index e0ee24576..b3d38b242 100644 --- a/examples/1.9.x/client-rest/examples/databases/list-transactions.md +++ b/examples/1.9.x/client-rest/examples/databases/list-transactions.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/transactions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/update-document.md b/examples/1.9.x/client-rest/examples/databases/update-document.md index 4ee98275c..ab96d6f44 100644 --- a/examples/1.9.x/client-rest/examples/databases/update-document.md +++ b/examples/1.9.x/client-rest/examples/databases/update-document.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/update-transaction.md b/examples/1.9.x/client-rest/examples/databases/update-transaction.md index e18408f44..cbe45ac43 100644 --- a/examples/1.9.x/client-rest/examples/databases/update-transaction.md +++ b/examples/1.9.x/client-rest/examples/databases/update-transaction.md @@ -2,7 +2,7 @@ PATCH /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/databases/upsert-document.md b/examples/1.9.x/client-rest/examples/databases/upsert-document.md index 9e75adca2..8b7672527 100644 --- a/examples/1.9.x/client-rest/examples/databases/upsert-document.md +++ b/examples/1.9.x/client-rest/examples/databases/upsert-document.md @@ -2,7 +2,7 @@ PUT /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/functions/create-execution.md b/examples/1.9.x/client-rest/examples/functions/create-execution.md index c7382a82a..8e298ceae 100644 --- a/examples/1.9.x/client-rest/examples/functions/create-execution.md +++ b/examples/1.9.x/client-rest/examples/functions/create-execution.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/executions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/functions/get-execution.md b/examples/1.9.x/client-rest/examples/functions/get-execution.md index a70d941d6..93a2399cf 100644 --- a/examples/1.9.x/client-rest/examples/functions/get-execution.md +++ b/examples/1.9.x/client-rest/examples/functions/get-execution.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/executions/{executionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/functions/list-executions.md b/examples/1.9.x/client-rest/examples/functions/list-executions.md index 71b613f67..453de6d13 100644 --- a/examples/1.9.x/client-rest/examples/functions/list-executions.md +++ b/examples/1.9.x/client-rest/examples/functions/list-executions.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/executions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/graphql/mutation.md b/examples/1.9.x/client-rest/examples/graphql/mutation.md index 189278a6a..cfc268ff0 100644 --- a/examples/1.9.x/client-rest/examples/graphql/mutation.md +++ b/examples/1.9.x/client-rest/examples/graphql/mutation.md @@ -3,7 +3,7 @@ POST /v1/graphql/mutation HTTP/1.1 Host: cloud.appwrite.io X-Sdk-Graphql: true Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/graphql/query.md b/examples/1.9.x/client-rest/examples/graphql/query.md index 393e813d9..70d218693 100644 --- a/examples/1.9.x/client-rest/examples/graphql/query.md +++ b/examples/1.9.x/client-rest/examples/graphql/query.md @@ -3,7 +3,7 @@ POST /v1/graphql HTTP/1.1 Host: cloud.appwrite.io X-Sdk-Graphql: true Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/get.md b/examples/1.9.x/client-rest/examples/locale/get.md index 3e20855c3..991249d62 100644 --- a/examples/1.9.x/client-rest/examples/locale/get.md +++ b/examples/1.9.x/client-rest/examples/locale/get.md @@ -1,7 +1,7 @@ ```http GET /v1/locale HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-codes.md b/examples/1.9.x/client-rest/examples/locale/list-codes.md index c16bb2edc..d4b151bf8 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-codes.md +++ b/examples/1.9.x/client-rest/examples/locale/list-codes.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/codes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-continents.md b/examples/1.9.x/client-rest/examples/locale/list-continents.md index 40d9e9d64..77a6240e6 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-continents.md +++ b/examples/1.9.x/client-rest/examples/locale/list-continents.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/continents HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-countries-eu.md b/examples/1.9.x/client-rest/examples/locale/list-countries-eu.md index 3c911ecf3..7cf0d2cf1 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-countries-eu.md +++ b/examples/1.9.x/client-rest/examples/locale/list-countries-eu.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries/eu HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-countries-phones.md b/examples/1.9.x/client-rest/examples/locale/list-countries-phones.md index 4511cc5d5..6a4154e92 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-countries-phones.md +++ b/examples/1.9.x/client-rest/examples/locale/list-countries-phones.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries/phones HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-countries.md b/examples/1.9.x/client-rest/examples/locale/list-countries.md index 5c657b5f5..ef37ce08a 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-countries.md +++ b/examples/1.9.x/client-rest/examples/locale/list-countries.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-currencies.md b/examples/1.9.x/client-rest/examples/locale/list-currencies.md index 8390e7ca8..7e345328d 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-currencies.md +++ b/examples/1.9.x/client-rest/examples/locale/list-currencies.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/currencies HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/locale/list-languages.md b/examples/1.9.x/client-rest/examples/locale/list-languages.md index 9e53bad88..0d45a439b 100644 --- a/examples/1.9.x/client-rest/examples/locale/list-languages.md +++ b/examples/1.9.x/client-rest/examples/locale/list-languages.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/languages HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/messaging/create-subscriber.md b/examples/1.9.x/client-rest/examples/messaging/create-subscriber.md index 250ac5b00..42325cf12 100644 --- a/examples/1.9.x/client-rest/examples/messaging/create-subscriber.md +++ b/examples/1.9.x/client-rest/examples/messaging/create-subscriber.md @@ -2,7 +2,7 @@ POST /v1/messaging/topics/{topicId}/subscribers HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-JWT: X-Appwrite-Session: diff --git a/examples/1.9.x/client-rest/examples/messaging/delete-subscriber.md b/examples/1.9.x/client-rest/examples/messaging/delete-subscriber.md index 0d50207c9..a028c7312 100644 --- a/examples/1.9.x/client-rest/examples/messaging/delete-subscriber.md +++ b/examples/1.9.x/client-rest/examples/messaging/delete-subscriber.md @@ -2,7 +2,7 @@ DELETE /v1/messaging/topics/{topicId}/subscribers/{subscriberId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-JWT: X-Appwrite-Session: diff --git a/examples/1.9.x/client-rest/examples/presences/delete.md b/examples/1.9.x/client-rest/examples/presences/delete.md new file mode 100644 index 000000000..ce437718b --- /dev/null +++ b/examples/1.9.x/client-rest/examples/presences/delete.md @@ -0,0 +1,10 @@ +```http +DELETE /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: + +``` diff --git a/examples/1.9.x/client-rest/examples/presences/get.md b/examples/1.9.x/client-rest/examples/presences/get.md new file mode 100644 index 000000000..efd0a0811 --- /dev/null +++ b/examples/1.9.x/client-rest/examples/presences/get.md @@ -0,0 +1,8 @@ +```http +GET /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: +``` diff --git a/examples/1.9.x/client-rest/examples/presences/list.md b/examples/1.9.x/client-rest/examples/presences/list.md new file mode 100644 index 000000000..ee10a24a2 --- /dev/null +++ b/examples/1.9.x/client-rest/examples/presences/list.md @@ -0,0 +1,8 @@ +```http +GET /v1/presences HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: +``` diff --git a/examples/1.9.x/client-rest/examples/presences/update.md b/examples/1.9.x/client-rest/examples/presences/update.md new file mode 100644 index 000000000..2acc28581 --- /dev/null +++ b/examples/1.9.x/client-rest/examples/presences/update.md @@ -0,0 +1,16 @@ +```http +PATCH /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: + +{ + "status": "", + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "metadata": {}, + "permissions": ["read(\"any\")"], + "purge": false +} +``` diff --git a/examples/1.9.x/client-rest/examples/presences/upsert.md b/examples/1.9.x/client-rest/examples/presences/upsert.md new file mode 100644 index 000000000..2c069a283 --- /dev/null +++ b/examples/1.9.x/client-rest/examples/presences/upsert.md @@ -0,0 +1,15 @@ +```http +PUT /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: + +{ + "status": "", + "permissions": ["read(\"any\")"], + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "metadata": {} +} +``` diff --git a/examples/1.9.x/client-rest/examples/storage/create-file.md b/examples/1.9.x/client-rest/examples/storage/create-file.md index ccfccc2c9..256ddaa07 100644 --- a/examples/1.9.x/client-rest/examples/storage/create-file.md +++ b/examples/1.9.x/client-rest/examples/storage/create-file.md @@ -2,7 +2,7 @@ POST /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/delete-file.md b/examples/1.9.x/client-rest/examples/storage/delete-file.md index a33728402..ac731d3da 100644 --- a/examples/1.9.x/client-rest/examples/storage/delete-file.md +++ b/examples/1.9.x/client-rest/examples/storage/delete-file.md @@ -2,7 +2,7 @@ DELETE /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/get-file-download.md b/examples/1.9.x/client-rest/examples/storage/get-file-download.md index 14b41a6bc..e2060a678 100644 --- a/examples/1.9.x/client-rest/examples/storage/get-file-download.md +++ b/examples/1.9.x/client-rest/examples/storage/get-file-download.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/download HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/get-file-preview.md b/examples/1.9.x/client-rest/examples/storage/get-file-preview.md index d9ec7f664..cb6909f80 100644 --- a/examples/1.9.x/client-rest/examples/storage/get-file-preview.md +++ b/examples/1.9.x/client-rest/examples/storage/get-file-preview.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/preview HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/get-file-view.md b/examples/1.9.x/client-rest/examples/storage/get-file-view.md index b9a3411d0..59aec7cd6 100644 --- a/examples/1.9.x/client-rest/examples/storage/get-file-view.md +++ b/examples/1.9.x/client-rest/examples/storage/get-file-view.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/view HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/get-file.md b/examples/1.9.x/client-rest/examples/storage/get-file.md index 938831635..a442bc64d 100644 --- a/examples/1.9.x/client-rest/examples/storage/get-file.md +++ b/examples/1.9.x/client-rest/examples/storage/get-file.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/list-files.md b/examples/1.9.x/client-rest/examples/storage/list-files.md index ef8bb1fd5..c34a0e1a3 100644 --- a/examples/1.9.x/client-rest/examples/storage/list-files.md +++ b/examples/1.9.x/client-rest/examples/storage/list-files.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/storage/update-file.md b/examples/1.9.x/client-rest/examples/storage/update-file.md index ccf5d1689..e99dfa87e 100644 --- a/examples/1.9.x/client-rest/examples/storage/update-file.md +++ b/examples/1.9.x/client-rest/examples/storage/update-file.md @@ -2,7 +2,7 @@ PUT /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/create-operations.md b/examples/1.9.x/client-rest/examples/tablesdb/create-operations.md index ba46f73be..d4e248251 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/create-operations.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/create-operations.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/transactions/{transactionId}/operations HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/create-row.md b/examples/1.9.x/client-rest/examples/tablesdb/create-row.md index 6d9225e95..627cdc419 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/create-row.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/create-row.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/create-transaction.md b/examples/1.9.x/client-rest/examples/tablesdb/create-transaction.md index 275c51cd9..bbd4ffb41 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/create-transaction.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/create-transaction.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/transactions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/decrement-row-column.md b/examples/1.9.x/client-rest/examples/tablesdb/decrement-row-column.md index f272ad4db..4eb417bf3 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/decrement-row-column.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/decrement-row-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/delete-row.md b/examples/1.9.x/client-rest/examples/tablesdb/delete-row.md index 088522980..802d788d7 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/delete-row.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/delete-row.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/delete-transaction.md b/examples/1.9.x/client-rest/examples/tablesdb/delete-transaction.md index 997aaf844..d20b08586 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/delete-transaction.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/delete-transaction.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/get-row.md b/examples/1.9.x/client-rest/examples/tablesdb/get-row.md index afd316265..68e0fb5fe 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/get-row.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/get-row.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/get-transaction.md b/examples/1.9.x/client-rest/examples/tablesdb/get-transaction.md index 1a3f9479c..1dc41dbec 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/get-transaction.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/get-transaction.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/increment-row-column.md b/examples/1.9.x/client-rest/examples/tablesdb/increment-row-column.md index c5610d952..893d1f703 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/increment-row-column.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/increment-row-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/list-rows.md b/examples/1.9.x/client-rest/examples/tablesdb/list-rows.md index 163925ca2..af15210fd 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/list-rows.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/list-rows.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/list-transactions.md b/examples/1.9.x/client-rest/examples/tablesdb/list-transactions.md index 7c25b4c47..6431cb4e7 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/list-transactions.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/list-transactions.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/transactions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/update-row.md b/examples/1.9.x/client-rest/examples/tablesdb/update-row.md index 1ffc0a043..3fc285210 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/update-row.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/update-row.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/update-transaction.md b/examples/1.9.x/client-rest/examples/tablesdb/update-transaction.md index 5ae22255d..c836f8cde 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/update-transaction.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/update-transaction.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/tablesdb/upsert-row.md b/examples/1.9.x/client-rest/examples/tablesdb/upsert-row.md index b88f46911..c9e0a7c5d 100644 --- a/examples/1.9.x/client-rest/examples/tablesdb/upsert-row.md +++ b/examples/1.9.x/client-rest/examples/tablesdb/upsert-row.md @@ -2,7 +2,7 @@ PUT /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/create-membership.md b/examples/1.9.x/client-rest/examples/teams/create-membership.md index 4b25a48ff..14cbb753a 100644 --- a/examples/1.9.x/client-rest/examples/teams/create-membership.md +++ b/examples/1.9.x/client-rest/examples/teams/create-membership.md @@ -2,7 +2,7 @@ POST /v1/teams/{teamId}/memberships HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/create.md b/examples/1.9.x/client-rest/examples/teams/create.md index 13fb9e7fc..7f7796da6 100644 --- a/examples/1.9.x/client-rest/examples/teams/create.md +++ b/examples/1.9.x/client-rest/examples/teams/create.md @@ -2,7 +2,7 @@ POST /v1/teams HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/delete-membership.md b/examples/1.9.x/client-rest/examples/teams/delete-membership.md index 2ca35047b..ffe511532 100644 --- a/examples/1.9.x/client-rest/examples/teams/delete-membership.md +++ b/examples/1.9.x/client-rest/examples/teams/delete-membership.md @@ -2,7 +2,7 @@ DELETE /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/delete.md b/examples/1.9.x/client-rest/examples/teams/delete.md index 4ce0175d2..8276a9417 100644 --- a/examples/1.9.x/client-rest/examples/teams/delete.md +++ b/examples/1.9.x/client-rest/examples/teams/delete.md @@ -2,7 +2,7 @@ DELETE /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/get-membership.md b/examples/1.9.x/client-rest/examples/teams/get-membership.md index d07f76645..55f82319b 100644 --- a/examples/1.9.x/client-rest/examples/teams/get-membership.md +++ b/examples/1.9.x/client-rest/examples/teams/get-membership.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/get-prefs.md b/examples/1.9.x/client-rest/examples/teams/get-prefs.md index f6fdda6ab..16af3d333 100644 --- a/examples/1.9.x/client-rest/examples/teams/get-prefs.md +++ b/examples/1.9.x/client-rest/examples/teams/get-prefs.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/prefs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/get.md b/examples/1.9.x/client-rest/examples/teams/get.md index e148ca737..d335dbc68 100644 --- a/examples/1.9.x/client-rest/examples/teams/get.md +++ b/examples/1.9.x/client-rest/examples/teams/get.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/list-memberships.md b/examples/1.9.x/client-rest/examples/teams/list-memberships.md index 3338b69a3..0d75b45a3 100644 --- a/examples/1.9.x/client-rest/examples/teams/list-memberships.md +++ b/examples/1.9.x/client-rest/examples/teams/list-memberships.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/memberships HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/list.md b/examples/1.9.x/client-rest/examples/teams/list.md index 4f2424d47..dd800deb5 100644 --- a/examples/1.9.x/client-rest/examples/teams/list.md +++ b/examples/1.9.x/client-rest/examples/teams/list.md @@ -1,7 +1,7 @@ ```http GET /v1/teams HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/update-membership-status.md b/examples/1.9.x/client-rest/examples/teams/update-membership-status.md index 9dacefb3c..d9f376fbb 100644 --- a/examples/1.9.x/client-rest/examples/teams/update-membership-status.md +++ b/examples/1.9.x/client-rest/examples/teams/update-membership-status.md @@ -2,7 +2,7 @@ PATCH /v1/teams/{teamId}/memberships/{membershipId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/update-membership.md b/examples/1.9.x/client-rest/examples/teams/update-membership.md index aa701b623..48bcca2f2 100644 --- a/examples/1.9.x/client-rest/examples/teams/update-membership.md +++ b/examples/1.9.x/client-rest/examples/teams/update-membership.md @@ -2,7 +2,7 @@ PATCH /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/update-name.md b/examples/1.9.x/client-rest/examples/teams/update-name.md index 47f22c54c..b21ebbd75 100644 --- a/examples/1.9.x/client-rest/examples/teams/update-name.md +++ b/examples/1.9.x/client-rest/examples/teams/update-name.md @@ -2,7 +2,7 @@ PUT /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/client-rest/examples/teams/update-prefs.md b/examples/1.9.x/client-rest/examples/teams/update-prefs.md index d3561e125..ec1eefacc 100644 --- a/examples/1.9.x/client-rest/examples/teams/update-prefs.md +++ b/examples/1.9.x/client-rest/examples/teams/update-prefs.md @@ -2,7 +2,7 @@ PUT /v1/teams/{teamId}/prefs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/console-cli/examples/advisor/delete-report.md b/examples/1.9.x/console-cli/examples/advisor/delete-report.md new file mode 100644 index 000000000..03ad2aba9 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/advisor/delete-report.md @@ -0,0 +1,4 @@ +```bash +appwrite advisor delete-report \ + --report-id +``` diff --git a/examples/1.9.x/console-cli/examples/advisor/get-insight.md b/examples/1.9.x/console-cli/examples/advisor/get-insight.md new file mode 100644 index 000000000..d8c15a818 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/advisor/get-insight.md @@ -0,0 +1,5 @@ +```bash +appwrite advisor get-insight \ + --report-id \ + --insight-id +``` diff --git a/examples/1.9.x/console-cli/examples/advisor/get-report.md b/examples/1.9.x/console-cli/examples/advisor/get-report.md new file mode 100644 index 000000000..72ce61244 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/advisor/get-report.md @@ -0,0 +1,4 @@ +```bash +appwrite advisor get-report \ + --report-id +``` diff --git a/examples/1.9.x/console-cli/examples/advisor/list-insights.md b/examples/1.9.x/console-cli/examples/advisor/list-insights.md new file mode 100644 index 000000000..31b1a8dcb --- /dev/null +++ b/examples/1.9.x/console-cli/examples/advisor/list-insights.md @@ -0,0 +1,5 @@ +```bash +appwrite advisor list-insights \ + --report-id \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/advisor/list-reports.md b/examples/1.9.x/console-cli/examples/advisor/list-reports.md new file mode 100644 index 000000000..50abda665 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/advisor/list-reports.md @@ -0,0 +1,4 @@ +```bash +appwrite advisor list-reports \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-backup.md b/examples/1.9.x/console-cli/examples/compute/create-database-backup.md new file mode 100644 index 000000000..9048959c4 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-backup.md @@ -0,0 +1,4 @@ +```bash +appwrite compute create-database-backup \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-branch.md b/examples/1.9.x/console-cli/examples/compute/create-database-branch.md new file mode 100644 index 000000000..35da2cfc2 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-branch.md @@ -0,0 +1,4 @@ +```bash +appwrite compute create-database-branch \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-connection.md b/examples/1.9.x/console-cli/examples/compute/create-database-connection.md new file mode 100644 index 000000000..334ba26fc --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-connection.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-connection \ + --database-id \ + --username +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-execution.md b/examples/1.9.x/console-cli/examples/compute/create-database-execution.md new file mode 100644 index 000000000..2f0e3c504 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-execution.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-execution \ + --database-id \ + --sql +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-extension.md b/examples/1.9.x/console-cli/examples/compute/create-database-extension.md new file mode 100644 index 000000000..d55a94ec7 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-extension.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-extension \ + --database-id \ + --name +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-failover.md b/examples/1.9.x/console-cli/examples/compute/create-database-failover.md new file mode 100644 index 000000000..6f6f8fa06 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-failover.md @@ -0,0 +1,4 @@ +```bash +appwrite compute create-database-failover \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-migration.md b/examples/1.9.x/console-cli/examples/compute/create-database-migration.md new file mode 100644 index 000000000..2f515f862 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-migration.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-migration \ + --database-id \ + --target-type shared +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-query-explanation.md b/examples/1.9.x/console-cli/examples/compute/create-database-query-explanation.md new file mode 100644 index 000000000..1df2b067b --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-query-explanation.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-query-explanation \ + --database-id \ + --query +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-restoration.md b/examples/1.9.x/console-cli/examples/compute/create-database-restoration.md new file mode 100644 index 000000000..54fe480ac --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-restoration.md @@ -0,0 +1,4 @@ +```bash +appwrite compute create-database-restoration \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-schema-preview.md b/examples/1.9.x/console-cli/examples/compute/create-database-schema-preview.md new file mode 100644 index 000000000..411b5f22c --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-schema-preview.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-schema-preview \ + --database-id \ + --sql +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database-upgrade.md b/examples/1.9.x/console-cli/examples/compute/create-database-upgrade.md new file mode 100644 index 000000000..a94ded34f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database-upgrade.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database-upgrade \ + --database-id \ + --target-version +``` diff --git a/examples/1.9.x/console-cli/examples/compute/create-database.md b/examples/1.9.x/console-cli/examples/compute/create-database.md new file mode 100644 index 000000000..e94009d0e --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/create-database.md @@ -0,0 +1,5 @@ +```bash +appwrite compute create-database \ + --database-id \ + --name +``` diff --git a/examples/1.9.x/console-cli/examples/compute/delete-database-backup.md b/examples/1.9.x/console-cli/examples/compute/delete-database-backup.md new file mode 100644 index 000000000..8354ba0c5 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/delete-database-backup.md @@ -0,0 +1,5 @@ +```bash +appwrite compute delete-database-backup \ + --database-id \ + --backup-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/delete-database-branch.md b/examples/1.9.x/console-cli/examples/compute/delete-database-branch.md new file mode 100644 index 000000000..40971fdd2 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/delete-database-branch.md @@ -0,0 +1,5 @@ +```bash +appwrite compute delete-database-branch \ + --database-id \ + --branch-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/delete-database-connection.md b/examples/1.9.x/console-cli/examples/compute/delete-database-connection.md new file mode 100644 index 000000000..3ac05d97d --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/delete-database-connection.md @@ -0,0 +1,5 @@ +```bash +appwrite compute delete-database-connection \ + --database-id \ + --connection-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/delete-database-extension.md b/examples/1.9.x/console-cli/examples/compute/delete-database-extension.md new file mode 100644 index 000000000..67a5bcc15 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/delete-database-extension.md @@ -0,0 +1,5 @@ +```bash +appwrite compute delete-database-extension \ + --database-id \ + --extension-name +``` diff --git a/examples/1.9.x/console-cli/examples/compute/delete-database.md b/examples/1.9.x/console-cli/examples/compute/delete-database.md new file mode 100644 index 000000000..b2ad2f1bc --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/delete-database.md @@ -0,0 +1,4 @@ +```bash +appwrite compute delete-database \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-backup.md b/examples/1.9.x/console-cli/examples/compute/get-database-backup.md new file mode 100644 index 000000000..cacbb595c --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-backup.md @@ -0,0 +1,5 @@ +```bash +appwrite compute get-database-backup \ + --database-id \ + --backup-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-credentials.md b/examples/1.9.x/console-cli/examples/compute/get-database-credentials.md new file mode 100644 index 000000000..2a401f5a2 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-credentials.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-credentials \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-ha-status.md b/examples/1.9.x/console-cli/examples/compute/get-database-ha-status.md new file mode 100644 index 000000000..f4c1c07fd --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-ha-status.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-ha-status \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-insights.md b/examples/1.9.x/console-cli/examples/compute/get-database-insights.md new file mode 100644 index 000000000..353e3e79c --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-insights.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-insights \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-metrics.md b/examples/1.9.x/console-cli/examples/compute/get-database-metrics.md new file mode 100644 index 000000000..ab701bd7b --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-metrics.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-metrics \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-pitr-windows.md b/examples/1.9.x/console-cli/examples/compute/get-database-pitr-windows.md new file mode 100644 index 000000000..71ddcf1b5 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-pitr-windows.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-pitr-windows \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-pooler.md b/examples/1.9.x/console-cli/examples/compute/get-database-pooler.md new file mode 100644 index 000000000..8481a7a90 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-pooler.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-pooler \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-restoration.md b/examples/1.9.x/console-cli/examples/compute/get-database-restoration.md new file mode 100644 index 000000000..14ee5500d --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-restoration.md @@ -0,0 +1,5 @@ +```bash +appwrite compute get-database-restoration \ + --database-id \ + --restoration-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-schema.md b/examples/1.9.x/console-cli/examples/compute/get-database-schema.md new file mode 100644 index 000000000..d6b9dcb72 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-schema.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-schema \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-status.md b/examples/1.9.x/console-cli/examples/compute/get-database-status.md new file mode 100644 index 000000000..51502fcb4 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-status.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-status \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database-usage.md b/examples/1.9.x/console-cli/examples/compute/get-database-usage.md new file mode 100644 index 000000000..fad8ad841 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database-usage.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database-usage \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/get-database.md b/examples/1.9.x/console-cli/examples/compute/get-database.md new file mode 100644 index 000000000..ab3c576e6 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/get-database.md @@ -0,0 +1,4 @@ +```bash +appwrite compute get-database \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-backups.md b/examples/1.9.x/console-cli/examples/compute/list-database-backups.md new file mode 100644 index 000000000..032a40741 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-backups.md @@ -0,0 +1,5 @@ +```bash +appwrite compute list-database-backups \ + --database-id \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-branches.md b/examples/1.9.x/console-cli/examples/compute/list-database-branches.md new file mode 100644 index 000000000..9dbe85a2e --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-branches.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-branches \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-connections.md b/examples/1.9.x/console-cli/examples/compute/list-database-connections.md new file mode 100644 index 000000000..71be63630 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-connections.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-connections \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-extensions.md b/examples/1.9.x/console-cli/examples/compute/list-database-extensions.md new file mode 100644 index 000000000..919d87ffb --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-extensions.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-extensions \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-logs.md b/examples/1.9.x/console-cli/examples/compute/list-database-logs.md new file mode 100644 index 000000000..454198205 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-logs.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-logs \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-queries.md b/examples/1.9.x/console-cli/examples/compute/list-database-queries.md new file mode 100644 index 000000000..dabf6ef64 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-queries.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-queries \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-database-restorations.md b/examples/1.9.x/console-cli/examples/compute/list-database-restorations.md new file mode 100644 index 000000000..7b0ce4374 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-database-restorations.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-database-restorations \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/list-databases.md b/examples/1.9.x/console-cli/examples/compute/list-databases.md new file mode 100644 index 000000000..4bf8a4880 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/list-databases.md @@ -0,0 +1,4 @@ +```bash +appwrite compute list-databases \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/compute/update-database-backup-storage.md b/examples/1.9.x/console-cli/examples/compute/update-database-backup-storage.md new file mode 100644 index 000000000..04083a13e --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/update-database-backup-storage.md @@ -0,0 +1,8 @@ +```bash +appwrite compute update-database-backup-storage \ + --database-id \ + --provider s3 \ + --bucket \ + --access-key \ + --secret-key +``` diff --git a/examples/1.9.x/console-cli/examples/compute/update-database-credentials.md b/examples/1.9.x/console-cli/examples/compute/update-database-credentials.md new file mode 100644 index 000000000..c03773e9f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/update-database-credentials.md @@ -0,0 +1,4 @@ +```bash +appwrite compute update-database-credentials \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/update-database-maintenance-window.md b/examples/1.9.x/console-cli/examples/compute/update-database-maintenance-window.md new file mode 100644 index 000000000..745f97208 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/update-database-maintenance-window.md @@ -0,0 +1,6 @@ +```bash +appwrite compute update-database-maintenance-window \ + --database-id \ + --day sun \ + --hour-utc 0 +``` diff --git a/examples/1.9.x/console-cli/examples/compute/update-database-pooler.md b/examples/1.9.x/console-cli/examples/compute/update-database-pooler.md new file mode 100644 index 000000000..1152c0652 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/update-database-pooler.md @@ -0,0 +1,4 @@ +```bash +appwrite compute update-database-pooler \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/compute/update-database.md b/examples/1.9.x/console-cli/examples/compute/update-database.md new file mode 100644 index 000000000..20b32de9d --- /dev/null +++ b/examples/1.9.x/console-cli/examples/compute/update-database.md @@ -0,0 +1,4 @@ +```bash +appwrite compute update-database \ + --database-id +``` diff --git a/examples/1.9.x/console-cli/examples/presences/delete.md b/examples/1.9.x/console-cli/examples/presences/delete.md new file mode 100644 index 000000000..c64c0006f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/delete.md @@ -0,0 +1,4 @@ +```bash +appwrite presences delete \ + --presence-id +``` diff --git a/examples/1.9.x/console-cli/examples/presences/get-usage.md b/examples/1.9.x/console-cli/examples/presences/get-usage.md new file mode 100644 index 000000000..65daeca2b --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/get-usage.md @@ -0,0 +1,3 @@ +```bash +appwrite presences get-usage +``` diff --git a/examples/1.9.x/console-cli/examples/presences/get.md b/examples/1.9.x/console-cli/examples/presences/get.md new file mode 100644 index 000000000..86a1b5d7e --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/get.md @@ -0,0 +1,4 @@ +```bash +appwrite presences get \ + --presence-id +``` diff --git a/examples/1.9.x/console-cli/examples/presences/list.md b/examples/1.9.x/console-cli/examples/presences/list.md new file mode 100644 index 000000000..83c776663 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/list.md @@ -0,0 +1,4 @@ +```bash +appwrite presences list \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/presences/update-presence.md b/examples/1.9.x/console-cli/examples/presences/update-presence.md new file mode 100644 index 000000000..800fd721f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/update-presence.md @@ -0,0 +1,5 @@ +```bash +appwrite presences update-presence \ + --presence-id \ + --user-id +``` diff --git a/examples/1.9.x/console-cli/examples/presences/upsert.md b/examples/1.9.x/console-cli/examples/presences/upsert.md new file mode 100644 index 000000000..4261cc0c5 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/presences/upsert.md @@ -0,0 +1,6 @@ +```bash +appwrite presences upsert \ + --presence-id \ + --user-id \ + --status +``` diff --git a/examples/1.9.x/console-cli/examples/project/get.md b/examples/1.9.x/console-cli/examples/project/get.md new file mode 100644 index 000000000..a1a1b4b5f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/project/get.md @@ -0,0 +1,3 @@ +```bash +appwrite project get +``` diff --git a/examples/1.9.x/console-cli/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/console-cli/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..dfd873344 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/project/update-deny-aliased-email-policy.md @@ -0,0 +1,4 @@ +```bash +appwrite project update-deny-aliased-email-policy \ + --enabled false +``` diff --git a/examples/1.9.x/console-cli/examples/usage/list-events.md b/examples/1.9.x/console-cli/examples/usage/list-events.md new file mode 100644 index 000000000..32cb9dc1c --- /dev/null +++ b/examples/1.9.x/console-cli/examples/usage/list-events.md @@ -0,0 +1,4 @@ +```bash +appwrite usage list-events \ + --limit 25 +``` diff --git a/examples/1.9.x/console-cli/examples/usage/list-gauges.md b/examples/1.9.x/console-cli/examples/usage/list-gauges.md new file mode 100644 index 000000000..f4d9ddb4f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/usage/list-gauges.md @@ -0,0 +1,4 @@ +```bash +appwrite usage list-gauges \ + --limit 25 +``` diff --git a/examples/1.9.x/console-web/examples/advisor/delete-report.md b/examples/1.9.x/console-web/examples/advisor/delete-report.md new file mode 100644 index 000000000..d549dddb1 --- /dev/null +++ b/examples/1.9.x/console-web/examples/advisor/delete-report.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Advisor } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const advisor = new Advisor(client); + +const result = await advisor.deleteReport({ + reportId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/advisor/get-insight.md b/examples/1.9.x/console-web/examples/advisor/get-insight.md new file mode 100644 index 000000000..bf59a7ed3 --- /dev/null +++ b/examples/1.9.x/console-web/examples/advisor/get-insight.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Advisor } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const advisor = new Advisor(client); + +const result = await advisor.getInsight({ + reportId: '', + insightId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/advisor/get-report.md b/examples/1.9.x/console-web/examples/advisor/get-report.md new file mode 100644 index 000000000..cdb466364 --- /dev/null +++ b/examples/1.9.x/console-web/examples/advisor/get-report.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Advisor } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const advisor = new Advisor(client); + +const result = await advisor.getReport({ + reportId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/advisor/list-insights.md b/examples/1.9.x/console-web/examples/advisor/list-insights.md new file mode 100644 index 000000000..e3d978679 --- /dev/null +++ b/examples/1.9.x/console-web/examples/advisor/list-insights.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Advisor } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const advisor = new Advisor(client); + +const result = await advisor.listInsights({ + reportId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/advisor/list-reports.md b/examples/1.9.x/console-web/examples/advisor/list-reports.md new file mode 100644 index 000000000..5cf736e57 --- /dev/null +++ b/examples/1.9.x/console-web/examples/advisor/list-reports.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Advisor } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const advisor = new Advisor(client); + +const result = await advisor.listReports({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` 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 0f7a92168..cfbe46a35 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 @@ -20,7 +20,7 @@ const result = avatars.getScreenshot({ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional fullpage: true, // optional locale: 'en-US', // optional - timezone: Timezone.AmericaNewYork, // optional + timezone: Timezone.AfricaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/console-web/examples/compute/create-database-backup.md b/examples/1.9.x/console-web/examples/compute/create-database-backup.md new file mode 100644 index 000000000..2f5597fdf --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-backup.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute, Type } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseBackup({ + databaseId: '', + type: Type.Full // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-branch.md b/examples/1.9.x/console-web/examples/compute/create-database-branch.md new file mode 100644 index 000000000..67a02c626 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-branch.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseBranch({ + databaseId: '', + branchId: '', // optional + ttl: 300 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-connection.md b/examples/1.9.x/console-web/examples/compute/create-database-connection.md new file mode 100644 index 000000000..63376f04d --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-connection.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseConnection({ + databaseId: '', + username: '', + role: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-execution.md b/examples/1.9.x/console-web/examples/compute/create-database-execution.md new file mode 100644 index 000000000..4308bd397 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-execution.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseExecution({ + databaseId: '', + sql: '', + bindings: {}, // optional + timeoutSeconds: 1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-extension.md b/examples/1.9.x/console-web/examples/compute/create-database-extension.md new file mode 100644 index 000000000..ef35473dd --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-extension.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseExtension({ + databaseId: '', + name: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-failover.md b/examples/1.9.x/console-web/examples/compute/create-database-failover.md new file mode 100644 index 000000000..d66e81914 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-failover.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseFailover({ + databaseId: '', + targetReplicaId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-migration.md b/examples/1.9.x/console-web/examples/compute/create-database-migration.md new file mode 100644 index 000000000..bd98065cf --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-migration.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute, TargetType } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseMigration({ + databaseId: '', + targetType: TargetType.Shared +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-query-explanation.md b/examples/1.9.x/console-web/examples/compute/create-database-query-explanation.md new file mode 100644 index 000000000..b041fb632 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-query-explanation.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseQueryExplanation({ + databaseId: '', + query: '', + analyze: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-restoration.md b/examples/1.9.x/console-web/examples/compute/create-database-restoration.md new file mode 100644 index 000000000..e5085992c --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-restoration.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Compute, Type } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseRestoration({ + databaseId: '', + type: Type.Backup, // optional + backupId: '', // optional + targetTime: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-schema-preview.md b/examples/1.9.x/console-web/examples/compute/create-database-schema-preview.md new file mode 100644 index 000000000..f0fecfa66 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-schema-preview.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseSchemaPreview({ + databaseId: '', + sql: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database-upgrade.md b/examples/1.9.x/console-web/examples/compute/create-database-upgrade.md new file mode 100644 index 000000000..94ea1c719 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database-upgrade.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabaseUpgrade({ + databaseId: '', + targetVersion: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/create-database.md b/examples/1.9.x/console-web/examples/compute/create-database.md new file mode 100644 index 000000000..f58520e16 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/create-database.md @@ -0,0 +1,44 @@ +```javascript +import { Client, Compute, Engine, Version, Region, Type, Backend, StorageClass, HighAvailabilitySyncMode } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.createDatabase({ + databaseId: '', + name: '', + engine: Engine.Postgres, // optional + version: Version.Postgres17, // optional + region: Region.Fra, // optional + type: Type.Shared, // optional + specification: '', // optional + backend: Backend.Prisma, // optional + cpu: 125, // optional + memory: 128, // optional + storage: 1, // optional + storageClass: StorageClass.Ssd, // optional + storageMaxGb: 0, // optional + highAvailability: false, // optional + highAvailabilityReplicaCount: 0, // optional + highAvailabilitySyncMode: HighAvailabilitySyncMode.Async, // optional + networkMaxConnections: 10, // optional + networkIdleTimeoutSeconds: 60, // optional + networkIPAllowlist: [], // optional + idleTimeoutMinutes: 5, // optional + backupEnabled: false, // optional + backupPitr: false, // optional + backupCron: '', // optional + backupRetentionDays: 1, // optional + pitrRetentionDays: 1, // optional + storageAutoscaling: false, // optional + storageAutoscalingThresholdPercent: 50, // optional + storageAutoscalingMaxGb: 0, // optional + metricsEnabled: false, // optional + poolerEnabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/delete-database-backup.md b/examples/1.9.x/console-web/examples/compute/delete-database-backup.md new file mode 100644 index 000000000..650a377a5 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/delete-database-backup.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.deleteDatabaseBackup({ + databaseId: '', + backupId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/delete-database-branch.md b/examples/1.9.x/console-web/examples/compute/delete-database-branch.md new file mode 100644 index 000000000..d75cdbbbe --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/delete-database-branch.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.deleteDatabaseBranch({ + databaseId: '', + branchId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/delete-database-connection.md b/examples/1.9.x/console-web/examples/compute/delete-database-connection.md new file mode 100644 index 000000000..a1114da54 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/delete-database-connection.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.deleteDatabaseConnection({ + databaseId: '', + connectionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/delete-database-extension.md b/examples/1.9.x/console-web/examples/compute/delete-database-extension.md new file mode 100644 index 000000000..1ca0fc97d --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/delete-database-extension.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.deleteDatabaseExtension({ + databaseId: '', + extensionName: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/delete-database.md b/examples/1.9.x/console-web/examples/compute/delete-database.md new file mode 100644 index 000000000..f9af218f3 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/delete-database.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.deleteDatabase({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-backup.md b/examples/1.9.x/console-web/examples/compute/get-database-backup.md new file mode 100644 index 000000000..ae9460dd4 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-backup.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseBackup({ + databaseId: '', + backupId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-credentials.md b/examples/1.9.x/console-web/examples/compute/get-database-credentials.md new file mode 100644 index 000000000..990ca0065 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-credentials.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseCredentials({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-ha-status.md b/examples/1.9.x/console-web/examples/compute/get-database-ha-status.md new file mode 100644 index 000000000..b54d506d7 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-ha-status.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseHAStatus({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-insights.md b/examples/1.9.x/console-web/examples/compute/get-database-insights.md new file mode 100644 index 000000000..c7a252212 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-insights.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute, Period } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseInsights({ + databaseId: '', + period: Period.OneHour, // optional + limit: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-metrics.md b/examples/1.9.x/console-web/examples/compute/get-database-metrics.md new file mode 100644 index 000000000..0b7492eeb --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-metrics.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute, Period } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseMetrics({ + databaseId: '', + period: Period.OneHour // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-pitr-windows.md b/examples/1.9.x/console-web/examples/compute/get-database-pitr-windows.md new file mode 100644 index 000000000..9112375ee --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-pitr-windows.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabasePITRWindows({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-pooler.md b/examples/1.9.x/console-web/examples/compute/get-database-pooler.md new file mode 100644 index 000000000..494f78669 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-pooler.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabasePooler({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-restoration.md b/examples/1.9.x/console-web/examples/compute/get-database-restoration.md new file mode 100644 index 000000000..da1637dc2 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-restoration.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseRestoration({ + databaseId: '', + restorationId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-schema.md b/examples/1.9.x/console-web/examples/compute/get-database-schema.md new file mode 100644 index 000000000..fcff3bab3 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-schema.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseSchema({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-status.md b/examples/1.9.x/console-web/examples/compute/get-database-status.md new file mode 100644 index 000000000..7d57a2279 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-status.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseStatus({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database-usage.md b/examples/1.9.x/console-web/examples/compute/get-database-usage.md new file mode 100644 index 000000000..73c335e7a --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database-usage.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute, Range } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabaseUsage({ + databaseId: '', + range: Range.TwentyFourHours // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/get-database.md b/examples/1.9.x/console-web/examples/compute/get-database.md new file mode 100644 index 000000000..6522195da --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/get-database.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.getDatabase({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-backups.md b/examples/1.9.x/console-web/examples/compute/list-database-backups.md new file mode 100644 index 000000000..cabb15788 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-backups.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseBackups({ + databaseId: '', + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-branches.md b/examples/1.9.x/console-web/examples/compute/list-database-branches.md new file mode 100644 index 000000000..067ae2475 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-branches.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseBranches({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-connections.md b/examples/1.9.x/console-web/examples/compute/list-database-connections.md new file mode 100644 index 000000000..beec11f04 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-connections.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseConnections({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-extensions.md b/examples/1.9.x/console-web/examples/compute/list-database-extensions.md new file mode 100644 index 000000000..5e71d2c26 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-extensions.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseExtensions({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-logs.md b/examples/1.9.x/console-web/examples/compute/list-database-logs.md new file mode 100644 index 000000000..789cbff8a --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseLogs({ + databaseId: '', + startTime: '', // optional + endTime: '', // optional + limit: 1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-queries.md b/examples/1.9.x/console-web/examples/compute/list-database-queries.md new file mode 100644 index 000000000..343487045 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-queries.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseQueries({ + databaseId: '', + limit: 1, // optional + thresholdMs: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-database-restorations.md b/examples/1.9.x/console-web/examples/compute/list-database-restorations.md new file mode 100644 index 000000000..2e43d526d --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-database-restorations.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Compute, Status, Type } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabaseRestorations({ + databaseId: '', + status: Status.Pending, // optional + type: Type.Backup, // optional + limit: 1, // optional + offset: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/list-databases.md b/examples/1.9.x/console-web/examples/compute/list-databases.md new file mode 100644 index 000000000..d091bc2c2 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/list-databases.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.listDatabases({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/update-database-backup-storage.md b/examples/1.9.x/console-web/examples/compute/update-database-backup-storage.md new file mode 100644 index 000000000..b90b19732 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/update-database-backup-storage.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Compute, Provider } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.updateDatabaseBackupStorage({ + databaseId: '', + provider: Provider.S3, + bucket: '', + accessKey: '', + secretKey: '', + region: '', // optional + prefix: '', // optional + endpoint: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/update-database-credentials.md b/examples/1.9.x/console-web/examples/compute/update-database-credentials.md new file mode 100644 index 000000000..2aaf75bb9 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/update-database-credentials.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Compute } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.updateDatabaseCredentials({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/update-database-maintenance-window.md b/examples/1.9.x/console-web/examples/compute/update-database-maintenance-window.md new file mode 100644 index 000000000..d713b621d --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/update-database-maintenance-window.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Compute, Day } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.updateDatabaseMaintenanceWindow({ + databaseId: '', + day: Day.Sun, + hourUtc: 0 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/update-database-pooler.md b/examples/1.9.x/console-web/examples/compute/update-database-pooler.md new file mode 100644 index 000000000..a0f3bb8bd --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/update-database-pooler.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Compute, Mode } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.updateDatabasePooler({ + databaseId: '', + mode: Mode.Transaction, // optional + maxConnections: 10, // optional + defaultPoolSize: 1, // optional + readWriteSplitting: false, // optional + poolerCpuRequest: '', // optional + poolerCpuLimit: '', // optional + poolerMemoryRequest: '', // optional + poolerMemoryLimit: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/compute/update-database.md b/examples/1.9.x/console-web/examples/compute/update-database.md new file mode 100644 index 000000000..bb7091617 --- /dev/null +++ b/examples/1.9.x/console-web/examples/compute/update-database.md @@ -0,0 +1,45 @@ +```javascript +import { Client, Compute, Status, StorageClass, SqlApiAllowedStatements } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const compute = new Compute(client); + +const result = await compute.updateDatabase({ + databaseId: '', + name: '', // optional + status: Status.Ready, // optional + specification: '', // optional + cpu: 125, // optional + memory: 128, // optional + storage: 1, // optional + storageClass: StorageClass.Ssd, // optional + highAvailability: false, // optional + highAvailabilityReplicaCount: 0, // optional + networkMaxConnections: 10, // optional + networkIdleTimeoutSeconds: 60, // optional + networkIPAllowlist: [], // optional + idleTimeoutMinutes: 5, // optional + backupEnabled: false, // optional + backupPitr: false, // optional + backupCron: '', // optional + backupRetentionDays: 1, // optional + pitrRetentionDays: 1, // optional + storageAutoscaling: false, // optional + storageAutoscalingThresholdPercent: 50, // optional + storageAutoscalingMaxGb: 0, // optional + poolerEnabled: false, // optional + metricsEnabled: false, // optional + metricsTraceSampleRate: null, // optional + metricsSlowQueryLogThresholdMs: 0, // optional + sqlApiEnabled: false, // optional + sqlApiAllowedStatements: [SqlApiAllowedStatements.Select], // optional + sqlApiMaxRows: 1, // optional + sqlApiMaxBytes: 1024, // optional + sqlApiTimeoutSeconds: 1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/console/get-email-template.md b/examples/1.9.x/console-web/examples/console/get-email-template.md new file mode 100644 index 000000000..8f16d121f --- /dev/null +++ b/examples/1.9.x/console-web/examples/console/get-email-template.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Console, ProjectEmailTemplateId, ProjectEmailTemplateLocale } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const xconsole = new Console(client); + +const result = await xconsole.getEmailTemplate({ + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/console/list-organization-scopes.md b/examples/1.9.x/console-web/examples/console/list-organization-scopes.md new file mode 100644 index 000000000..0253b9659 --- /dev/null +++ b/examples/1.9.x/console-web/examples/console/list-organization-scopes.md @@ -0,0 +1,13 @@ +```javascript +import { Client, Console } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const xconsole = new Console(client); + +const result = await xconsole.listOrganizationScopes(); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/documentsdb/list.md b/examples/1.9.x/console-web/examples/documentsdb/list.md index fa0cd8662..1812eebcc 100644 --- a/examples/1.9.x/console-web/examples/documentsdb/list.md +++ b/examples/1.9.x/console-web/examples/documentsdb/list.md @@ -9,7 +9,6 @@ const documentsDB = new DocumentsDB(client); const result = await documentsDB.list({ queries: [], // optional - search: '', // optional total: false // optional }); diff --git a/examples/1.9.x/console-web/examples/presences/delete.md b/examples/1.9.x/console-web/examples/presences/delete.md new file mode 100644 index 000000000..7773d3a29 --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/delete.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Presences } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.delete({ + presenceId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/presences/get-usage.md b/examples/1.9.x/console-web/examples/presences/get-usage.md new file mode 100644 index 000000000..5f9549801 --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/get-usage.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Presences, UsageRange } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.getUsage({ + range: UsageRange.24h // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/presences/get.md b/examples/1.9.x/console-web/examples/presences/get.md new file mode 100644 index 000000000..c2d4ca0d7 --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/get.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Presences } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.get({ + presenceId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/presences/list.md b/examples/1.9.x/console-web/examples/presences/list.md new file mode 100644 index 000000000..5cd70b446 --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/list.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Presences } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.list({ + queries: [], // optional + total: false, // optional + ttl: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/presences/update-presence.md b/examples/1.9.x/console-web/examples/presences/update-presence.md new file mode 100644 index 000000000..f735ef39c --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/update-presence.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Presences, Permission, Role } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.updatePresence({ + presenceId: '', + userId: '', + status: '', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional + permissions: [Permission.read(Role.any())], // optional + purge: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/presences/upsert.md b/examples/1.9.x/console-web/examples/presences/upsert.md new file mode 100644 index 000000000..fa7d6cba1 --- /dev/null +++ b/examples/1.9.x/console-web/examples/presences/upsert.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Presences, Permission, Role } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const presences = new Presences(client); + +const result = await presences.upsert({ + presenceId: '', + userId: '', + status: '', + permissions: [Permission.read(Role.any())], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {} // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/project/create-ephemeral-key.md b/examples/1.9.x/console-web/examples/project/create-ephemeral-key.md index c41bb8092..233f3b8e5 100644 --- a/examples/1.9.x/console-web/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/console-web/examples/project/create-ephemeral-key.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, Scopes } from "@appwrite.io/console"; +import { Client, Project, ProjectKeyScopes } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.createEphemeralKey({ - scopes: [Scopes.ProjectRead], + scopes: [ProjectKeyScopes.ProjectRead], duration: 600 }); diff --git a/examples/1.9.x/console-web/examples/project/create-key.md b/examples/1.9.x/console-web/examples/project/create-key.md index 362d4ca0c..b0feb14f3 100644 --- a/examples/1.9.x/console-web/examples/project/create-key.md +++ b/examples/1.9.x/console-web/examples/project/create-key.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, Scopes } from "@appwrite.io/console"; +import { Client, Project, ProjectKeyScopes } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -10,7 +10,7 @@ const project = new Project(client); const result = await project.createKey({ keyId: '', name: '', - scopes: [Scopes.ProjectRead], + scopes: [ProjectKeyScopes.ProjectRead], expire: '2020-10-15T06:38:00.000+00:00' // optional }); diff --git a/examples/1.9.x/console-web/examples/project/get-email-template.md b/examples/1.9.x/console-web/examples/project/get-email-template.md index 90eb063c5..48e3b230a 100644 --- a/examples/1.9.x/console-web/examples/project/get-email-template.md +++ b/examples/1.9.x/console-web/examples/project/get-email-template.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, EmailTemplateType, EmailTemplateLocale } from "@appwrite.io/console"; +import { Client, Project, ProjectEmailTemplateId, ProjectEmailTemplateLocale } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,8 +8,8 @@ const client = new Client() const project = new Project(client); const result = await project.getEmailTemplate({ - templateId: EmailTemplateType.Verification, - locale: EmailTemplateLocale.Af // optional + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af // optional }); console.log(result); diff --git a/examples/1.9.x/console-web/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/console-web/examples/project/get-o-auth-2-provider.md index cb07b451a..ed4d80920 100644 --- a/examples/1.9.x/console-web/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/console-web/examples/project/get-o-auth-2-provider.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, OAuthProvider } from "@appwrite.io/console"; +import { Client, Project, ProjectOAuthProviderId } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.getOAuth2Provider({ - providerId: OAuthProvider.Amazon + providerId: ProjectOAuthProviderId.Amazon }); console.log(result); diff --git a/examples/1.9.x/console-web/examples/project/get-policy.md b/examples/1.9.x/console-web/examples/project/get-policy.md index 45fec071d..be06807f9 100644 --- a/examples/1.9.x/console-web/examples/project/get-policy.md +++ b/examples/1.9.x/console-web/examples/project/get-policy.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, ProjectPolicy } from "@appwrite.io/console"; +import { Client, Project, ProjectPolicyId } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.getPolicy({ - policyId: ProjectPolicy.PasswordDictionary + policyId: ProjectPolicyId.PasswordDictionary }); console.log(result); diff --git a/examples/1.9.x/console-web/examples/project/get.md b/examples/1.9.x/console-web/examples/project/get.md new file mode 100644 index 000000000..2d4d9f943 --- /dev/null +++ b/examples/1.9.x/console-web/examples/project/get.md @@ -0,0 +1,13 @@ +```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.get(); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/project/update-auth-method.md b/examples/1.9.x/console-web/examples/project/update-auth-method.md index fc0dfdfdc..e92f12456 100644 --- a/examples/1.9.x/console-web/examples/project/update-auth-method.md +++ b/examples/1.9.x/console-web/examples/project/update-auth-method.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, AuthMethod } from "@appwrite.io/console"; +import { Client, Project, ProjectAuthMethodId } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.updateAuthMethod({ - methodId: AuthMethod.EmailPassword, + methodId: ProjectAuthMethodId.EmailPassword, enabled: false }); diff --git a/examples/1.9.x/console-web/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/console-web/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..f9a253de2 --- /dev/null +++ b/examples/1.9.x/console-web/examples/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/project/update-email-template.md b/examples/1.9.x/console-web/examples/project/update-email-template.md index 2ede3e88a..7b2951f93 100644 --- a/examples/1.9.x/console-web/examples/project/update-email-template.md +++ b/examples/1.9.x/console-web/examples/project/update-email-template.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, EmailTemplateType, EmailTemplateLocale } from "@appwrite.io/console"; +import { Client, Project, ProjectEmailTemplateId, ProjectEmailTemplateLocale } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,8 +8,8 @@ const client = new Client() const project = new Project(client); const result = await project.updateEmailTemplate({ - templateId: EmailTemplateType.Verification, - locale: EmailTemplateLocale.Af, // optional + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af, // optional subject: '', // optional message: '', // optional senderName: '', // optional diff --git a/examples/1.9.x/console-web/examples/project/update-key.md b/examples/1.9.x/console-web/examples/project/update-key.md index 3d3282d44..636419e00 100644 --- a/examples/1.9.x/console-web/examples/project/update-key.md +++ b/examples/1.9.x/console-web/examples/project/update-key.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, Scopes } from "@appwrite.io/console"; +import { Client, Project, ProjectKeyScopes } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -10,7 +10,7 @@ const project = new Project(client); const result = await project.updateKey({ keyId: '', name: '', - scopes: [Scopes.ProjectRead], + scopes: [ProjectKeyScopes.ProjectRead], expire: '2020-10-15T06:38:00.000+00:00' // optional }); diff --git a/examples/1.9.x/console-web/examples/project/update-o-auth-2-google.md b/examples/1.9.x/console-web/examples/project/update-o-auth-2-google.md index b4ecf45f5..c84567de7 100644 --- a/examples/1.9.x/console-web/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/console-web/examples/project/update-o-auth-2-google.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, Prompt } from "@appwrite.io/console"; +import { Client, Project, ProjectOAuth2GooglePrompt } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -10,7 +10,7 @@ const project = new Project(client); const result = await project.updateOAuth2Google({ clientId: '', // optional clientSecret: '', // optional - prompt: [Prompt.None], // optional + prompt: [ProjectOAuth2GooglePrompt.None], // optional enabled: false // optional }); diff --git a/examples/1.9.x/console-web/examples/project/update-protocol.md b/examples/1.9.x/console-web/examples/project/update-protocol.md index ffdc8e56f..e966ad7c4 100644 --- a/examples/1.9.x/console-web/examples/project/update-protocol.md +++ b/examples/1.9.x/console-web/examples/project/update-protocol.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, ProtocolId } from "@appwrite.io/console"; +import { Client, Project, ProjectProtocolId } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.updateProtocol({ - protocolId: ProtocolId.Rest, + protocolId: ProjectProtocolId.Rest, enabled: false }); diff --git a/examples/1.9.x/console-web/examples/project/update-service.md b/examples/1.9.x/console-web/examples/project/update-service.md index 460a809fd..b3b1ffd30 100644 --- a/examples/1.9.x/console-web/examples/project/update-service.md +++ b/examples/1.9.x/console-web/examples/project/update-service.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, ServiceId } from "@appwrite.io/console"; +import { Client, Project, ProjectServiceId } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -8,7 +8,7 @@ const client = new Client() const project = new Project(client); const result = await project.updateService({ - serviceId: ServiceId.Account, + serviceId: ProjectServiceId.Account, enabled: false }); diff --git a/examples/1.9.x/console-web/examples/project/update-smtp.md b/examples/1.9.x/console-web/examples/project/update-smtp.md index 0fefca64b..c2236be50 100644 --- a/examples/1.9.x/console-web/examples/project/update-smtp.md +++ b/examples/1.9.x/console-web/examples/project/update-smtp.md @@ -1,5 +1,5 @@ ```javascript -import { Client, Project, Secure } from "@appwrite.io/console"; +import { Client, Project, ProjectSMTPSecure } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -16,7 +16,7 @@ const result = await project.updateSMTP({ senderName: '', // optional replyToEmail: 'email@example.com', // optional replyToName: '', // optional - secure: Secure.Tls, // optional + secure: ProjectSMTPSecure.Tls, // optional enabled: false // optional }); diff --git a/examples/1.9.x/console-web/examples/projects/create.md b/examples/1.9.x/console-web/examples/projects/create.md index eb8749de4..21b9488a6 100644 --- a/examples/1.9.x/console-web/examples/projects/create.md +++ b/examples/1.9.x/console-web/examples/projects/create.md @@ -11,16 +11,7 @@ const result = await projects.create({ projectId: '', name: '', teamId: '', - region: Region.Fra, // optional - description: '', // optional - logo: '', // optional - url: 'https://example.com', // optional - legalName: '', // optional - legalCountry: '', // optional - legalState: '', // optional - legalCity: '', // optional - legalAddress: '', // optional - legalTaxId: '' // optional + region: Region.Fra // optional }); console.log(result); 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 new file mode 100644 index 000000000..c8767f08e --- /dev/null +++ b/examples/1.9.x/console-web/examples/usage/list-events.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Usage } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const usage = new Usage(client); + +const result = await usage.listEvents({ + queries: [], // optional + total: false // 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 new file mode 100644 index 000000000..fe14dc556 --- /dev/null +++ b/examples/1.9.x/console-web/examples/usage/list-gauges.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Usage } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const usage = new Usage(client); + +const result = await usage.listGauges({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/vectorsdb/list.md b/examples/1.9.x/console-web/examples/vectorsdb/list.md index e7649d01b..d09c6f988 100644 --- a/examples/1.9.x/console-web/examples/vectorsdb/list.md +++ b/examples/1.9.x/console-web/examples/vectorsdb/list.md @@ -9,7 +9,6 @@ const vectorsDB = new VectorsDB(client); const result = await vectorsDB.list({ queries: [], // optional - search: '', // optional total: false // optional }); diff --git a/examples/1.9.x/server-dart/examples/account/create-push-target.md b/examples/1.9.x/server-dart/examples/account/create-push-target.md new file mode 100644 index 000000000..253a78c8d --- /dev/null +++ b/examples/1.9.x/server-dart/examples/account/create-push-target.md @@ -0,0 +1,16 @@ +```dart +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 + +Account account = Account(client); + +Target result = await account.createPushTarget( + targetId: '', + identifier: '', + providerId: '', // (optional) +); +``` diff --git a/examples/1.9.x/server-dart/examples/account/delete-push-target.md b/examples/1.9.x/server-dart/examples/account/delete-push-target.md new file mode 100644 index 000000000..038879972 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/account/delete-push-target.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 + .setSession(''); // The user session to authenticate with + +Account account = Account(client); + +await account.deletePushTarget( + targetId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/account/update-push-target.md b/examples/1.9.x/server-dart/examples/account/update-push-target.md new file mode 100644 index 000000000..cdacc98e3 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/account/update-push-target.md @@ -0,0 +1,15 @@ +```dart +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 + +Account account = Account(client); + +Target result = await account.updatePushTarget( + targetId: '', + identifier: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/advisor/delete-report.md b/examples/1.9.x/server-dart/examples/advisor/delete-report.md new file mode 100644 index 000000000..d490e8209 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/advisor/delete-report.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 + +Advisor advisor = Advisor(client); + +await advisor.deleteReport( + reportId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/advisor/get-insight.md b/examples/1.9.x/server-dart/examples/advisor/get-insight.md new file mode 100644 index 000000000..1920eb8e2 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/advisor/get-insight.md @@ -0,0 +1,15 @@ +```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 + +Advisor advisor = Advisor(client); + +Insight result = await advisor.getInsight( + reportId: '', + insightId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/advisor/get-report.md b/examples/1.9.x/server-dart/examples/advisor/get-report.md new file mode 100644 index 000000000..4266ff05c --- /dev/null +++ b/examples/1.9.x/server-dart/examples/advisor/get-report.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 + +Advisor advisor = Advisor(client); + +Report result = await advisor.getReport( + reportId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/advisor/list-insights.md b/examples/1.9.x/server-dart/examples/advisor/list-insights.md new file mode 100644 index 000000000..16d874f77 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/advisor/list-insights.md @@ -0,0 +1,16 @@ +```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 + +Advisor advisor = Advisor(client); + +InsightList result = await advisor.listInsights( + reportId: '', + queries: [], // (optional) + total: false, // (optional) +); +``` diff --git a/examples/1.9.x/server-dart/examples/advisor/list-reports.md b/examples/1.9.x/server-dart/examples/advisor/list-reports.md new file mode 100644 index 000000000..292c014b1 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/advisor/list-reports.md @@ -0,0 +1,15 @@ +```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 + +Advisor advisor = Advisor(client); + +ReportList result = await advisor.listReports( + queries: [], // (optional) + total: false, // (optional) +); +``` 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 eb480002e..774e94428 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 @@ -22,7 +22,7 @@ Uint8List result = await avatars.getScreenshot( userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // (optional) fullpage: true, // (optional) locale: 'en-US', // (optional) - timezone: enums.Timezone.americaNewYork, // (optional) + timezone: enums.Timezone.africaAbidjan, // (optional) latitude: 37.7749, // (optional) longitude: -122.4194, // (optional) accuracy: 100, // (optional) diff --git a/examples/1.9.x/server-dart/examples/presences/delete.md b/examples/1.9.x/server-dart/examples/presences/delete.md new file mode 100644 index 000000000..50c950a61 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/presences/delete.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 + +Presences presences = Presences(client); + +await presences.delete( + presenceId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/presences/get.md b/examples/1.9.x/server-dart/examples/presences/get.md new file mode 100644 index 000000000..f8025297f --- /dev/null +++ b/examples/1.9.x/server-dart/examples/presences/get.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 + +Presences presences = Presences(client); + +Presence result = await presences.get( + presenceId: '', +); +``` diff --git a/examples/1.9.x/server-dart/examples/presences/list.md b/examples/1.9.x/server-dart/examples/presences/list.md new file mode 100644 index 000000000..d0a87bb13 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/presences/list.md @@ -0,0 +1,16 @@ +```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 + +Presences presences = Presences(client); + +PresenceList result = await presences.list( + queries: [], // (optional) + total: false, // (optional) + ttl: 0, // (optional) +); +``` diff --git a/examples/1.9.x/server-dart/examples/presences/update-presence.md b/examples/1.9.x/server-dart/examples/presences/update-presence.md new file mode 100644 index 000000000..445afd19e --- /dev/null +++ b/examples/1.9.x/server-dart/examples/presences/update-presence.md @@ -0,0 +1,22 @@ +```dart +import 'package:dart_appwrite/dart_appwrite.dart'; +import 'package:dart_appwrite/permission.dart'; +import 'package:dart_appwrite/role.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +Presences presences = Presences(client); + +Presence result = await presences.updatePresence( + presenceId: '', + userId: '', + status: '', // (optional) + expiresAt: '2020-10-15T06:38:00.000+00:00', // (optional) + metadata: {}, // (optional) + permissions: [Permission.read(Role.any())], // (optional) + purge: false, // (optional) +); +``` diff --git a/examples/1.9.x/server-dart/examples/presences/upsert.md b/examples/1.9.x/server-dart/examples/presences/upsert.md new file mode 100644 index 000000000..7602a2eb2 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/presences/upsert.md @@ -0,0 +1,21 @@ +```dart +import 'package:dart_appwrite/dart_appwrite.dart'; +import 'package:dart_appwrite/permission.dart'; +import 'package:dart_appwrite/role.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +Presences presences = Presences(client); + +Presence result = await presences.upsert( + presenceId: '', + userId: '', + status: '', + permissions: [Permission.read(Role.any())], // (optional) + expiresAt: '2020-10-15T06:38:00.000+00:00', // (optional) + metadata: {}, // (optional) +); +``` diff --git a/examples/1.9.x/server-dart/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-dart/examples/project/create-ephemeral-key.md index dda5801ef..cdc4ab77d 100644 --- a/examples/1.9.x/server-dart/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-dart/examples/project/create-ephemeral-key.md @@ -10,7 +10,7 @@ Client client = Client() Project project = Project(client); EphemeralKey result = await project.createEphemeralKey( - scopes: [enums.Scopes.projectRead], + scopes: [enums.ProjectKeyScopes.projectRead], duration: 600, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/create-key.md b/examples/1.9.x/server-dart/examples/project/create-key.md index 9e1d8e8e9..787ad0932 100644 --- a/examples/1.9.x/server-dart/examples/project/create-key.md +++ b/examples/1.9.x/server-dart/examples/project/create-key.md @@ -12,7 +12,7 @@ Project project = Project(client); Key result = await project.createKey( keyId: '', name: '', - scopes: [enums.Scopes.projectRead], + scopes: [enums.ProjectKeyScopes.projectRead], expire: '2020-10-15T06:38:00.000+00:00', // (optional) ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/get-email-template.md b/examples/1.9.x/server-dart/examples/project/get-email-template.md index 798a0186f..c98e0c6b2 100644 --- a/examples/1.9.x/server-dart/examples/project/get-email-template.md +++ b/examples/1.9.x/server-dart/examples/project/get-email-template.md @@ -10,7 +10,7 @@ Client client = Client() Project project = Project(client); EmailTemplate result = await project.getEmailTemplate( - templateId: enums.EmailTemplateType.verification, - locale: enums.EmailTemplateLocale.af, // (optional) + templateId: enums.ProjectEmailTemplateId.verification, + locale: enums.ProjectEmailTemplateLocale.af, // (optional) ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-dart/examples/project/get-o-auth-2-provider.md index 6ae652bb8..e487cda2b 100644 --- a/examples/1.9.x/server-dart/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-dart/examples/project/get-o-auth-2-provider.md @@ -10,6 +10,6 @@ Client client = Client() Project project = Project(client); dynamic result = await project.getOAuth2Provider( - providerId: enums.OAuthProvider.amazon, + providerId: enums.ProjectOAuthProviderId.amazon, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/get-policy.md b/examples/1.9.x/server-dart/examples/project/get-policy.md index a9dc7c0f6..d8c856440 100644 --- a/examples/1.9.x/server-dart/examples/project/get-policy.md +++ b/examples/1.9.x/server-dart/examples/project/get-policy.md @@ -10,6 +10,6 @@ Client client = Client() Project project = Project(client); dynamic result = await project.getPolicy( - policyId: enums.ProjectPolicy.passwordDictionary, + policyId: enums.ProjectPolicyId.passwordDictionary, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/get.md b/examples/1.9.x/server-dart/examples/project/get.md new file mode 100644 index 000000000..a2bfa10fc --- /dev/null +++ b/examples/1.9.x/server-dart/examples/project/get.md @@ -0,0 +1,12 @@ +```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.get(); +``` diff --git a/examples/1.9.x/server-dart/examples/project/update-auth-method.md b/examples/1.9.x/server-dart/examples/project/update-auth-method.md index 2512c133b..167c591a0 100644 --- a/examples/1.9.x/server-dart/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-dart/examples/project/update-auth-method.md @@ -10,7 +10,7 @@ Client client = Client() Project project = Project(client); Project result = await project.updateAuthMethod( - methodId: enums.AuthMethod.emailPassword, + methodId: enums.ProjectAuthMethodId.emailPassword, enabled: false, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-dart/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..78eb7db44 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy( + enabled: false, +); +``` diff --git a/examples/1.9.x/server-dart/examples/project/update-email-template.md b/examples/1.9.x/server-dart/examples/project/update-email-template.md index a378f794a..15f0a8fa7 100644 --- a/examples/1.9.x/server-dart/examples/project/update-email-template.md +++ b/examples/1.9.x/server-dart/examples/project/update-email-template.md @@ -10,8 +10,8 @@ Client client = Client() Project project = Project(client); EmailTemplate result = await project.updateEmailTemplate( - templateId: enums.EmailTemplateType.verification, - locale: enums.EmailTemplateLocale.af, // (optional) + templateId: enums.ProjectEmailTemplateId.verification, + locale: enums.ProjectEmailTemplateLocale.af, // (optional) subject: '', // (optional) message: '', // (optional) senderName: '', // (optional) diff --git a/examples/1.9.x/server-dart/examples/project/update-key.md b/examples/1.9.x/server-dart/examples/project/update-key.md index 86379d8cb..b15aa92f4 100644 --- a/examples/1.9.x/server-dart/examples/project/update-key.md +++ b/examples/1.9.x/server-dart/examples/project/update-key.md @@ -12,7 +12,7 @@ Project project = Project(client); Key result = await project.updateKey( keyId: '', name: '', - scopes: [enums.Scopes.projectRead], + scopes: [enums.ProjectKeyScopes.projectRead], expire: '2020-10-15T06:38:00.000+00:00', // (optional) ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-dart/examples/project/update-o-auth-2-google.md index 6e95c2982..8c563f6bd 100644 --- a/examples/1.9.x/server-dart/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-dart/examples/project/update-o-auth-2-google.md @@ -12,7 +12,7 @@ Project project = Project(client); OAuth2Google result = await project.updateOAuth2Google( clientId: '', // (optional) clientSecret: '', // (optional) - prompt: [enums.Prompt.none], // (optional) + prompt: [enums.ProjectOAuth2GooglePrompt.none], // (optional) enabled: false, // (optional) ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/update-protocol.md b/examples/1.9.x/server-dart/examples/project/update-protocol.md index 86501059d..261273d65 100644 --- a/examples/1.9.x/server-dart/examples/project/update-protocol.md +++ b/examples/1.9.x/server-dart/examples/project/update-protocol.md @@ -10,7 +10,7 @@ Client client = Client() Project project = Project(client); Project result = await project.updateProtocol( - protocolId: enums.ProtocolId.rest, + protocolId: enums.ProjectProtocolId.rest, enabled: false, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/update-service.md b/examples/1.9.x/server-dart/examples/project/update-service.md index 828b640ad..2d4f71526 100644 --- a/examples/1.9.x/server-dart/examples/project/update-service.md +++ b/examples/1.9.x/server-dart/examples/project/update-service.md @@ -10,7 +10,7 @@ Client client = Client() Project project = Project(client); Project result = await project.updateService( - serviceId: enums.ServiceId.account, + serviceId: enums.ProjectServiceId.account, enabled: false, ); ``` diff --git a/examples/1.9.x/server-dart/examples/project/update-smtp.md b/examples/1.9.x/server-dart/examples/project/update-smtp.md index ce64a691a..c688371c6 100644 --- a/examples/1.9.x/server-dart/examples/project/update-smtp.md +++ b/examples/1.9.x/server-dart/examples/project/update-smtp.md @@ -18,7 +18,7 @@ Project result = await project.updateSMTP( senderName: '', // (optional) replyToEmail: 'email@example.com', // (optional) replyToName: '', // (optional) - secure: enums.Secure.tls, // (optional) + secure: enums.ProjectSMTPSecure.tls, // (optional) enabled: false, // (optional) ); ``` 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 new file mode 100644 index 000000000..c679b764f --- /dev/null +++ b/examples/1.9.x/server-dart/examples/usage/list-events.md @@ -0,0 +1,15 @@ +```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 + +Usage usage = Usage(client); + +UsageEventList result = await usage.listEvents( + queries: [], // (optional) + total: false, // (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 new file mode 100644 index 000000000..c0c334e49 --- /dev/null +++ b/examples/1.9.x/server-dart/examples/usage/list-gauges.md @@ -0,0 +1,15 @@ +```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 + +Usage usage = Usage(client); + +UsageGaugeList result = await usage.listGauges( + queries: [], // (optional) + total: false, // (optional) +); +``` diff --git a/examples/1.9.x/server-dotnet/examples/account/create-push-target.md b/examples/1.9.x/server-dotnet/examples/account/create-push-target.md new file mode 100644 index 000000000..6249acedc --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/account/create-push-target.md @@ -0,0 +1,17 @@ +```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 + .SetSession(""); // The user session to authenticate with + +Account account = new Account(client); + +Target result = await account.CreatePushTarget( + targetId: "", + identifier: "", + providerId: "" // optional +);``` diff --git a/examples/1.9.x/server-dotnet/examples/account/delete-push-target.md b/examples/1.9.x/server-dotnet/examples/account/delete-push-target.md new file mode 100644 index 000000000..1b82f88b2 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/account/delete-push-target.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 + .SetSession(""); // The user session to authenticate with + +Account account = new Account(client); + +await account.DeletePushTarget( + targetId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/account/update-push-target.md b/examples/1.9.x/server-dotnet/examples/account/update-push-target.md new file mode 100644 index 000000000..07be9e573 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/account/update-push-target.md @@ -0,0 +1,16 @@ +```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 + .SetSession(""); // The user session to authenticate with + +Account account = new Account(client); + +Target result = await account.UpdatePushTarget( + targetId: "", + identifier: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/advisor/delete-report.md b/examples/1.9.x/server-dotnet/examples/advisor/delete-report.md new file mode 100644 index 000000000..188f2334f --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/advisor/delete-report.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 + +Advisor advisor = new Advisor(client); + +await advisor.DeleteReport( + reportId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/advisor/get-insight.md b/examples/1.9.x/server-dotnet/examples/advisor/get-insight.md new file mode 100644 index 000000000..cd5c72a55 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/advisor/get-insight.md @@ -0,0 +1,16 @@ +```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 + +Advisor advisor = new Advisor(client); + +Insight result = await advisor.GetInsight( + reportId: "", + insightId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/advisor/get-report.md b/examples/1.9.x/server-dotnet/examples/advisor/get-report.md new file mode 100644 index 000000000..9e8834f5b --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/advisor/get-report.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 + +Advisor advisor = new Advisor(client); + +Report result = await advisor.GetReport( + reportId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/advisor/list-insights.md b/examples/1.9.x/server-dotnet/examples/advisor/list-insights.md new file mode 100644 index 000000000..7e2c6479b --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/advisor/list-insights.md @@ -0,0 +1,17 @@ +```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 + +Advisor advisor = new Advisor(client); + +InsightList result = await advisor.ListInsights( + reportId: "", + queries: new List(), // optional + total: false // optional +);``` diff --git a/examples/1.9.x/server-dotnet/examples/advisor/list-reports.md b/examples/1.9.x/server-dotnet/examples/advisor/list-reports.md new file mode 100644 index 000000000..ba3266daa --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/advisor/list-reports.md @@ -0,0 +1,16 @@ +```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 + +Advisor advisor = new Advisor(client); + +ReportList result = await advisor.ListReports( + queries: new List(), // optional + total: false // optional +);``` 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 4c35a02cf..98c7170be 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 @@ -24,7 +24,7 @@ byte[] result = await avatars.GetScreenshot( userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // optional fullpage: true, // optional locale: "en-US", // optional - timezone: Timezone.AmericaNewYork, // optional + timezone: Timezone.AfricaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/server-dotnet/examples/presences/delete.md b/examples/1.9.x/server-dotnet/examples/presences/delete.md new file mode 100644 index 000000000..0431d249e --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/presences/delete.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 + +Presences presences = new Presences(client); + +await presences.Delete( + presenceId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/presences/get.md b/examples/1.9.x/server-dotnet/examples/presences/get.md new file mode 100644 index 000000000..acf317de0 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/presences/get.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 + +Presences presences = new Presences(client); + +Presence result = await presences.Get( + presenceId: "" +);``` diff --git a/examples/1.9.x/server-dotnet/examples/presences/list.md b/examples/1.9.x/server-dotnet/examples/presences/list.md new file mode 100644 index 000000000..e1bd96536 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/presences/list.md @@ -0,0 +1,17 @@ +```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 + +Presences presences = new Presences(client); + +PresenceList result = await presences.List( + queries: new List(), // optional + total: false, // optional + ttl: 0 // optional +);``` diff --git a/examples/1.9.x/server-dotnet/examples/presences/update-presence.md b/examples/1.9.x/server-dotnet/examples/presences/update-presence.md new file mode 100644 index 000000000..8727b075d --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/presences/update-presence.md @@ -0,0 +1,21 @@ +```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 + +Presences presences = new Presences(client); + +Presence result = await presences.UpdatePresence( + presenceId: "", + userId: "", + status: "", // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [object], // optional + permissions: new List { Permission.Read(Role.Any()) }, // optional + purge: false // optional +);``` diff --git a/examples/1.9.x/server-dotnet/examples/presences/upsert.md b/examples/1.9.x/server-dotnet/examples/presences/upsert.md new file mode 100644 index 000000000..4c73ddc4d --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/presences/upsert.md @@ -0,0 +1,20 @@ +```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 + +Presences presences = new Presences(client); + +Presence result = await presences.Upsert( + presenceId: "", + userId: "", + status: "", + permissions: new List { Permission.Read(Role.Any()) }, // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [object] // optional +);``` diff --git a/examples/1.9.x/server-dotnet/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-dotnet/examples/project/create-ephemeral-key.md index f85d02a83..afc4fc281 100644 --- a/examples/1.9.x/server-dotnet/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-dotnet/examples/project/create-ephemeral-key.md @@ -12,6 +12,6 @@ Client client = new Client() Project project = new Project(client); EphemeralKey result = await project.CreateEphemeralKey( - scopes: new List<Scopes> { Scopes.ProjectRead }, + scopes: new List<ProjectKeyScopes> { ProjectKeyScopes.ProjectRead }, duration: 600 );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/create-key.md b/examples/1.9.x/server-dotnet/examples/project/create-key.md index 905e1a470..bc4d52ab5 100644 --- a/examples/1.9.x/server-dotnet/examples/project/create-key.md +++ b/examples/1.9.x/server-dotnet/examples/project/create-key.md @@ -14,6 +14,6 @@ Project project = new Project(client); Key result = await project.CreateKey( keyId: "", name: "", - scopes: new List<Scopes> { Scopes.ProjectRead }, + scopes: new List<ProjectKeyScopes> { ProjectKeyScopes.ProjectRead }, expire: "2020-10-15T06:38:00.000+00:00" // optional );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/get-email-template.md b/examples/1.9.x/server-dotnet/examples/project/get-email-template.md index 24f25a92c..64c4435a8 100644 --- a/examples/1.9.x/server-dotnet/examples/project/get-email-template.md +++ b/examples/1.9.x/server-dotnet/examples/project/get-email-template.md @@ -12,6 +12,6 @@ Client client = new Client() Project project = new Project(client); EmailTemplate result = await project.GetEmailTemplate( - templateId: EmailTemplateType.Verification, - locale: EmailTemplateLocale.Af // optional + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af // optional );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-dotnet/examples/project/get-o-auth-2-provider.md index 4b26ce899..c7128c370 100644 --- a/examples/1.9.x/server-dotnet/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-dotnet/examples/project/get-o-auth-2-provider.md @@ -12,5 +12,5 @@ Client client = new Client() Project project = new Project(client); object result = await project.GetOAuth2Provider( - providerId: OAuthProvider.Amazon + providerId: ProjectOAuthProviderId.Amazon );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/get-policy.md b/examples/1.9.x/server-dotnet/examples/project/get-policy.md index 66b3c07a6..21a1bc230 100644 --- a/examples/1.9.x/server-dotnet/examples/project/get-policy.md +++ b/examples/1.9.x/server-dotnet/examples/project/get-policy.md @@ -12,5 +12,5 @@ Client client = new Client() Project project = new Project(client); object result = await project.GetPolicy( - policyId: ProjectPolicy.PasswordDictionary + policyId: ProjectPolicyId.PasswordDictionary );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/get.md b/examples/1.9.x/server-dotnet/examples/project/get.md new file mode 100644 index 000000000..bba3b0883 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/project/get.md @@ -0,0 +1,14 @@ +```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.Get(); +``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-auth-method.md b/examples/1.9.x/server-dotnet/examples/project/update-auth-method.md index 50d58f9ab..8e5b41991 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-auth-method.md @@ -12,6 +12,6 @@ Client client = new Client() Project project = new Project(client); Project result = await project.UpdateAuthMethod( - methodId: AuthMethod.EmailPassword, + methodId: ProjectAuthMethodId.EmailPassword, enabled: false );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-dotnet/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..b902b5747 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/project/update-deny-aliased-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.UpdateDenyAliasedEmailPolicy( + enabled: false +);``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-email-template.md b/examples/1.9.x/server-dotnet/examples/project/update-email-template.md index 11de29c4e..97277a96b 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-email-template.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-email-template.md @@ -12,8 +12,8 @@ Client client = new Client() Project project = new Project(client); EmailTemplate result = await project.UpdateEmailTemplate( - templateId: EmailTemplateType.Verification, - locale: EmailTemplateLocale.Af, // optional + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af, // optional subject: "", // optional message: "", // optional senderName: "", // optional diff --git a/examples/1.9.x/server-dotnet/examples/project/update-key.md b/examples/1.9.x/server-dotnet/examples/project/update-key.md index debe7dfd0..23da35d99 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-key.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-key.md @@ -14,6 +14,6 @@ Project project = new Project(client); Key result = await project.UpdateKey( keyId: "", name: "", - scopes: new List<Scopes> { Scopes.ProjectRead }, + scopes: new List<ProjectKeyScopes> { ProjectKeyScopes.ProjectRead }, expire: "2020-10-15T06:38:00.000+00:00" // optional );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-dotnet/examples/project/update-o-auth-2-google.md index 1932d03ee..d9e7308a8 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-o-auth-2-google.md @@ -14,6 +14,6 @@ Project project = new Project(client); OAuth2Google result = await project.UpdateOAuth2Google( clientId: "", // optional clientSecret: "", // optional - prompt: new List<Prompt> { Prompt.None }, // optional + prompt: new List<ProjectOAuth2GooglePrompt> { ProjectOAuth2GooglePrompt.None }, // optional enabled: false // optional );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-protocol.md b/examples/1.9.x/server-dotnet/examples/project/update-protocol.md index 5ddbe9f42..0440e0b9d 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-protocol.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-protocol.md @@ -12,6 +12,6 @@ Client client = new Client() Project project = new Project(client); Project result = await project.UpdateProtocol( - protocolId: ProtocolId.Rest, + protocolId: ProjectProtocolId.Rest, enabled: false );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-service.md b/examples/1.9.x/server-dotnet/examples/project/update-service.md index bd3bc19c7..fd9c1effe 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-service.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-service.md @@ -12,6 +12,6 @@ Client client = new Client() Project project = new Project(client); Project result = await project.UpdateService( - serviceId: ServiceId.Account, + serviceId: ProjectServiceId.Account, enabled: false );``` diff --git a/examples/1.9.x/server-dotnet/examples/project/update-smtp.md b/examples/1.9.x/server-dotnet/examples/project/update-smtp.md index ba5bac1fe..c4918f4e7 100644 --- a/examples/1.9.x/server-dotnet/examples/project/update-smtp.md +++ b/examples/1.9.x/server-dotnet/examples/project/update-smtp.md @@ -20,6 +20,6 @@ Project result = await project.UpdateSMTP( senderName: "", // optional replyToEmail: "email@example.com", // optional replyToName: "", // optional - secure: Secure.Tls, // optional + secure: ProjectSMTPSecure.Tls, // optional enabled: false // optional );``` 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 new file mode 100644 index 000000000..162d1b161 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/usage/list-events.md @@ -0,0 +1,16 @@ +```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 + +Usage usage = new Usage(client); + +UsageEventList result = await usage.ListEvents( + queries: new List(), // optional + total: false // 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 new file mode 100644 index 000000000..e7ea2a851 --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/usage/list-gauges.md @@ -0,0 +1,16 @@ +```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 + +Usage usage = new Usage(client); + +UsageGaugeList result = await usage.ListGauges( + queries: new List(), // optional + total: false // optional +);``` diff --git a/examples/1.9.x/server-go/examples/account/create-anonymous-session.md b/examples/1.9.x/server-go/examples/account/create-anonymous-session.md index 8367a0d1c..7a8cb087c 100644 --- a/examples/1.9.x/server-go/examples/account/create-anonymous-session.md +++ b/examples/1.9.x/server-go/examples/account/create-anonymous-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-email-password-session.md b/examples/1.9.x/server-go/examples/account/create-email-password-session.md index 1c116b94e..7410ddd75 100644 --- a/examples/1.9.x/server-go/examples/account/create-email-password-session.md +++ b/examples/1.9.x/server-go/examples/account/create-email-password-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-email-token.md b/examples/1.9.x/server-go/examples/account/create-email-token.md index 2752f50aa..e90ba45e6 100644 --- a/examples/1.9.x/server-go/examples/account/create-email-token.md +++ b/examples/1.9.x/server-go/examples/account/create-email-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-email-verification.md b/examples/1.9.x/server-go/examples/account/create-email-verification.md index 7d058fcb3..46c6782cf 100644 --- a/examples/1.9.x/server-go/examples/account/create-email-verification.md +++ b/examples/1.9.x/server-go/examples/account/create-email-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-jwt.md b/examples/1.9.x/server-go/examples/account/create-jwt.md index d012b453a..a55208343 100644 --- a/examples/1.9.x/server-go/examples/account/create-jwt.md +++ b/examples/1.9.x/server-go/examples/account/create-jwt.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-magic-url-token.md b/examples/1.9.x/server-go/examples/account/create-magic-url-token.md index cd1ee7e24..aa6792aff 100644 --- a/examples/1.9.x/server-go/examples/account/create-magic-url-token.md +++ b/examples/1.9.x/server-go/examples/account/create-magic-url-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-mfa-authenticator.md b/examples/1.9.x/server-go/examples/account/create-mfa-authenticator.md index 9cd7283e3..8df4fd181 100644 --- a/examples/1.9.x/server-go/examples/account/create-mfa-authenticator.md +++ b/examples/1.9.x/server-go/examples/account/create-mfa-authenticator.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-mfa-challenge.md b/examples/1.9.x/server-go/examples/account/create-mfa-challenge.md index 9d2cc2b98..ccb5898b2 100644 --- a/examples/1.9.x/server-go/examples/account/create-mfa-challenge.md +++ b/examples/1.9.x/server-go/examples/account/create-mfa-challenge.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/account/create-mfa-recovery-codes.md index 2f3144edf..33f824ffe 100644 --- a/examples/1.9.x/server-go/examples/account/create-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/account/create-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-o-auth-2-token.md b/examples/1.9.x/server-go/examples/account/create-o-auth-2-token.md index 3467b5b34..c8da31bbb 100644 --- a/examples/1.9.x/server-go/examples/account/create-o-auth-2-token.md +++ b/examples/1.9.x/server-go/examples/account/create-o-auth-2-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-phone-token.md b/examples/1.9.x/server-go/examples/account/create-phone-token.md index d3529912e..c91d7192b 100644 --- a/examples/1.9.x/server-go/examples/account/create-phone-token.md +++ b/examples/1.9.x/server-go/examples/account/create-phone-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-phone-verification.md b/examples/1.9.x/server-go/examples/account/create-phone-verification.md index 8ebf1d7cb..8ecf3f5c6 100644 --- a/examples/1.9.x/server-go/examples/account/create-phone-verification.md +++ b/examples/1.9.x/server-go/examples/account/create-phone-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-push-target.md b/examples/1.9.x/server-go/examples/account/create-push-target.md new file mode 100644 index 000000000..05d005292 --- /dev/null +++ b/examples/1.9.x/server-go/examples/account/create-push-target.md @@ -0,0 +1,23 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithSession("") +) + +service := account.New(client) + +response, error := service.CreatePushTarget( + "", + "", + account.WithCreatePushTargetProviderId(""), +) +``` diff --git a/examples/1.9.x/server-go/examples/account/create-recovery.md b/examples/1.9.x/server-go/examples/account/create-recovery.md index 33112ba9d..242ddedc3 100644 --- a/examples/1.9.x/server-go/examples/account/create-recovery.md +++ b/examples/1.9.x/server-go/examples/account/create-recovery.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-session.md b/examples/1.9.x/server-go/examples/account/create-session.md index 47941bf00..c25f3ac70 100644 --- a/examples/1.9.x/server-go/examples/account/create-session.md +++ b/examples/1.9.x/server-go/examples/account/create-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create-verification.md b/examples/1.9.x/server-go/examples/account/create-verification.md index a5dde129a..ab8ca98a6 100644 --- a/examples/1.9.x/server-go/examples/account/create-verification.md +++ b/examples/1.9.x/server-go/examples/account/create-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/create.md b/examples/1.9.x/server-go/examples/account/create.md index 17c86c14f..9844f9409 100644 --- a/examples/1.9.x/server-go/examples/account/create.md +++ b/examples/1.9.x/server-go/examples/account/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/delete-identity.md b/examples/1.9.x/server-go/examples/account/delete-identity.md index e785e4379..54e5adad4 100644 --- a/examples/1.9.x/server-go/examples/account/delete-identity.md +++ b/examples/1.9.x/server-go/examples/account/delete-identity.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/delete-mfa-authenticator.md b/examples/1.9.x/server-go/examples/account/delete-mfa-authenticator.md index 714eed340..0def48210 100644 --- a/examples/1.9.x/server-go/examples/account/delete-mfa-authenticator.md +++ b/examples/1.9.x/server-go/examples/account/delete-mfa-authenticator.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/delete-push-target.md b/examples/1.9.x/server-go/examples/account/delete-push-target.md new file mode 100644 index 000000000..7fa1cafdd --- /dev/null +++ b/examples/1.9.x/server-go/examples/account/delete-push-target.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithSession("") +) + +service := account.New(client) + +response, error := service.DeletePushTarget( + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/account/delete-session.md b/examples/1.9.x/server-go/examples/account/delete-session.md index d900479ba..3bde43588 100644 --- a/examples/1.9.x/server-go/examples/account/delete-session.md +++ b/examples/1.9.x/server-go/examples/account/delete-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/delete-sessions.md b/examples/1.9.x/server-go/examples/account/delete-sessions.md index d669dc786..d0351d351 100644 --- a/examples/1.9.x/server-go/examples/account/delete-sessions.md +++ b/examples/1.9.x/server-go/examples/account/delete-sessions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/get-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/account/get-mfa-recovery-codes.md index 2db7374f4..e37c0a4a6 100644 --- a/examples/1.9.x/server-go/examples/account/get-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/account/get-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/get-prefs.md b/examples/1.9.x/server-go/examples/account/get-prefs.md index 78f2633f4..dcd569e6a 100644 --- a/examples/1.9.x/server-go/examples/account/get-prefs.md +++ b/examples/1.9.x/server-go/examples/account/get-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/get-session.md b/examples/1.9.x/server-go/examples/account/get-session.md index 9f4665f7c..5b29d6751 100644 --- a/examples/1.9.x/server-go/examples/account/get-session.md +++ b/examples/1.9.x/server-go/examples/account/get-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/get.md b/examples/1.9.x/server-go/examples/account/get.md index 6802c2570..2aca55af1 100644 --- a/examples/1.9.x/server-go/examples/account/get.md +++ b/examples/1.9.x/server-go/examples/account/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/list-identities.md b/examples/1.9.x/server-go/examples/account/list-identities.md index 01a450bc2..74f6d6b4e 100644 --- a/examples/1.9.x/server-go/examples/account/list-identities.md +++ b/examples/1.9.x/server-go/examples/account/list-identities.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/list-logs.md b/examples/1.9.x/server-go/examples/account/list-logs.md index 2c06e186e..36024a120 100644 --- a/examples/1.9.x/server-go/examples/account/list-logs.md +++ b/examples/1.9.x/server-go/examples/account/list-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/list-mfa-factors.md b/examples/1.9.x/server-go/examples/account/list-mfa-factors.md index 8ddab3a0c..ea5fa699c 100644 --- a/examples/1.9.x/server-go/examples/account/list-mfa-factors.md +++ b/examples/1.9.x/server-go/examples/account/list-mfa-factors.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/list-sessions.md b/examples/1.9.x/server-go/examples/account/list-sessions.md index d978f912f..658f15321 100644 --- a/examples/1.9.x/server-go/examples/account/list-sessions.md +++ b/examples/1.9.x/server-go/examples/account/list-sessions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-email-verification.md b/examples/1.9.x/server-go/examples/account/update-email-verification.md index 4f48bef15..f35c557bb 100644 --- a/examples/1.9.x/server-go/examples/account/update-email-verification.md +++ b/examples/1.9.x/server-go/examples/account/update-email-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-email.md b/examples/1.9.x/server-go/examples/account/update-email.md index 238e15da0..09f8e4128 100644 --- a/examples/1.9.x/server-go/examples/account/update-email.md +++ b/examples/1.9.x/server-go/examples/account/update-email.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-magic-url-session.md b/examples/1.9.x/server-go/examples/account/update-magic-url-session.md index a38f6fd6b..b32687677 100644 --- a/examples/1.9.x/server-go/examples/account/update-magic-url-session.md +++ b/examples/1.9.x/server-go/examples/account/update-magic-url-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-mfa-authenticator.md b/examples/1.9.x/server-go/examples/account/update-mfa-authenticator.md index 4f9a3a14c..ba4bb811e 100644 --- a/examples/1.9.x/server-go/examples/account/update-mfa-authenticator.md +++ b/examples/1.9.x/server-go/examples/account/update-mfa-authenticator.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-mfa-challenge.md b/examples/1.9.x/server-go/examples/account/update-mfa-challenge.md index 73a1b59ee..2b8d97347 100644 --- a/examples/1.9.x/server-go/examples/account/update-mfa-challenge.md +++ b/examples/1.9.x/server-go/examples/account/update-mfa-challenge.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/account/update-mfa-recovery-codes.md index c0f7ba670..6e20f8016 100644 --- a/examples/1.9.x/server-go/examples/account/update-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/account/update-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-mfa.md b/examples/1.9.x/server-go/examples/account/update-mfa.md index d7f49aac0..2a37127a3 100644 --- a/examples/1.9.x/server-go/examples/account/update-mfa.md +++ b/examples/1.9.x/server-go/examples/account/update-mfa.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-name.md b/examples/1.9.x/server-go/examples/account/update-name.md index eb333df8a..00e1e84c0 100644 --- a/examples/1.9.x/server-go/examples/account/update-name.md +++ b/examples/1.9.x/server-go/examples/account/update-name.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-password.md b/examples/1.9.x/server-go/examples/account/update-password.md index 35f256bc5..06c91d61e 100644 --- a/examples/1.9.x/server-go/examples/account/update-password.md +++ b/examples/1.9.x/server-go/examples/account/update-password.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-phone-session.md b/examples/1.9.x/server-go/examples/account/update-phone-session.md index 5bfc041eb..c2cb52243 100644 --- a/examples/1.9.x/server-go/examples/account/update-phone-session.md +++ b/examples/1.9.x/server-go/examples/account/update-phone-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-phone-verification.md b/examples/1.9.x/server-go/examples/account/update-phone-verification.md index 706e39e77..dac49195b 100644 --- a/examples/1.9.x/server-go/examples/account/update-phone-verification.md +++ b/examples/1.9.x/server-go/examples/account/update-phone-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-phone.md b/examples/1.9.x/server-go/examples/account/update-phone.md index c5f081b59..9cc4730b2 100644 --- a/examples/1.9.x/server-go/examples/account/update-phone.md +++ b/examples/1.9.x/server-go/examples/account/update-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-prefs.md b/examples/1.9.x/server-go/examples/account/update-prefs.md index 91121ae87..fd9ceda2c 100644 --- a/examples/1.9.x/server-go/examples/account/update-prefs.md +++ b/examples/1.9.x/server-go/examples/account/update-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-push-target.md b/examples/1.9.x/server-go/examples/account/update-push-target.md new file mode 100644 index 000000000..1e9eef082 --- /dev/null +++ b/examples/1.9.x/server-go/examples/account/update-push-target.md @@ -0,0 +1,22 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithSession("") +) + +service := account.New(client) + +response, error := service.UpdatePushTarget( + "", + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/account/update-recovery.md b/examples/1.9.x/server-go/examples/account/update-recovery.md index cdff7dbca..429edf412 100644 --- a/examples/1.9.x/server-go/examples/account/update-recovery.md +++ b/examples/1.9.x/server-go/examples/account/update-recovery.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-session.md b/examples/1.9.x/server-go/examples/account/update-session.md index e90038057..b66c4b6b1 100644 --- a/examples/1.9.x/server-go/examples/account/update-session.md +++ b/examples/1.9.x/server-go/examples/account/update-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-status.md b/examples/1.9.x/server-go/examples/account/update-status.md index 98e0ee41f..0bb0048a1 100644 --- a/examples/1.9.x/server-go/examples/account/update-status.md +++ b/examples/1.9.x/server-go/examples/account/update-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/account/update-verification.md b/examples/1.9.x/server-go/examples/account/update-verification.md index fac0b70da..66f09a782 100644 --- a/examples/1.9.x/server-go/examples/account/update-verification.md +++ b/examples/1.9.x/server-go/examples/account/update-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/account" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/account" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/activities/get-event.md b/examples/1.9.x/server-go/examples/activities/get-event.md index 2eb453944..63b4a859d 100644 --- a/examples/1.9.x/server-go/examples/activities/get-event.md +++ b/examples/1.9.x/server-go/examples/activities/get-event.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/activities" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/activities" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/activities/list-events.md b/examples/1.9.x/server-go/examples/activities/list-events.md index 527ddaafc..0c39e7274 100644 --- a/examples/1.9.x/server-go/examples/activities/list-events.md +++ b/examples/1.9.x/server-go/examples/activities/list-events.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/activities" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/activities" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/advisor/delete-report.md b/examples/1.9.x/server-go/examples/advisor/delete-report.md new file mode 100644 index 000000000..4d5c0e630 --- /dev/null +++ b/examples/1.9.x/server-go/examples/advisor/delete-report.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/advisor" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := advisor.New(client) + +response, error := service.DeleteReport( + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/advisor/get-insight.md b/examples/1.9.x/server-go/examples/advisor/get-insight.md new file mode 100644 index 000000000..a6b46eee5 --- /dev/null +++ b/examples/1.9.x/server-go/examples/advisor/get-insight.md @@ -0,0 +1,22 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/advisor" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := advisor.New(client) + +response, error := service.GetInsight( + "", + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/advisor/get-report.md b/examples/1.9.x/server-go/examples/advisor/get-report.md new file mode 100644 index 000000000..082b9fd8e --- /dev/null +++ b/examples/1.9.x/server-go/examples/advisor/get-report.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/advisor" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := advisor.New(client) + +response, error := service.GetReport( + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/advisor/list-insights.md b/examples/1.9.x/server-go/examples/advisor/list-insights.md new file mode 100644 index 000000000..05765ad73 --- /dev/null +++ b/examples/1.9.x/server-go/examples/advisor/list-insights.md @@ -0,0 +1,23 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/advisor" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := advisor.New(client) + +response, error := service.ListInsights( + "", + advisor.WithListInsightsQueries([]interface{}{}), + advisor.WithListInsightsTotal(false), +) +``` diff --git a/examples/1.9.x/server-go/examples/advisor/list-reports.md b/examples/1.9.x/server-go/examples/advisor/list-reports.md new file mode 100644 index 000000000..ba919d546 --- /dev/null +++ b/examples/1.9.x/server-go/examples/advisor/list-reports.md @@ -0,0 +1,22 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/advisor" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := advisor.New(client) + +response, error := service.ListReports( + advisor.WithListReportsQueries([]interface{}{}), + advisor.WithListReportsTotal(false), +) +``` 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 53f019b1a..795527a6a 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 a6014de49..f9cea7c88 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 12b778c17..09dff598c 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 7ba6df28d..5a1e68b5f 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 cd019ea2e..ec3b13108 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 cbf7a6561..d522a6871 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 d36133c21..39ea2dcef 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( 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 01de170c9..e199c01bd 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/avatars" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/avatars" ) client := client.New( @@ -28,7 +28,7 @@ response, error := service.GetScreenshot( avatars.WithGetScreenshotUserAgent("Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15"), avatars.WithGetScreenshotFullpage(true), avatars.WithGetScreenshotLocale("en-US"), - avatars.WithGetScreenshotTimezone("america/new_york"), + avatars.WithGetScreenshotTimezone("America/New_York"), avatars.WithGetScreenshotLatitude(37.7749), avatars.WithGetScreenshotLongitude(-122.4194), avatars.WithGetScreenshotAccuracy(100), diff --git a/examples/1.9.x/server-go/examples/backups/create-archive.md b/examples/1.9.x/server-go/examples/backups/create-archive.md index 2fb115757..9fc14e1bf 100644 --- a/examples/1.9.x/server-go/examples/backups/create-archive.md +++ b/examples/1.9.x/server-go/examples/backups/create-archive.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/create-policy.md b/examples/1.9.x/server-go/examples/backups/create-policy.md index 57fe20da5..a62ce8efc 100644 --- a/examples/1.9.x/server-go/examples/backups/create-policy.md +++ b/examples/1.9.x/server-go/examples/backups/create-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/create-restoration.md b/examples/1.9.x/server-go/examples/backups/create-restoration.md index 7f9614f91..d7a00351d 100644 --- a/examples/1.9.x/server-go/examples/backups/create-restoration.md +++ b/examples/1.9.x/server-go/examples/backups/create-restoration.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/delete-archive.md b/examples/1.9.x/server-go/examples/backups/delete-archive.md index 6efbbdfb1..8a44767d9 100644 --- a/examples/1.9.x/server-go/examples/backups/delete-archive.md +++ b/examples/1.9.x/server-go/examples/backups/delete-archive.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/delete-policy.md b/examples/1.9.x/server-go/examples/backups/delete-policy.md index f78a0afdc..740989d82 100644 --- a/examples/1.9.x/server-go/examples/backups/delete-policy.md +++ b/examples/1.9.x/server-go/examples/backups/delete-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/get-archive.md b/examples/1.9.x/server-go/examples/backups/get-archive.md index bf837e718..927ca8a7b 100644 --- a/examples/1.9.x/server-go/examples/backups/get-archive.md +++ b/examples/1.9.x/server-go/examples/backups/get-archive.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/get-policy.md b/examples/1.9.x/server-go/examples/backups/get-policy.md index 4b063492f..1ac6c8abf 100644 --- a/examples/1.9.x/server-go/examples/backups/get-policy.md +++ b/examples/1.9.x/server-go/examples/backups/get-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/get-restoration.md b/examples/1.9.x/server-go/examples/backups/get-restoration.md index b9d2e522a..916be261c 100644 --- a/examples/1.9.x/server-go/examples/backups/get-restoration.md +++ b/examples/1.9.x/server-go/examples/backups/get-restoration.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/list-archives.md b/examples/1.9.x/server-go/examples/backups/list-archives.md index 8f6a19cd9..e17c54ec9 100644 --- a/examples/1.9.x/server-go/examples/backups/list-archives.md +++ b/examples/1.9.x/server-go/examples/backups/list-archives.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/list-policies.md b/examples/1.9.x/server-go/examples/backups/list-policies.md index bef71bb52..c053b75fe 100644 --- a/examples/1.9.x/server-go/examples/backups/list-policies.md +++ b/examples/1.9.x/server-go/examples/backups/list-policies.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/list-restorations.md b/examples/1.9.x/server-go/examples/backups/list-restorations.md index df5239495..1e1274367 100644 --- a/examples/1.9.x/server-go/examples/backups/list-restorations.md +++ b/examples/1.9.x/server-go/examples/backups/list-restorations.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/backups/update-policy.md b/examples/1.9.x/server-go/examples/backups/update-policy.md index 568814b8a..26a6044b5 100644 --- a/examples/1.9.x/server-go/examples/backups/update-policy.md +++ b/examples/1.9.x/server-go/examples/backups/update-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/backups" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/backups" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-big-int-attribute.md b/examples/1.9.x/server-go/examples/databases/create-big-int-attribute.md index 51378c45a..db07a2381 100644 --- a/examples/1.9.x/server-go/examples/databases/create-big-int-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-big-int-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-boolean-attribute.md b/examples/1.9.x/server-go/examples/databases/create-boolean-attribute.md index 14c4ff6bf..cd81728f7 100644 --- a/examples/1.9.x/server-go/examples/databases/create-boolean-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-boolean-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-collection.md b/examples/1.9.x/server-go/examples/databases/create-collection.md index ecf716fef..e4dc478ac 100644 --- a/examples/1.9.x/server-go/examples/databases/create-collection.md +++ b/examples/1.9.x/server-go/examples/databases/create-collection.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-datetime-attribute.md b/examples/1.9.x/server-go/examples/databases/create-datetime-attribute.md index 6da484a35..aba44fb86 100644 --- a/examples/1.9.x/server-go/examples/databases/create-datetime-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-datetime-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-document.md b/examples/1.9.x/server-go/examples/databases/create-document.md index a15ab21d9..c790b2b2c 100644 --- a/examples/1.9.x/server-go/examples/databases/create-document.md +++ b/examples/1.9.x/server-go/examples/databases/create-document.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-documents.md b/examples/1.9.x/server-go/examples/databases/create-documents.md index 9083d5cbe..8e7747443 100644 --- a/examples/1.9.x/server-go/examples/databases/create-documents.md +++ b/examples/1.9.x/server-go/examples/databases/create-documents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-email-attribute.md b/examples/1.9.x/server-go/examples/databases/create-email-attribute.md index 936dc6da2..8f4533510 100644 --- a/examples/1.9.x/server-go/examples/databases/create-email-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-email-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-enum-attribute.md b/examples/1.9.x/server-go/examples/databases/create-enum-attribute.md index 3b6c442e4..ec8762745 100644 --- a/examples/1.9.x/server-go/examples/databases/create-enum-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-enum-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-float-attribute.md b/examples/1.9.x/server-go/examples/databases/create-float-attribute.md index 2af36a1a0..ebb845afb 100644 --- a/examples/1.9.x/server-go/examples/databases/create-float-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-float-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-index.md b/examples/1.9.x/server-go/examples/databases/create-index.md index 7f3d2c3a5..2ce0d93f8 100644 --- a/examples/1.9.x/server-go/examples/databases/create-index.md +++ b/examples/1.9.x/server-go/examples/databases/create-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-integer-attribute.md b/examples/1.9.x/server-go/examples/databases/create-integer-attribute.md index 19cf0bc57..35d1cb2a9 100644 --- a/examples/1.9.x/server-go/examples/databases/create-integer-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-integer-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-ip-attribute.md b/examples/1.9.x/server-go/examples/databases/create-ip-attribute.md index 8269985ec..689df8de4 100644 --- a/examples/1.9.x/server-go/examples/databases/create-ip-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-ip-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-line-attribute.md b/examples/1.9.x/server-go/examples/databases/create-line-attribute.md index e781be0e7..f76653bec 100644 --- a/examples/1.9.x/server-go/examples/databases/create-line-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-line-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-longtext-attribute.md b/examples/1.9.x/server-go/examples/databases/create-longtext-attribute.md index 882e54202..936bc933d 100644 --- a/examples/1.9.x/server-go/examples/databases/create-longtext-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-longtext-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-mediumtext-attribute.md b/examples/1.9.x/server-go/examples/databases/create-mediumtext-attribute.md index 8dee88a0f..2ce24cad5 100644 --- a/examples/1.9.x/server-go/examples/databases/create-mediumtext-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-mediumtext-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-operations.md b/examples/1.9.x/server-go/examples/databases/create-operations.md index c4916803d..37f43ca2f 100644 --- a/examples/1.9.x/server-go/examples/databases/create-operations.md +++ b/examples/1.9.x/server-go/examples/databases/create-operations.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-point-attribute.md b/examples/1.9.x/server-go/examples/databases/create-point-attribute.md index 1374851f8..10b3fb1ed 100644 --- a/examples/1.9.x/server-go/examples/databases/create-point-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-point-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-polygon-attribute.md b/examples/1.9.x/server-go/examples/databases/create-polygon-attribute.md index b2a4b2ec5..c0c6e7d24 100644 --- a/examples/1.9.x/server-go/examples/databases/create-polygon-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-polygon-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-relationship-attribute.md b/examples/1.9.x/server-go/examples/databases/create-relationship-attribute.md index 83bbfa31d..759e7996b 100644 --- a/examples/1.9.x/server-go/examples/databases/create-relationship-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-relationship-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-string-attribute.md b/examples/1.9.x/server-go/examples/databases/create-string-attribute.md index de7f1c576..11e9374be 100644 --- a/examples/1.9.x/server-go/examples/databases/create-string-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-string-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-text-attribute.md b/examples/1.9.x/server-go/examples/databases/create-text-attribute.md index c2b10e949..4515b756f 100644 --- a/examples/1.9.x/server-go/examples/databases/create-text-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-text-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-transaction.md b/examples/1.9.x/server-go/examples/databases/create-transaction.md index 3695c1433..2a725d68a 100644 --- a/examples/1.9.x/server-go/examples/databases/create-transaction.md +++ b/examples/1.9.x/server-go/examples/databases/create-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-url-attribute.md b/examples/1.9.x/server-go/examples/databases/create-url-attribute.md index e3a0e6fc6..5cf8095d3 100644 --- a/examples/1.9.x/server-go/examples/databases/create-url-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-url-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create-varchar-attribute.md b/examples/1.9.x/server-go/examples/databases/create-varchar-attribute.md index fc2a9bf53..d3b569af2 100644 --- a/examples/1.9.x/server-go/examples/databases/create-varchar-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/create-varchar-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/create.md b/examples/1.9.x/server-go/examples/databases/create.md index 535f0da00..c53535c97 100644 --- a/examples/1.9.x/server-go/examples/databases/create.md +++ b/examples/1.9.x/server-go/examples/databases/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/decrement-document-attribute.md b/examples/1.9.x/server-go/examples/databases/decrement-document-attribute.md index 1542fb5c2..d0fa4a325 100644 --- a/examples/1.9.x/server-go/examples/databases/decrement-document-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/decrement-document-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-attribute.md b/examples/1.9.x/server-go/examples/databases/delete-attribute.md index 58c1c627d..350a40832 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/delete-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-collection.md b/examples/1.9.x/server-go/examples/databases/delete-collection.md index 15e145e6b..cfe815b05 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-collection.md +++ b/examples/1.9.x/server-go/examples/databases/delete-collection.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-document.md b/examples/1.9.x/server-go/examples/databases/delete-document.md index 47aa1597c..204294a84 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-document.md +++ b/examples/1.9.x/server-go/examples/databases/delete-document.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-documents.md b/examples/1.9.x/server-go/examples/databases/delete-documents.md index e3d4c89d0..33f15e387 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-documents.md +++ b/examples/1.9.x/server-go/examples/databases/delete-documents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-index.md b/examples/1.9.x/server-go/examples/databases/delete-index.md index b5985c7aa..7932d3ee0 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-index.md +++ b/examples/1.9.x/server-go/examples/databases/delete-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete-transaction.md b/examples/1.9.x/server-go/examples/databases/delete-transaction.md index f26b89c44..78ef85b0a 100644 --- a/examples/1.9.x/server-go/examples/databases/delete-transaction.md +++ b/examples/1.9.x/server-go/examples/databases/delete-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/delete.md b/examples/1.9.x/server-go/examples/databases/delete.md index 40a97a1c5..4a147b771 100644 --- a/examples/1.9.x/server-go/examples/databases/delete.md +++ b/examples/1.9.x/server-go/examples/databases/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get-attribute.md b/examples/1.9.x/server-go/examples/databases/get-attribute.md index 87a4bb3bc..bfd3598c4 100644 --- a/examples/1.9.x/server-go/examples/databases/get-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/get-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get-collection.md b/examples/1.9.x/server-go/examples/databases/get-collection.md index 869d003f6..01f950c60 100644 --- a/examples/1.9.x/server-go/examples/databases/get-collection.md +++ b/examples/1.9.x/server-go/examples/databases/get-collection.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get-document.md b/examples/1.9.x/server-go/examples/databases/get-document.md index f90c96dec..bb551646d 100644 --- a/examples/1.9.x/server-go/examples/databases/get-document.md +++ b/examples/1.9.x/server-go/examples/databases/get-document.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get-index.md b/examples/1.9.x/server-go/examples/databases/get-index.md index 3816ac08f..8de6b15eb 100644 --- a/examples/1.9.x/server-go/examples/databases/get-index.md +++ b/examples/1.9.x/server-go/examples/databases/get-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get-transaction.md b/examples/1.9.x/server-go/examples/databases/get-transaction.md index 2aee0268f..02e8b5b6f 100644 --- a/examples/1.9.x/server-go/examples/databases/get-transaction.md +++ b/examples/1.9.x/server-go/examples/databases/get-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/get.md b/examples/1.9.x/server-go/examples/databases/get.md index 5f7d389bb..5b5df1e9b 100644 --- a/examples/1.9.x/server-go/examples/databases/get.md +++ b/examples/1.9.x/server-go/examples/databases/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/increment-document-attribute.md b/examples/1.9.x/server-go/examples/databases/increment-document-attribute.md index 0e9a3213b..331fb44bd 100644 --- a/examples/1.9.x/server-go/examples/databases/increment-document-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/increment-document-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list-attributes.md b/examples/1.9.x/server-go/examples/databases/list-attributes.md index 34b422407..e53c5cd9d 100644 --- a/examples/1.9.x/server-go/examples/databases/list-attributes.md +++ b/examples/1.9.x/server-go/examples/databases/list-attributes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list-collections.md b/examples/1.9.x/server-go/examples/databases/list-collections.md index 7d0ab0264..aac8213c6 100644 --- a/examples/1.9.x/server-go/examples/databases/list-collections.md +++ b/examples/1.9.x/server-go/examples/databases/list-collections.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list-documents.md b/examples/1.9.x/server-go/examples/databases/list-documents.md index 72f8eb788..fe8f3cea7 100644 --- a/examples/1.9.x/server-go/examples/databases/list-documents.md +++ b/examples/1.9.x/server-go/examples/databases/list-documents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list-indexes.md b/examples/1.9.x/server-go/examples/databases/list-indexes.md index a4838c86c..d8a85b81a 100644 --- a/examples/1.9.x/server-go/examples/databases/list-indexes.md +++ b/examples/1.9.x/server-go/examples/databases/list-indexes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list-transactions.md b/examples/1.9.x/server-go/examples/databases/list-transactions.md index e16fc8816..f2a7854f7 100644 --- a/examples/1.9.x/server-go/examples/databases/list-transactions.md +++ b/examples/1.9.x/server-go/examples/databases/list-transactions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/list.md b/examples/1.9.x/server-go/examples/databases/list.md index 3d83311f5..ce620ef68 100644 --- a/examples/1.9.x/server-go/examples/databases/list.md +++ b/examples/1.9.x/server-go/examples/databases/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-big-int-attribute.md b/examples/1.9.x/server-go/examples/databases/update-big-int-attribute.md index 2b9e38fb6..5363c9610 100644 --- a/examples/1.9.x/server-go/examples/databases/update-big-int-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-big-int-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-boolean-attribute.md b/examples/1.9.x/server-go/examples/databases/update-boolean-attribute.md index 6c017016d..7e663539a 100644 --- a/examples/1.9.x/server-go/examples/databases/update-boolean-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-boolean-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-collection.md b/examples/1.9.x/server-go/examples/databases/update-collection.md index 22616efec..bb232c009 100644 --- a/examples/1.9.x/server-go/examples/databases/update-collection.md +++ b/examples/1.9.x/server-go/examples/databases/update-collection.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-datetime-attribute.md b/examples/1.9.x/server-go/examples/databases/update-datetime-attribute.md index 35fca0361..555c8780e 100644 --- a/examples/1.9.x/server-go/examples/databases/update-datetime-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-datetime-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-document.md b/examples/1.9.x/server-go/examples/databases/update-document.md index ad8f404b8..28ca13c9d 100644 --- a/examples/1.9.x/server-go/examples/databases/update-document.md +++ b/examples/1.9.x/server-go/examples/databases/update-document.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-documents.md b/examples/1.9.x/server-go/examples/databases/update-documents.md index 9508a53fa..c9765d990 100644 --- a/examples/1.9.x/server-go/examples/databases/update-documents.md +++ b/examples/1.9.x/server-go/examples/databases/update-documents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-email-attribute.md b/examples/1.9.x/server-go/examples/databases/update-email-attribute.md index d4e45cb8a..e2e17646d 100644 --- a/examples/1.9.x/server-go/examples/databases/update-email-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-email-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-enum-attribute.md b/examples/1.9.x/server-go/examples/databases/update-enum-attribute.md index 789e96539..e25e40fd8 100644 --- a/examples/1.9.x/server-go/examples/databases/update-enum-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-enum-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-float-attribute.md b/examples/1.9.x/server-go/examples/databases/update-float-attribute.md index df87bb104..a7065b45c 100644 --- a/examples/1.9.x/server-go/examples/databases/update-float-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-float-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-integer-attribute.md b/examples/1.9.x/server-go/examples/databases/update-integer-attribute.md index c4a815a88..7a8452b27 100644 --- a/examples/1.9.x/server-go/examples/databases/update-integer-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-integer-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-ip-attribute.md b/examples/1.9.x/server-go/examples/databases/update-ip-attribute.md index 8101b7276..7e399cdfb 100644 --- a/examples/1.9.x/server-go/examples/databases/update-ip-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-ip-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-line-attribute.md b/examples/1.9.x/server-go/examples/databases/update-line-attribute.md index 1ed9bce28..8da0bde73 100644 --- a/examples/1.9.x/server-go/examples/databases/update-line-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-line-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-longtext-attribute.md b/examples/1.9.x/server-go/examples/databases/update-longtext-attribute.md index e3da718b0..0e9e154d1 100644 --- a/examples/1.9.x/server-go/examples/databases/update-longtext-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-longtext-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-mediumtext-attribute.md b/examples/1.9.x/server-go/examples/databases/update-mediumtext-attribute.md index 4778707a2..86a6ed682 100644 --- a/examples/1.9.x/server-go/examples/databases/update-mediumtext-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-mediumtext-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-point-attribute.md b/examples/1.9.x/server-go/examples/databases/update-point-attribute.md index bde26cd25..2f11a5f3b 100644 --- a/examples/1.9.x/server-go/examples/databases/update-point-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-point-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-polygon-attribute.md b/examples/1.9.x/server-go/examples/databases/update-polygon-attribute.md index 866292fbf..ac2cd16ee 100644 --- a/examples/1.9.x/server-go/examples/databases/update-polygon-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-polygon-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-relationship-attribute.md b/examples/1.9.x/server-go/examples/databases/update-relationship-attribute.md index 96d0d7288..c0affa5a2 100644 --- a/examples/1.9.x/server-go/examples/databases/update-relationship-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-relationship-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-string-attribute.md b/examples/1.9.x/server-go/examples/databases/update-string-attribute.md index 51177a9ee..9a20ba7e6 100644 --- a/examples/1.9.x/server-go/examples/databases/update-string-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-string-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-text-attribute.md b/examples/1.9.x/server-go/examples/databases/update-text-attribute.md index 60160ad04..c5f907db3 100644 --- a/examples/1.9.x/server-go/examples/databases/update-text-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-text-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-transaction.md b/examples/1.9.x/server-go/examples/databases/update-transaction.md index 1bcb37e16..bf165b9bf 100644 --- a/examples/1.9.x/server-go/examples/databases/update-transaction.md +++ b/examples/1.9.x/server-go/examples/databases/update-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-url-attribute.md b/examples/1.9.x/server-go/examples/databases/update-url-attribute.md index 1b6650ab9..79ee9ad08 100644 --- a/examples/1.9.x/server-go/examples/databases/update-url-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-url-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update-varchar-attribute.md b/examples/1.9.x/server-go/examples/databases/update-varchar-attribute.md index a43c8d8c4..811d35598 100644 --- a/examples/1.9.x/server-go/examples/databases/update-varchar-attribute.md +++ b/examples/1.9.x/server-go/examples/databases/update-varchar-attribute.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/update.md b/examples/1.9.x/server-go/examples/databases/update.md index f7ba53a62..a5bb11bc8 100644 --- a/examples/1.9.x/server-go/examples/databases/update.md +++ b/examples/1.9.x/server-go/examples/databases/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/upsert-document.md b/examples/1.9.x/server-go/examples/databases/upsert-document.md index 4123bf00f..d59fcea77 100644 --- a/examples/1.9.x/server-go/examples/databases/upsert-document.md +++ b/examples/1.9.x/server-go/examples/databases/upsert-document.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/databases/upsert-documents.md b/examples/1.9.x/server-go/examples/databases/upsert-documents.md index 6c26d2099..6aee62e5a 100644 --- a/examples/1.9.x/server-go/examples/databases/upsert-documents.md +++ b/examples/1.9.x/server-go/examples/databases/upsert-documents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/databases" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/databases" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-deployment.md b/examples/1.9.x/server-go/examples/functions/create-deployment.md index 316c7e75b..ef9676feb 100644 --- a/examples/1.9.x/server-go/examples/functions/create-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/create-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-duplicate-deployment.md b/examples/1.9.x/server-go/examples/functions/create-duplicate-deployment.md index a6ff18b0b..e3dd6428e 100644 --- a/examples/1.9.x/server-go/examples/functions/create-duplicate-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/create-duplicate-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-execution.md b/examples/1.9.x/server-go/examples/functions/create-execution.md index 9ea2a495f..1948927f1 100644 --- a/examples/1.9.x/server-go/examples/functions/create-execution.md +++ b/examples/1.9.x/server-go/examples/functions/create-execution.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-template-deployment.md b/examples/1.9.x/server-go/examples/functions/create-template-deployment.md index d6cf3bc64..a643cac35 100644 --- a/examples/1.9.x/server-go/examples/functions/create-template-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/create-template-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-variable.md b/examples/1.9.x/server-go/examples/functions/create-variable.md index a923034a6..3ce53661a 100644 --- a/examples/1.9.x/server-go/examples/functions/create-variable.md +++ b/examples/1.9.x/server-go/examples/functions/create-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create-vcs-deployment.md b/examples/1.9.x/server-go/examples/functions/create-vcs-deployment.md index 5d0d8ddb0..b50034058 100644 --- a/examples/1.9.x/server-go/examples/functions/create-vcs-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/create-vcs-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/create.md b/examples/1.9.x/server-go/examples/functions/create.md index da8c57df7..1a4aac000 100644 --- a/examples/1.9.x/server-go/examples/functions/create.md +++ b/examples/1.9.x/server-go/examples/functions/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/delete-deployment.md b/examples/1.9.x/server-go/examples/functions/delete-deployment.md index 143399192..3808fea90 100644 --- a/examples/1.9.x/server-go/examples/functions/delete-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/delete-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/delete-execution.md b/examples/1.9.x/server-go/examples/functions/delete-execution.md index c21cee1c5..4fa801b5e 100644 --- a/examples/1.9.x/server-go/examples/functions/delete-execution.md +++ b/examples/1.9.x/server-go/examples/functions/delete-execution.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/delete-variable.md b/examples/1.9.x/server-go/examples/functions/delete-variable.md index 84a450ed0..12cac4902 100644 --- a/examples/1.9.x/server-go/examples/functions/delete-variable.md +++ b/examples/1.9.x/server-go/examples/functions/delete-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/delete.md b/examples/1.9.x/server-go/examples/functions/delete.md index b6bc97e7c..0d09ebab2 100644 --- a/examples/1.9.x/server-go/examples/functions/delete.md +++ b/examples/1.9.x/server-go/examples/functions/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( 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 a987e8969..56a40a730 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/get-deployment.md b/examples/1.9.x/server-go/examples/functions/get-deployment.md index b1088541d..eda50476d 100644 --- a/examples/1.9.x/server-go/examples/functions/get-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/get-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/get-execution.md b/examples/1.9.x/server-go/examples/functions/get-execution.md index aa128f598..4c3c05aab 100644 --- a/examples/1.9.x/server-go/examples/functions/get-execution.md +++ b/examples/1.9.x/server-go/examples/functions/get-execution.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/get-variable.md b/examples/1.9.x/server-go/examples/functions/get-variable.md index 588a43b13..33b5a6fb2 100644 --- a/examples/1.9.x/server-go/examples/functions/get-variable.md +++ b/examples/1.9.x/server-go/examples/functions/get-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/get.md b/examples/1.9.x/server-go/examples/functions/get.md index 53350c344..840d3de90 100644 --- a/examples/1.9.x/server-go/examples/functions/get.md +++ b/examples/1.9.x/server-go/examples/functions/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list-deployments.md b/examples/1.9.x/server-go/examples/functions/list-deployments.md index d7885aabc..ed933db06 100644 --- a/examples/1.9.x/server-go/examples/functions/list-deployments.md +++ b/examples/1.9.x/server-go/examples/functions/list-deployments.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list-executions.md b/examples/1.9.x/server-go/examples/functions/list-executions.md index c9cc43efe..6d615255d 100644 --- a/examples/1.9.x/server-go/examples/functions/list-executions.md +++ b/examples/1.9.x/server-go/examples/functions/list-executions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list-runtimes.md b/examples/1.9.x/server-go/examples/functions/list-runtimes.md index b1267d78f..c7f5d4701 100644 --- a/examples/1.9.x/server-go/examples/functions/list-runtimes.md +++ b/examples/1.9.x/server-go/examples/functions/list-runtimes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list-specifications.md b/examples/1.9.x/server-go/examples/functions/list-specifications.md index 2e6e0f34d..3594b7087 100644 --- a/examples/1.9.x/server-go/examples/functions/list-specifications.md +++ b/examples/1.9.x/server-go/examples/functions/list-specifications.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list-variables.md b/examples/1.9.x/server-go/examples/functions/list-variables.md index facc02e74..63b2efbce 100644 --- a/examples/1.9.x/server-go/examples/functions/list-variables.md +++ b/examples/1.9.x/server-go/examples/functions/list-variables.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/list.md b/examples/1.9.x/server-go/examples/functions/list.md index a7e9d6787..cb0e7a593 100644 --- a/examples/1.9.x/server-go/examples/functions/list.md +++ b/examples/1.9.x/server-go/examples/functions/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/update-deployment-status.md b/examples/1.9.x/server-go/examples/functions/update-deployment-status.md index 303aead8d..b7f5175e6 100644 --- a/examples/1.9.x/server-go/examples/functions/update-deployment-status.md +++ b/examples/1.9.x/server-go/examples/functions/update-deployment-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/update-function-deployment.md b/examples/1.9.x/server-go/examples/functions/update-function-deployment.md index 35e905371..882b8cd2d 100644 --- a/examples/1.9.x/server-go/examples/functions/update-function-deployment.md +++ b/examples/1.9.x/server-go/examples/functions/update-function-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/update-variable.md b/examples/1.9.x/server-go/examples/functions/update-variable.md index 1c4a5a7be..dee9e710f 100644 --- a/examples/1.9.x/server-go/examples/functions/update-variable.md +++ b/examples/1.9.x/server-go/examples/functions/update-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/functions/update.md b/examples/1.9.x/server-go/examples/functions/update.md index 58d0cc10e..5d3936cff 100644 --- a/examples/1.9.x/server-go/examples/functions/update.md +++ b/examples/1.9.x/server-go/examples/functions/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/functions" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/functions" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/graphql/mutation.md b/examples/1.9.x/server-go/examples/graphql/mutation.md index 438e7e24a..addf9b68b 100644 --- a/examples/1.9.x/server-go/examples/graphql/mutation.md +++ b/examples/1.9.x/server-go/examples/graphql/mutation.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/graphql" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/graphql" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/graphql/query.md b/examples/1.9.x/server-go/examples/graphql/query.md index f03e79973..7a62b5687 100644 --- a/examples/1.9.x/server-go/examples/graphql/query.md +++ b/examples/1.9.x/server-go/examples/graphql/query.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/graphql" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/graphql" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-antivirus.md b/examples/1.9.x/server-go/examples/health/get-antivirus.md index 68c11f799..34c4e7b3a 100644 --- a/examples/1.9.x/server-go/examples/health/get-antivirus.md +++ b/examples/1.9.x/server-go/examples/health/get-antivirus.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-cache.md b/examples/1.9.x/server-go/examples/health/get-cache.md index d2874b14e..59b0743d9 100644 --- a/examples/1.9.x/server-go/examples/health/get-cache.md +++ b/examples/1.9.x/server-go/examples/health/get-cache.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-certificate.md b/examples/1.9.x/server-go/examples/health/get-certificate.md index a1193e4f7..18149b05a 100644 --- a/examples/1.9.x/server-go/examples/health/get-certificate.md +++ b/examples/1.9.x/server-go/examples/health/get-certificate.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-console-pausing.md b/examples/1.9.x/server-go/examples/health/get-console-pausing.md index 2c470ea32..88d150eb2 100644 --- a/examples/1.9.x/server-go/examples/health/get-console-pausing.md +++ b/examples/1.9.x/server-go/examples/health/get-console-pausing.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-db.md b/examples/1.9.x/server-go/examples/health/get-db.md index 9f27c64f1..8e9b03cd6 100644 --- a/examples/1.9.x/server-go/examples/health/get-db.md +++ b/examples/1.9.x/server-go/examples/health/get-db.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-failed-jobs.md b/examples/1.9.x/server-go/examples/health/get-failed-jobs.md index 9b8cdafab..d056cb687 100644 --- a/examples/1.9.x/server-go/examples/health/get-failed-jobs.md +++ b/examples/1.9.x/server-go/examples/health/get-failed-jobs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-pub-sub.md b/examples/1.9.x/server-go/examples/health/get-pub-sub.md index 272417fe5..ac7ec3706 100644 --- a/examples/1.9.x/server-go/examples/health/get-pub-sub.md +++ b/examples/1.9.x/server-go/examples/health/get-pub-sub.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-audits.md b/examples/1.9.x/server-go/examples/health/get-queue-audits.md index 305e5f66b..589464746 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-audits.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-audits.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-builds.md b/examples/1.9.x/server-go/examples/health/get-queue-builds.md index a4d61a2af..b35242e2c 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-builds.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-builds.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-certificates.md b/examples/1.9.x/server-go/examples/health/get-queue-certificates.md index 01ab001c8..c001ed833 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-certificates.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-certificates.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-databases.md b/examples/1.9.x/server-go/examples/health/get-queue-databases.md index ae7bc5b4f..e0b7e2a8d 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-databases.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-databases.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-deletes.md b/examples/1.9.x/server-go/examples/health/get-queue-deletes.md index 9b43624e5..ca8be1f1d 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-deletes.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-deletes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-functions.md b/examples/1.9.x/server-go/examples/health/get-queue-functions.md index 246e67086..175eaae55 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-functions.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-functions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-logs.md b/examples/1.9.x/server-go/examples/health/get-queue-logs.md index 6b1e7ab80..71a3a52ad 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-logs.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-mails.md b/examples/1.9.x/server-go/examples/health/get-queue-mails.md index 163956df8..48ceb1d92 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-mails.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-mails.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-messaging.md b/examples/1.9.x/server-go/examples/health/get-queue-messaging.md index 0444da61c..5e7d7a153 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-messaging.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-messaging.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-migrations.md b/examples/1.9.x/server-go/examples/health/get-queue-migrations.md index 5cc0627a3..cdf7db4ad 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-migrations.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-migrations.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-stats-resources.md b/examples/1.9.x/server-go/examples/health/get-queue-stats-resources.md index e8414f432..bbb6f7cf1 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-stats-resources.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-stats-resources.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-usage.md b/examples/1.9.x/server-go/examples/health/get-queue-usage.md index 987627300..57799c5a3 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-usage.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-usage.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-queue-webhooks.md b/examples/1.9.x/server-go/examples/health/get-queue-webhooks.md index 609fcd583..54de652fe 100644 --- a/examples/1.9.x/server-go/examples/health/get-queue-webhooks.md +++ b/examples/1.9.x/server-go/examples/health/get-queue-webhooks.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-storage-local.md b/examples/1.9.x/server-go/examples/health/get-storage-local.md index 35e391eca..4e68717c4 100644 --- a/examples/1.9.x/server-go/examples/health/get-storage-local.md +++ b/examples/1.9.x/server-go/examples/health/get-storage-local.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-storage.md b/examples/1.9.x/server-go/examples/health/get-storage.md index f498f0480..ab2eda870 100644 --- a/examples/1.9.x/server-go/examples/health/get-storage.md +++ b/examples/1.9.x/server-go/examples/health/get-storage.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get-time.md b/examples/1.9.x/server-go/examples/health/get-time.md index 2cd1c0819..7e8f4f77d 100644 --- a/examples/1.9.x/server-go/examples/health/get-time.md +++ b/examples/1.9.x/server-go/examples/health/get-time.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/health/get.md b/examples/1.9.x/server-go/examples/health/get.md index fbd885247..cd8268fff 100644 --- a/examples/1.9.x/server-go/examples/health/get.md +++ b/examples/1.9.x/server-go/examples/health/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/health" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/health" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/get.md b/examples/1.9.x/server-go/examples/locale/get.md index 7cbb2cb4f..aac76debe 100644 --- a/examples/1.9.x/server-go/examples/locale/get.md +++ b/examples/1.9.x/server-go/examples/locale/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-codes.md b/examples/1.9.x/server-go/examples/locale/list-codes.md index 9a904ce78..18307fae1 100644 --- a/examples/1.9.x/server-go/examples/locale/list-codes.md +++ b/examples/1.9.x/server-go/examples/locale/list-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-continents.md b/examples/1.9.x/server-go/examples/locale/list-continents.md index 08edeb96e..ae8e476cf 100644 --- a/examples/1.9.x/server-go/examples/locale/list-continents.md +++ b/examples/1.9.x/server-go/examples/locale/list-continents.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-countries-eu.md b/examples/1.9.x/server-go/examples/locale/list-countries-eu.md index 1c0562950..6b379fe7c 100644 --- a/examples/1.9.x/server-go/examples/locale/list-countries-eu.md +++ b/examples/1.9.x/server-go/examples/locale/list-countries-eu.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-countries-phones.md b/examples/1.9.x/server-go/examples/locale/list-countries-phones.md index 2ef6b7eab..494f3575f 100644 --- a/examples/1.9.x/server-go/examples/locale/list-countries-phones.md +++ b/examples/1.9.x/server-go/examples/locale/list-countries-phones.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-countries.md b/examples/1.9.x/server-go/examples/locale/list-countries.md index 10e1d0488..85ef09235 100644 --- a/examples/1.9.x/server-go/examples/locale/list-countries.md +++ b/examples/1.9.x/server-go/examples/locale/list-countries.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-currencies.md b/examples/1.9.x/server-go/examples/locale/list-currencies.md index 4b1a75219..ed897308a 100644 --- a/examples/1.9.x/server-go/examples/locale/list-currencies.md +++ b/examples/1.9.x/server-go/examples/locale/list-currencies.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/locale/list-languages.md b/examples/1.9.x/server-go/examples/locale/list-languages.md index 48c5782f6..dc65b8b5e 100644 --- a/examples/1.9.x/server-go/examples/locale/list-languages.md +++ b/examples/1.9.x/server-go/examples/locale/list-languages.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/locale" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/locale" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-apns-provider.md b/examples/1.9.x/server-go/examples/messaging/create-apns-provider.md index 95f017327..dbe9195d0 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-apns-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-apns-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-email.md b/examples/1.9.x/server-go/examples/messaging/create-email.md index 12e0f1940..3d7193dbe 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-email.md +++ b/examples/1.9.x/server-go/examples/messaging/create-email.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-fcm-provider.md b/examples/1.9.x/server-go/examples/messaging/create-fcm-provider.md index 195b0d954..d2a5a8bbb 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-fcm-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-fcm-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-mailgun-provider.md b/examples/1.9.x/server-go/examples/messaging/create-mailgun-provider.md index 2ea3698f1..11692ffc6 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-mailgun-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-mailgun-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-msg-91-provider.md b/examples/1.9.x/server-go/examples/messaging/create-msg-91-provider.md index 1b8ae0231..f3029ffcb 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-msg-91-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-msg-91-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-push.md b/examples/1.9.x/server-go/examples/messaging/create-push.md index 7d92df459..5d506d8a8 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-push.md +++ b/examples/1.9.x/server-go/examples/messaging/create-push.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-resend-provider.md b/examples/1.9.x/server-go/examples/messaging/create-resend-provider.md index a16bd841e..693d9e321 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-resend-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-resend-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-sendgrid-provider.md b/examples/1.9.x/server-go/examples/messaging/create-sendgrid-provider.md index 658ad1c31..25cdaa8e6 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-sendgrid-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-sendgrid-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-sms.md b/examples/1.9.x/server-go/examples/messaging/create-sms.md index bd14eb746..c84695016 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-sms.md +++ b/examples/1.9.x/server-go/examples/messaging/create-sms.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-smtp-provider.md b/examples/1.9.x/server-go/examples/messaging/create-smtp-provider.md index 2004fc8d2..0bb5f204e 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-smtp-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-smtp-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-subscriber.md b/examples/1.9.x/server-go/examples/messaging/create-subscriber.md index 8abb6e3cd..823852319 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-subscriber.md +++ b/examples/1.9.x/server-go/examples/messaging/create-subscriber.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-telesign-provider.md b/examples/1.9.x/server-go/examples/messaging/create-telesign-provider.md index b4a824d0c..0c1b141f8 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-telesign-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-telesign-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-textmagic-provider.md b/examples/1.9.x/server-go/examples/messaging/create-textmagic-provider.md index 649346f02..cec576338 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-textmagic-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-textmagic-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-topic.md b/examples/1.9.x/server-go/examples/messaging/create-topic.md index f0cc8d4c8..d720638ba 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-topic.md +++ b/examples/1.9.x/server-go/examples/messaging/create-topic.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-twilio-provider.md b/examples/1.9.x/server-go/examples/messaging/create-twilio-provider.md index 043ce5845..b92dde7f9 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-twilio-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-twilio-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/create-vonage-provider.md b/examples/1.9.x/server-go/examples/messaging/create-vonage-provider.md index 25f8858f8..83d2ac1a0 100644 --- a/examples/1.9.x/server-go/examples/messaging/create-vonage-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/create-vonage-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/delete-provider.md b/examples/1.9.x/server-go/examples/messaging/delete-provider.md index ee1d2aae4..b860db974 100644 --- a/examples/1.9.x/server-go/examples/messaging/delete-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/delete-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/delete-subscriber.md b/examples/1.9.x/server-go/examples/messaging/delete-subscriber.md index 82a259aba..2a7c80369 100644 --- a/examples/1.9.x/server-go/examples/messaging/delete-subscriber.md +++ b/examples/1.9.x/server-go/examples/messaging/delete-subscriber.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/delete-topic.md b/examples/1.9.x/server-go/examples/messaging/delete-topic.md index 55ebbcf5d..daf1d7649 100644 --- a/examples/1.9.x/server-go/examples/messaging/delete-topic.md +++ b/examples/1.9.x/server-go/examples/messaging/delete-topic.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/delete.md b/examples/1.9.x/server-go/examples/messaging/delete.md index 72f428a17..5f5f420ba 100644 --- a/examples/1.9.x/server-go/examples/messaging/delete.md +++ b/examples/1.9.x/server-go/examples/messaging/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/get-message.md b/examples/1.9.x/server-go/examples/messaging/get-message.md index 13d64d2a6..492368c88 100644 --- a/examples/1.9.x/server-go/examples/messaging/get-message.md +++ b/examples/1.9.x/server-go/examples/messaging/get-message.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/get-provider.md b/examples/1.9.x/server-go/examples/messaging/get-provider.md index e908f85f7..7c1133725 100644 --- a/examples/1.9.x/server-go/examples/messaging/get-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/get-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/get-subscriber.md b/examples/1.9.x/server-go/examples/messaging/get-subscriber.md index a728bf190..7004b17c7 100644 --- a/examples/1.9.x/server-go/examples/messaging/get-subscriber.md +++ b/examples/1.9.x/server-go/examples/messaging/get-subscriber.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/get-topic.md b/examples/1.9.x/server-go/examples/messaging/get-topic.md index 23dad6fa6..3740b329d 100644 --- a/examples/1.9.x/server-go/examples/messaging/get-topic.md +++ b/examples/1.9.x/server-go/examples/messaging/get-topic.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-message-logs.md b/examples/1.9.x/server-go/examples/messaging/list-message-logs.md index 7a8aa373c..81a07d885 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-message-logs.md +++ b/examples/1.9.x/server-go/examples/messaging/list-message-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-messages.md b/examples/1.9.x/server-go/examples/messaging/list-messages.md index 929af9843..c3fddaf20 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-messages.md +++ b/examples/1.9.x/server-go/examples/messaging/list-messages.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-provider-logs.md b/examples/1.9.x/server-go/examples/messaging/list-provider-logs.md index d7a37c1e7..75b22f11a 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-provider-logs.md +++ b/examples/1.9.x/server-go/examples/messaging/list-provider-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-providers.md b/examples/1.9.x/server-go/examples/messaging/list-providers.md index e421f17d3..6c754591f 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-providers.md +++ b/examples/1.9.x/server-go/examples/messaging/list-providers.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-subscriber-logs.md b/examples/1.9.x/server-go/examples/messaging/list-subscriber-logs.md index 40d2c1ea1..050a7a2d5 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-subscriber-logs.md +++ b/examples/1.9.x/server-go/examples/messaging/list-subscriber-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-subscribers.md b/examples/1.9.x/server-go/examples/messaging/list-subscribers.md index e4033bb97..0dc215880 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-subscribers.md +++ b/examples/1.9.x/server-go/examples/messaging/list-subscribers.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-targets.md b/examples/1.9.x/server-go/examples/messaging/list-targets.md index 05a9d8683..38a9a1b7f 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-targets.md +++ b/examples/1.9.x/server-go/examples/messaging/list-targets.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-topic-logs.md b/examples/1.9.x/server-go/examples/messaging/list-topic-logs.md index 4a5ef9e82..6785f62fe 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-topic-logs.md +++ b/examples/1.9.x/server-go/examples/messaging/list-topic-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/list-topics.md b/examples/1.9.x/server-go/examples/messaging/list-topics.md index 0615c7315..7c5e22384 100644 --- a/examples/1.9.x/server-go/examples/messaging/list-topics.md +++ b/examples/1.9.x/server-go/examples/messaging/list-topics.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-apns-provider.md b/examples/1.9.x/server-go/examples/messaging/update-apns-provider.md index 6dc5ababe..ce95fdd84 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-apns-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-apns-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-email.md b/examples/1.9.x/server-go/examples/messaging/update-email.md index 945f9de4e..3d9a7b8b2 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-email.md +++ b/examples/1.9.x/server-go/examples/messaging/update-email.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-fcm-provider.md b/examples/1.9.x/server-go/examples/messaging/update-fcm-provider.md index 5cafcc76b..c24cc651e 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-fcm-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-fcm-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-mailgun-provider.md b/examples/1.9.x/server-go/examples/messaging/update-mailgun-provider.md index 59a5c59bc..3f0f76806 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-mailgun-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-mailgun-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-msg-91-provider.md b/examples/1.9.x/server-go/examples/messaging/update-msg-91-provider.md index 8b3e691ca..ea38ebce8 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-msg-91-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-msg-91-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-push.md b/examples/1.9.x/server-go/examples/messaging/update-push.md index c21190da1..2bb138153 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-push.md +++ b/examples/1.9.x/server-go/examples/messaging/update-push.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-resend-provider.md b/examples/1.9.x/server-go/examples/messaging/update-resend-provider.md index 66ae75e68..02de53dad 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-resend-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-resend-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-sendgrid-provider.md b/examples/1.9.x/server-go/examples/messaging/update-sendgrid-provider.md index c7a3e772d..d8b3e22c4 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-sendgrid-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-sendgrid-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-sms.md b/examples/1.9.x/server-go/examples/messaging/update-sms.md index f1251fdb4..baa181af0 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-sms.md +++ b/examples/1.9.x/server-go/examples/messaging/update-sms.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-smtp-provider.md b/examples/1.9.x/server-go/examples/messaging/update-smtp-provider.md index 64da31dc0..a08b688f4 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-smtp-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-smtp-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-telesign-provider.md b/examples/1.9.x/server-go/examples/messaging/update-telesign-provider.md index 6cfdd1b57..31373616d 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-telesign-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-telesign-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-textmagic-provider.md b/examples/1.9.x/server-go/examples/messaging/update-textmagic-provider.md index 69566e879..c500201d7 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-textmagic-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-textmagic-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-topic.md b/examples/1.9.x/server-go/examples/messaging/update-topic.md index 1859d7421..9c5c572f7 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-topic.md +++ b/examples/1.9.x/server-go/examples/messaging/update-topic.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-twilio-provider.md b/examples/1.9.x/server-go/examples/messaging/update-twilio-provider.md index 29258ed24..050c067f0 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-twilio-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-twilio-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/messaging/update-vonage-provider.md b/examples/1.9.x/server-go/examples/messaging/update-vonage-provider.md index 60238226a..1fa2e8c59 100644 --- a/examples/1.9.x/server-go/examples/messaging/update-vonage-provider.md +++ b/examples/1.9.x/server-go/examples/messaging/update-vonage-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/messaging" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/messaging" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/presences/delete.md b/examples/1.9.x/server-go/examples/presences/delete.md new file mode 100644 index 000000000..8a2818a2b --- /dev/null +++ b/examples/1.9.x/server-go/examples/presences/delete.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/presences" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := presences.New(client) + +response, error := service.Delete( + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/presences/get.md b/examples/1.9.x/server-go/examples/presences/get.md new file mode 100644 index 000000000..04f95ab6e --- /dev/null +++ b/examples/1.9.x/server-go/examples/presences/get.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/presences" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := presences.New(client) + +response, error := service.Get( + "", +) +``` diff --git a/examples/1.9.x/server-go/examples/presences/list.md b/examples/1.9.x/server-go/examples/presences/list.md new file mode 100644 index 000000000..71a52ec4a --- /dev/null +++ b/examples/1.9.x/server-go/examples/presences/list.md @@ -0,0 +1,23 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/presences" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := presences.New(client) + +response, error := service.List( + presences.WithListQueries([]interface{}{}), + presences.WithListTotal(false), + presences.WithListTtl(0), +) +``` diff --git a/examples/1.9.x/server-go/examples/presences/update-presence.md b/examples/1.9.x/server-go/examples/presences/update-presence.md new file mode 100644 index 000000000..f877255aa --- /dev/null +++ b/examples/1.9.x/server-go/examples/presences/update-presence.md @@ -0,0 +1,27 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/presences" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := presences.New(client) + +response, error := service.UpdatePresence( + "", + "", + presences.WithUpdatePresenceStatus(""), + presences.WithUpdatePresenceExpiresAt("2020-10-15T06:38:00.000+00:00"), + presences.WithUpdatePresenceMetadata(map[string]interface{}{}), + presences.WithUpdatePresencePermissions(interface{}{"read("any")"}), + presences.WithUpdatePresencePurge(false), +) +``` diff --git a/examples/1.9.x/server-go/examples/presences/upsert.md b/examples/1.9.x/server-go/examples/presences/upsert.md new file mode 100644 index 000000000..d2bd78371 --- /dev/null +++ b/examples/1.9.x/server-go/examples/presences/upsert.md @@ -0,0 +1,26 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/presences" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := presences.New(client) + +response, error := service.Upsert( + "", + "", + "", + presences.WithUpsertPermissions(interface{}{"read("any")"}), + presences.WithUpsertExpiresAt("2020-10-15T06:38:00.000+00:00"), + presences.WithUpsertMetadata(map[string]interface{}{}), +) +``` diff --git a/examples/1.9.x/server-go/examples/project/create-android-platform.md b/examples/1.9.x/server-go/examples/project/create-android-platform.md index 03c7f959a..3c4c310f2 100644 --- a/examples/1.9.x/server-go/examples/project/create-android-platform.md +++ b/examples/1.9.x/server-go/examples/project/create-android-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-apple-platform.md b/examples/1.9.x/server-go/examples/project/create-apple-platform.md index 424818763..ef6df3927 100644 --- a/examples/1.9.x/server-go/examples/project/create-apple-platform.md +++ b/examples/1.9.x/server-go/examples/project/create-apple-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-go/examples/project/create-ephemeral-key.md index 6d4e6ee8a..036f67720 100644 --- a/examples/1.9.x/server-go/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-go/examples/project/create-ephemeral-key.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-key.md b/examples/1.9.x/server-go/examples/project/create-key.md index 9bbcf0d78..47fc9f83c 100644 --- a/examples/1.9.x/server-go/examples/project/create-key.md +++ b/examples/1.9.x/server-go/examples/project/create-key.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-linux-platform.md b/examples/1.9.x/server-go/examples/project/create-linux-platform.md index 7907326f6..4673feef7 100644 --- a/examples/1.9.x/server-go/examples/project/create-linux-platform.md +++ b/examples/1.9.x/server-go/examples/project/create-linux-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-mock-phone.md b/examples/1.9.x/server-go/examples/project/create-mock-phone.md index ff08bf1ed..c1e956698 100644 --- a/examples/1.9.x/server-go/examples/project/create-mock-phone.md +++ b/examples/1.9.x/server-go/examples/project/create-mock-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-smtp-test.md b/examples/1.9.x/server-go/examples/project/create-smtp-test.md index 75d07d4a5..9f074ddab 100644 --- a/examples/1.9.x/server-go/examples/project/create-smtp-test.md +++ b/examples/1.9.x/server-go/examples/project/create-smtp-test.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-variable.md b/examples/1.9.x/server-go/examples/project/create-variable.md index c0cca8364..1bfe49f8c 100644 --- a/examples/1.9.x/server-go/examples/project/create-variable.md +++ b/examples/1.9.x/server-go/examples/project/create-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-web-platform.md b/examples/1.9.x/server-go/examples/project/create-web-platform.md index e14065a32..8b829c078 100644 --- a/examples/1.9.x/server-go/examples/project/create-web-platform.md +++ b/examples/1.9.x/server-go/examples/project/create-web-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/create-windows-platform.md b/examples/1.9.x/server-go/examples/project/create-windows-platform.md index ec388b752..b4516cab6 100644 --- a/examples/1.9.x/server-go/examples/project/create-windows-platform.md +++ b/examples/1.9.x/server-go/examples/project/create-windows-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/delete-key.md b/examples/1.9.x/server-go/examples/project/delete-key.md index 0004a1775..29f20650c 100644 --- a/examples/1.9.x/server-go/examples/project/delete-key.md +++ b/examples/1.9.x/server-go/examples/project/delete-key.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/delete-mock-phone.md b/examples/1.9.x/server-go/examples/project/delete-mock-phone.md index a0c4c4090..099d85e0c 100644 --- a/examples/1.9.x/server-go/examples/project/delete-mock-phone.md +++ b/examples/1.9.x/server-go/examples/project/delete-mock-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/delete-platform.md b/examples/1.9.x/server-go/examples/project/delete-platform.md index 1083a59ba..cd0b71814 100644 --- a/examples/1.9.x/server-go/examples/project/delete-platform.md +++ b/examples/1.9.x/server-go/examples/project/delete-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/delete-variable.md b/examples/1.9.x/server-go/examples/project/delete-variable.md index 3f21b1a78..ef7a44f26 100644 --- a/examples/1.9.x/server-go/examples/project/delete-variable.md +++ b/examples/1.9.x/server-go/examples/project/delete-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/delete.md b/examples/1.9.x/server-go/examples/project/delete.md index 20ce8535b..6f48c4f7d 100644 --- a/examples/1.9.x/server-go/examples/project/delete.md +++ b/examples/1.9.x/server-go/examples/project/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-email-template.md b/examples/1.9.x/server-go/examples/project/get-email-template.md index 64f1a0677..bb8dd3de4 100644 --- a/examples/1.9.x/server-go/examples/project/get-email-template.md +++ b/examples/1.9.x/server-go/examples/project/get-email-template.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-key.md b/examples/1.9.x/server-go/examples/project/get-key.md index 2bc9d26d5..84ad54ec6 100644 --- a/examples/1.9.x/server-go/examples/project/get-key.md +++ b/examples/1.9.x/server-go/examples/project/get-key.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-mock-phone.md b/examples/1.9.x/server-go/examples/project/get-mock-phone.md index 37e91d265..3115e4f89 100644 --- a/examples/1.9.x/server-go/examples/project/get-mock-phone.md +++ b/examples/1.9.x/server-go/examples/project/get-mock-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-go/examples/project/get-o-auth-2-provider.md index 928031156..ad07a73c8 100644 --- a/examples/1.9.x/server-go/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-go/examples/project/get-o-auth-2-provider.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-platform.md b/examples/1.9.x/server-go/examples/project/get-platform.md index 7fcefd1b4..cdd6cc03d 100644 --- a/examples/1.9.x/server-go/examples/project/get-platform.md +++ b/examples/1.9.x/server-go/examples/project/get-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-policy.md b/examples/1.9.x/server-go/examples/project/get-policy.md index ac24a2ba6..15f1fee4a 100644 --- a/examples/1.9.x/server-go/examples/project/get-policy.md +++ b/examples/1.9.x/server-go/examples/project/get-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get-variable.md b/examples/1.9.x/server-go/examples/project/get-variable.md index f8e078ac2..ba9f0c0cc 100644 --- a/examples/1.9.x/server-go/examples/project/get-variable.md +++ b/examples/1.9.x/server-go/examples/project/get-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/get.md b/examples/1.9.x/server-go/examples/project/get.md new file mode 100644 index 000000000..cc21ee853 --- /dev/null +++ b/examples/1.9.x/server-go/examples/project/get.md @@ -0,0 +1,19 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := project.New(client) + +response, error := service.Get()) +``` diff --git a/examples/1.9.x/server-go/examples/project/list-email-templates.md b/examples/1.9.x/server-go/examples/project/list-email-templates.md index 3cd6052e7..10979860e 100644 --- a/examples/1.9.x/server-go/examples/project/list-email-templates.md +++ b/examples/1.9.x/server-go/examples/project/list-email-templates.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-keys.md b/examples/1.9.x/server-go/examples/project/list-keys.md index c83b34bbd..c3dd64db8 100644 --- a/examples/1.9.x/server-go/examples/project/list-keys.md +++ b/examples/1.9.x/server-go/examples/project/list-keys.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-mock-phones.md b/examples/1.9.x/server-go/examples/project/list-mock-phones.md index 0db42b94c..a105a5b3b 100644 --- a/examples/1.9.x/server-go/examples/project/list-mock-phones.md +++ b/examples/1.9.x/server-go/examples/project/list-mock-phones.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-o-auth-2-providers.md b/examples/1.9.x/server-go/examples/project/list-o-auth-2-providers.md index 4130e5aa2..4cc50d25a 100644 --- a/examples/1.9.x/server-go/examples/project/list-o-auth-2-providers.md +++ b/examples/1.9.x/server-go/examples/project/list-o-auth-2-providers.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-platforms.md b/examples/1.9.x/server-go/examples/project/list-platforms.md index 2c1bd5231..c9e3eb1fb 100644 --- a/examples/1.9.x/server-go/examples/project/list-platforms.md +++ b/examples/1.9.x/server-go/examples/project/list-platforms.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-policies.md b/examples/1.9.x/server-go/examples/project/list-policies.md index baf2aef75..0cc4f0804 100644 --- a/examples/1.9.x/server-go/examples/project/list-policies.md +++ b/examples/1.9.x/server-go/examples/project/list-policies.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/list-variables.md b/examples/1.9.x/server-go/examples/project/list-variables.md index bc6531cd3..406023492 100644 --- a/examples/1.9.x/server-go/examples/project/list-variables.md +++ b/examples/1.9.x/server-go/examples/project/list-variables.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-android-platform.md b/examples/1.9.x/server-go/examples/project/update-android-platform.md index ee31a55af..5d4b523a6 100644 --- a/examples/1.9.x/server-go/examples/project/update-android-platform.md +++ b/examples/1.9.x/server-go/examples/project/update-android-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-apple-platform.md b/examples/1.9.x/server-go/examples/project/update-apple-platform.md index 79f3734b0..9758be972 100644 --- a/examples/1.9.x/server-go/examples/project/update-apple-platform.md +++ b/examples/1.9.x/server-go/examples/project/update-apple-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-auth-method.md b/examples/1.9.x/server-go/examples/project/update-auth-method.md index 6809ea9a5..2f37d3afd 100644 --- a/examples/1.9.x/server-go/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-go/examples/project/update-auth-method.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-go/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..52e26c8ad --- /dev/null +++ b/examples/1.9.x/server-go/examples/project/update-deny-aliased-email-policy.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := project.New(client) + +response, error := service.UpdateDenyAliasedEmailPolicy( + false, +) +``` diff --git a/examples/1.9.x/server-go/examples/project/update-deny-disposable-email-policy.md b/examples/1.9.x/server-go/examples/project/update-deny-disposable-email-policy.md index bfe36965b..64ca2e518 100644 --- a/examples/1.9.x/server-go/examples/project/update-deny-disposable-email-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-deny-disposable-email-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-deny-free-email-policy.md b/examples/1.9.x/server-go/examples/project/update-deny-free-email-policy.md index 656bd6ee0..7598819bd 100644 --- a/examples/1.9.x/server-go/examples/project/update-deny-free-email-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-deny-free-email-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-email-template.md b/examples/1.9.x/server-go/examples/project/update-email-template.md index fd52f3928..ad2e3a425 100644 --- a/examples/1.9.x/server-go/examples/project/update-email-template.md +++ b/examples/1.9.x/server-go/examples/project/update-email-template.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-key.md b/examples/1.9.x/server-go/examples/project/update-key.md index be969a3c2..047055ffc 100644 --- a/examples/1.9.x/server-go/examples/project/update-key.md +++ b/examples/1.9.x/server-go/examples/project/update-key.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-labels.md b/examples/1.9.x/server-go/examples/project/update-labels.md index 377a00850..48e441d1b 100644 --- a/examples/1.9.x/server-go/examples/project/update-labels.md +++ b/examples/1.9.x/server-go/examples/project/update-labels.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-linux-platform.md b/examples/1.9.x/server-go/examples/project/update-linux-platform.md index 02af887b4..9ecd4188d 100644 --- a/examples/1.9.x/server-go/examples/project/update-linux-platform.md +++ b/examples/1.9.x/server-go/examples/project/update-linux-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-membership-privacy-policy.md b/examples/1.9.x/server-go/examples/project/update-membership-privacy-policy.md index 687c6f0e2..34c215528 100644 --- a/examples/1.9.x/server-go/examples/project/update-membership-privacy-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-membership-privacy-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-mock-phone.md b/examples/1.9.x/server-go/examples/project/update-mock-phone.md index e03b5c8d0..d18c54fb7 100644 --- a/examples/1.9.x/server-go/examples/project/update-mock-phone.md +++ b/examples/1.9.x/server-go/examples/project/update-mock-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-amazon.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-amazon.md index 40f1328d5..1addc081a 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-amazon.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-amazon.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-apple.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-apple.md index 52a9a7eb3..de68fbcff 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-apple.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-apple.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-auth-0.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-auth-0.md index a0af729e7..eb60aa004 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-auth-0.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-auth-0.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-authentik.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-authentik.md index adf50fca1..1003fc100 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-authentik.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-authentik.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-autodesk.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-autodesk.md index 5dc1b7a80..ed0604a26 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-autodesk.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-autodesk.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitbucket.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitbucket.md index e221a5cc7..689e6f31d 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitbucket.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitbucket.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitly.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitly.md index 86e56a403..6d89fc350 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitly.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-bitly.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-box.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-box.md index eda503e76..d4f9445a9 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-box.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-box.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-dailymotion.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-dailymotion.md index a60b58ae5..f5576bbeb 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-dailymotion.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-dailymotion.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-discord.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-discord.md index 2aa0b489e..3e63e7961 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-discord.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-discord.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-disqus.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-disqus.md index 65cb257b8..1f600f70d 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-disqus.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-disqus.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-dropbox.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-dropbox.md index 43449c156..9409e8c81 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-dropbox.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-dropbox.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-etsy.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-etsy.md index e27df0832..1ab7e1be2 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-etsy.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-etsy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-facebook.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-facebook.md index c71536358..9a48bf5df 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-facebook.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-facebook.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-figma.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-figma.md index 594f730de..03e35052d 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-figma.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-figma.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-fusion-auth.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-fusion-auth.md index 4dcb531b2..028a84941 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-fusion-auth.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-fusion-auth.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-git-hub.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-git-hub.md index ac141d817..b2b788b89 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-git-hub.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-git-hub.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-gitlab.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-gitlab.md index 0da520adf..a3650809a 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-gitlab.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-gitlab.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-google.md index ffdc4f442..77e32a7ff 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-google.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-keycloak.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-keycloak.md index 449b053c6..426fbc95c 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-keycloak.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-keycloak.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-kick.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-kick.md index c074e7588..8af994434 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-kick.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-kick.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-linkedin.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-linkedin.md index 5dc25372b..2b149735e 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-linkedin.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-linkedin.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-microsoft.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-microsoft.md index 993a4fb9e..bf8a63045 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-microsoft.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-microsoft.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-notion.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-notion.md index 6a38af4f4..e0e2a4136 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-notion.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-notion.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-oidc.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-oidc.md index cf72e223e..5baf5f371 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-oidc.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-oidc.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-okta.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-okta.md index 54b705ede..ccb282f75 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-okta.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-okta.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal-sandbox.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal-sandbox.md index e97df81db..2d03deda2 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal-sandbox.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal-sandbox.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal.md index b7eeb3197..6c57a5514 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-paypal.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-podio.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-podio.md index 057f0369f..e99af1282 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-podio.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-podio.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-salesforce.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-salesforce.md index 9439a8e14..e82bbbeee 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-salesforce.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-salesforce.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-slack.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-slack.md index e9fb3f56f..ba8b6135a 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-slack.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-slack.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-spotify.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-spotify.md index 2e8548944..b46637a30 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-spotify.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-spotify.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-stripe.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-stripe.md index 801b26ec4..194a52f02 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-stripe.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-stripe.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift-sandbox.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift-sandbox.md index 93863ebb3..1d39ba7d8 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift-sandbox.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift-sandbox.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift.md index 901b78d5e..e141b7f37 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-tradeshift.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-twitch.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-twitch.md index f79cc0860..90ec75172 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-twitch.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-twitch.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-word-press.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-word-press.md index b9bd6a996..2c6009e20 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-word-press.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-word-press.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-yahoo.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-yahoo.md index da70f7dae..dc6d19a7b 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-yahoo.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-yahoo.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-yandex.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-yandex.md index 94955c321..8f140b659 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-yandex.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-yandex.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoho.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoho.md index 62bc29041..7fa111c7f 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoho.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoho.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoom.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoom.md index afc7519d3..5345d25b7 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoom.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2-zoom.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-o-auth-2x.md b/examples/1.9.x/server-go/examples/project/update-o-auth-2x.md index 596e626d9..605d22f49 100644 --- a/examples/1.9.x/server-go/examples/project/update-o-auth-2x.md +++ b/examples/1.9.x/server-go/examples/project/update-o-auth-2x.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-password-dictionary-policy.md b/examples/1.9.x/server-go/examples/project/update-password-dictionary-policy.md index c3ba706ca..70c7cdfb1 100644 --- a/examples/1.9.x/server-go/examples/project/update-password-dictionary-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-password-dictionary-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-password-history-policy.md b/examples/1.9.x/server-go/examples/project/update-password-history-policy.md index c8a698f8c..11e7eacec 100644 --- a/examples/1.9.x/server-go/examples/project/update-password-history-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-password-history-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-password-personal-data-policy.md b/examples/1.9.x/server-go/examples/project/update-password-personal-data-policy.md index f165c7f5e..8059b224a 100644 --- a/examples/1.9.x/server-go/examples/project/update-password-personal-data-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-password-personal-data-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-protocol.md b/examples/1.9.x/server-go/examples/project/update-protocol.md index af30a8ee0..6b74ddf4e 100644 --- a/examples/1.9.x/server-go/examples/project/update-protocol.md +++ b/examples/1.9.x/server-go/examples/project/update-protocol.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-service.md b/examples/1.9.x/server-go/examples/project/update-service.md index 4efb06c29..156906547 100644 --- a/examples/1.9.x/server-go/examples/project/update-service.md +++ b/examples/1.9.x/server-go/examples/project/update-service.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-session-alert-policy.md b/examples/1.9.x/server-go/examples/project/update-session-alert-policy.md index 321c07f91..cfba3c159 100644 --- a/examples/1.9.x/server-go/examples/project/update-session-alert-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-session-alert-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-session-duration-policy.md b/examples/1.9.x/server-go/examples/project/update-session-duration-policy.md index 3f979d32e..5cc7c9d3d 100644 --- a/examples/1.9.x/server-go/examples/project/update-session-duration-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-session-duration-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-session-invalidation-policy.md b/examples/1.9.x/server-go/examples/project/update-session-invalidation-policy.md index e01da7cdb..76764188a 100644 --- a/examples/1.9.x/server-go/examples/project/update-session-invalidation-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-session-invalidation-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-session-limit-policy.md b/examples/1.9.x/server-go/examples/project/update-session-limit-policy.md index 31518f285..ccde70542 100644 --- a/examples/1.9.x/server-go/examples/project/update-session-limit-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-session-limit-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-smtp.md b/examples/1.9.x/server-go/examples/project/update-smtp.md index c9423a2b8..e3948a65a 100644 --- a/examples/1.9.x/server-go/examples/project/update-smtp.md +++ b/examples/1.9.x/server-go/examples/project/update-smtp.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-user-limit-policy.md b/examples/1.9.x/server-go/examples/project/update-user-limit-policy.md index e3e6de3b1..e146e59b2 100644 --- a/examples/1.9.x/server-go/examples/project/update-user-limit-policy.md +++ b/examples/1.9.x/server-go/examples/project/update-user-limit-policy.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-variable.md b/examples/1.9.x/server-go/examples/project/update-variable.md index 28266ca61..507f9b76c 100644 --- a/examples/1.9.x/server-go/examples/project/update-variable.md +++ b/examples/1.9.x/server-go/examples/project/update-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-web-platform.md b/examples/1.9.x/server-go/examples/project/update-web-platform.md index 2df096b6e..df7a8be2a 100644 --- a/examples/1.9.x/server-go/examples/project/update-web-platform.md +++ b/examples/1.9.x/server-go/examples/project/update-web-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/project/update-windows-platform.md b/examples/1.9.x/server-go/examples/project/update-windows-platform.md index ee074cf99..96b64d986 100644 --- a/examples/1.9.x/server-go/examples/project/update-windows-platform.md +++ b/examples/1.9.x/server-go/examples/project/update-windows-platform.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/project" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/project" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/create-api-rule.md b/examples/1.9.x/server-go/examples/proxy/create-api-rule.md index de1757c2f..632895c01 100644 --- a/examples/1.9.x/server-go/examples/proxy/create-api-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/create-api-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/create-function-rule.md b/examples/1.9.x/server-go/examples/proxy/create-function-rule.md index 2108e21ac..8e1102dba 100644 --- a/examples/1.9.x/server-go/examples/proxy/create-function-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/create-function-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/create-redirect-rule.md b/examples/1.9.x/server-go/examples/proxy/create-redirect-rule.md index fec32800f..5e5b11feb 100644 --- a/examples/1.9.x/server-go/examples/proxy/create-redirect-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/create-redirect-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/create-site-rule.md b/examples/1.9.x/server-go/examples/proxy/create-site-rule.md index b53ee56df..9894b37c6 100644 --- a/examples/1.9.x/server-go/examples/proxy/create-site-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/create-site-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/delete-rule.md b/examples/1.9.x/server-go/examples/proxy/delete-rule.md index 202ad1fcc..3423da0c9 100644 --- a/examples/1.9.x/server-go/examples/proxy/delete-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/delete-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/get-rule.md b/examples/1.9.x/server-go/examples/proxy/get-rule.md index 59a582c0e..45d932386 100644 --- a/examples/1.9.x/server-go/examples/proxy/get-rule.md +++ b/examples/1.9.x/server-go/examples/proxy/get-rule.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/list-rules.md b/examples/1.9.x/server-go/examples/proxy/list-rules.md index 236abf344..d10cac509 100644 --- a/examples/1.9.x/server-go/examples/proxy/list-rules.md +++ b/examples/1.9.x/server-go/examples/proxy/list-rules.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/proxy/update-rule-status.md b/examples/1.9.x/server-go/examples/proxy/update-rule-status.md index e76b0ad42..21546810c 100644 --- a/examples/1.9.x/server-go/examples/proxy/update-rule-status.md +++ b/examples/1.9.x/server-go/examples/proxy/update-rule-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/proxy" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/proxy" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create-deployment.md b/examples/1.9.x/server-go/examples/sites/create-deployment.md index a334d9420..6d1cc83e9 100644 --- a/examples/1.9.x/server-go/examples/sites/create-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/create-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create-duplicate-deployment.md b/examples/1.9.x/server-go/examples/sites/create-duplicate-deployment.md index c116b84d0..b159facd1 100644 --- a/examples/1.9.x/server-go/examples/sites/create-duplicate-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/create-duplicate-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create-template-deployment.md b/examples/1.9.x/server-go/examples/sites/create-template-deployment.md index c9037480a..e067ea5a4 100644 --- a/examples/1.9.x/server-go/examples/sites/create-template-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/create-template-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create-variable.md b/examples/1.9.x/server-go/examples/sites/create-variable.md index 986dab0e5..63824637c 100644 --- a/examples/1.9.x/server-go/examples/sites/create-variable.md +++ b/examples/1.9.x/server-go/examples/sites/create-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create-vcs-deployment.md b/examples/1.9.x/server-go/examples/sites/create-vcs-deployment.md index e0cdc89db..c76608292 100644 --- a/examples/1.9.x/server-go/examples/sites/create-vcs-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/create-vcs-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/create.md b/examples/1.9.x/server-go/examples/sites/create.md index 87ae0eed7..1160f0dc0 100644 --- a/examples/1.9.x/server-go/examples/sites/create.md +++ b/examples/1.9.x/server-go/examples/sites/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/delete-deployment.md b/examples/1.9.x/server-go/examples/sites/delete-deployment.md index 812b4e3f3..053be7f11 100644 --- a/examples/1.9.x/server-go/examples/sites/delete-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/delete-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/delete-log.md b/examples/1.9.x/server-go/examples/sites/delete-log.md index 37be545a9..748dde4aa 100644 --- a/examples/1.9.x/server-go/examples/sites/delete-log.md +++ b/examples/1.9.x/server-go/examples/sites/delete-log.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/delete-variable.md b/examples/1.9.x/server-go/examples/sites/delete-variable.md index b38f2be9e..84588a351 100644 --- a/examples/1.9.x/server-go/examples/sites/delete-variable.md +++ b/examples/1.9.x/server-go/examples/sites/delete-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/delete.md b/examples/1.9.x/server-go/examples/sites/delete.md index 266479a1e..33dc9ad66 100644 --- a/examples/1.9.x/server-go/examples/sites/delete.md +++ b/examples/1.9.x/server-go/examples/sites/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( 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 8443a18b2..d6d66a868 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/get-deployment.md b/examples/1.9.x/server-go/examples/sites/get-deployment.md index bfccb158d..eebff4610 100644 --- a/examples/1.9.x/server-go/examples/sites/get-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/get-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/get-log.md b/examples/1.9.x/server-go/examples/sites/get-log.md index 7c90c3041..6fe5eb82d 100644 --- a/examples/1.9.x/server-go/examples/sites/get-log.md +++ b/examples/1.9.x/server-go/examples/sites/get-log.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/get-variable.md b/examples/1.9.x/server-go/examples/sites/get-variable.md index 306a9adb4..c396f358a 100644 --- a/examples/1.9.x/server-go/examples/sites/get-variable.md +++ b/examples/1.9.x/server-go/examples/sites/get-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/get.md b/examples/1.9.x/server-go/examples/sites/get.md index fff10db82..ad107acf9 100644 --- a/examples/1.9.x/server-go/examples/sites/get.md +++ b/examples/1.9.x/server-go/examples/sites/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list-deployments.md b/examples/1.9.x/server-go/examples/sites/list-deployments.md index 4ebd5bb66..6379f059d 100644 --- a/examples/1.9.x/server-go/examples/sites/list-deployments.md +++ b/examples/1.9.x/server-go/examples/sites/list-deployments.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list-frameworks.md b/examples/1.9.x/server-go/examples/sites/list-frameworks.md index 70dfae01a..01e5a8391 100644 --- a/examples/1.9.x/server-go/examples/sites/list-frameworks.md +++ b/examples/1.9.x/server-go/examples/sites/list-frameworks.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list-logs.md b/examples/1.9.x/server-go/examples/sites/list-logs.md index d81ffdf4b..e6cacb6a1 100644 --- a/examples/1.9.x/server-go/examples/sites/list-logs.md +++ b/examples/1.9.x/server-go/examples/sites/list-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list-specifications.md b/examples/1.9.x/server-go/examples/sites/list-specifications.md index adfb55475..31ecc5440 100644 --- a/examples/1.9.x/server-go/examples/sites/list-specifications.md +++ b/examples/1.9.x/server-go/examples/sites/list-specifications.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list-variables.md b/examples/1.9.x/server-go/examples/sites/list-variables.md index e7b27cf65..658bc9825 100644 --- a/examples/1.9.x/server-go/examples/sites/list-variables.md +++ b/examples/1.9.x/server-go/examples/sites/list-variables.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/list.md b/examples/1.9.x/server-go/examples/sites/list.md index 6e15f6aba..ab859cb8b 100644 --- a/examples/1.9.x/server-go/examples/sites/list.md +++ b/examples/1.9.x/server-go/examples/sites/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/update-deployment-status.md b/examples/1.9.x/server-go/examples/sites/update-deployment-status.md index d2f67341f..33ac8b760 100644 --- a/examples/1.9.x/server-go/examples/sites/update-deployment-status.md +++ b/examples/1.9.x/server-go/examples/sites/update-deployment-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/update-site-deployment.md b/examples/1.9.x/server-go/examples/sites/update-site-deployment.md index 996241a65..eb2453269 100644 --- a/examples/1.9.x/server-go/examples/sites/update-site-deployment.md +++ b/examples/1.9.x/server-go/examples/sites/update-site-deployment.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/update-variable.md b/examples/1.9.x/server-go/examples/sites/update-variable.md index b2e0102b4..64c41320a 100644 --- a/examples/1.9.x/server-go/examples/sites/update-variable.md +++ b/examples/1.9.x/server-go/examples/sites/update-variable.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/sites/update.md b/examples/1.9.x/server-go/examples/sites/update.md index 512c797b2..6d387277e 100644 --- a/examples/1.9.x/server-go/examples/sites/update.md +++ b/examples/1.9.x/server-go/examples/sites/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/sites" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/sites" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/create-bucket.md b/examples/1.9.x/server-go/examples/storage/create-bucket.md index 5c9a270f8..f1f846243 100644 --- a/examples/1.9.x/server-go/examples/storage/create-bucket.md +++ b/examples/1.9.x/server-go/examples/storage/create-bucket.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/create-file.md b/examples/1.9.x/server-go/examples/storage/create-file.md index dcb77b425..275825e0d 100644 --- a/examples/1.9.x/server-go/examples/storage/create-file.md +++ b/examples/1.9.x/server-go/examples/storage/create-file.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/delete-bucket.md b/examples/1.9.x/server-go/examples/storage/delete-bucket.md index dd7c9994e..8347ac285 100644 --- a/examples/1.9.x/server-go/examples/storage/delete-bucket.md +++ b/examples/1.9.x/server-go/examples/storage/delete-bucket.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/delete-file.md b/examples/1.9.x/server-go/examples/storage/delete-file.md index 24d43e19b..4fc1c441e 100644 --- a/examples/1.9.x/server-go/examples/storage/delete-file.md +++ b/examples/1.9.x/server-go/examples/storage/delete-file.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/get-bucket.md b/examples/1.9.x/server-go/examples/storage/get-bucket.md index 878309efb..2e909d588 100644 --- a/examples/1.9.x/server-go/examples/storage/get-bucket.md +++ b/examples/1.9.x/server-go/examples/storage/get-bucket.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( 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 bdd08b58b..928e91752 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( 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 9ebee1af6..f700549be 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( 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 e3aef48a9..489839fe3 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 @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/get-file.md b/examples/1.9.x/server-go/examples/storage/get-file.md index 6d735d55d..f70008613 100644 --- a/examples/1.9.x/server-go/examples/storage/get-file.md +++ b/examples/1.9.x/server-go/examples/storage/get-file.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/list-buckets.md b/examples/1.9.x/server-go/examples/storage/list-buckets.md index bd8728757..1d4605166 100644 --- a/examples/1.9.x/server-go/examples/storage/list-buckets.md +++ b/examples/1.9.x/server-go/examples/storage/list-buckets.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/list-files.md b/examples/1.9.x/server-go/examples/storage/list-files.md index b24d37448..963e6c38d 100644 --- a/examples/1.9.x/server-go/examples/storage/list-files.md +++ b/examples/1.9.x/server-go/examples/storage/list-files.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/update-bucket.md b/examples/1.9.x/server-go/examples/storage/update-bucket.md index c9b5ca15e..a8592efa0 100644 --- a/examples/1.9.x/server-go/examples/storage/update-bucket.md +++ b/examples/1.9.x/server-go/examples/storage/update-bucket.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/storage/update-file.md b/examples/1.9.x/server-go/examples/storage/update-file.md index 7c1381dfe..45bb46f4e 100644 --- a/examples/1.9.x/server-go/examples/storage/update-file.md +++ b/examples/1.9.x/server-go/examples/storage/update-file.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/storage" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/storage" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-big-int-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-big-int-column.md index b302e05f3..b3212a658 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-big-int-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-big-int-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-boolean-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-boolean-column.md index 7bfb230ef..59a31c8f2 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-boolean-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-boolean-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-datetime-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-datetime-column.md index edc7fd249..6c7c370ff 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-datetime-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-datetime-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-email-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-email-column.md index 919d2ce3b..8f1a5c367 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-email-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-email-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-enum-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-enum-column.md index 6832d4129..0639681b4 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-enum-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-enum-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-float-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-float-column.md index e3eebb451..a4a76cd5f 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-float-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-float-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-index.md b/examples/1.9.x/server-go/examples/tablesdb/create-index.md index 1952d3e43..19b8ca677 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-index.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-integer-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-integer-column.md index e582d561c..6fa978994 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-integer-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-integer-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-ip-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-ip-column.md index 090e6f58a..d985d74a5 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-ip-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-ip-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-line-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-line-column.md index ef2fb1048..4cb475d38 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-line-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-line-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-longtext-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-longtext-column.md index bee85c264..0bda2405c 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-longtext-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-longtext-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-mediumtext-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-mediumtext-column.md index c27f82533..a3121d327 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-mediumtext-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-mediumtext-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-operations.md b/examples/1.9.x/server-go/examples/tablesdb/create-operations.md index 98fbecc33..01c07c29d 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-operations.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-operations.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-point-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-point-column.md index 800106257..5dfaa7258 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-point-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-point-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-polygon-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-polygon-column.md index d469cbeb0..a1c78408c 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-polygon-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-polygon-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-relationship-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-relationship-column.md index 6504b6d02..980746288 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-relationship-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-relationship-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-row.md b/examples/1.9.x/server-go/examples/tablesdb/create-row.md index badc5b698..85cb5a72b 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-row.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-row.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-rows.md b/examples/1.9.x/server-go/examples/tablesdb/create-rows.md index 45263b641..e7bc66265 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-rows.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-rows.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-string-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-string-column.md index 86705db8e..52b5c7277 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-string-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-string-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-table.md b/examples/1.9.x/server-go/examples/tablesdb/create-table.md index cb8b64531..bb52de8cd 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-table.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-table.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-text-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-text-column.md index 446f194da..6a1beb8f1 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-text-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-text-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-transaction.md b/examples/1.9.x/server-go/examples/tablesdb/create-transaction.md index 095705dc7..5ccea9577 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-transaction.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-url-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-url-column.md index 7dce3ad4f..af68adc4b 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-url-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-url-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create-varchar-column.md b/examples/1.9.x/server-go/examples/tablesdb/create-varchar-column.md index 01c51d557..d0a370897 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create-varchar-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create-varchar-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/create.md b/examples/1.9.x/server-go/examples/tablesdb/create.md index ef6f1c719..ffe3632bd 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/create.md +++ b/examples/1.9.x/server-go/examples/tablesdb/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/decrement-row-column.md b/examples/1.9.x/server-go/examples/tablesdb/decrement-row-column.md index 9d1a3cd46..e9dbd21f2 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/decrement-row-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/decrement-row-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-column.md b/examples/1.9.x/server-go/examples/tablesdb/delete-column.md index 8236b3b67..131ab9615 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-index.md b/examples/1.9.x/server-go/examples/tablesdb/delete-index.md index 18b122756..b17785de0 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-index.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-row.md b/examples/1.9.x/server-go/examples/tablesdb/delete-row.md index b27275f4e..6a365c5a7 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-row.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-row.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-rows.md b/examples/1.9.x/server-go/examples/tablesdb/delete-rows.md index 53fd14774..e282e991a 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-rows.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-rows.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-table.md b/examples/1.9.x/server-go/examples/tablesdb/delete-table.md index 5d90ab725..af8b11e24 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-table.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-table.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete-transaction.md b/examples/1.9.x/server-go/examples/tablesdb/delete-transaction.md index 56a2aed3f..82eb7b59e 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete-transaction.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/delete.md b/examples/1.9.x/server-go/examples/tablesdb/delete.md index c14d35077..cdb8d0038 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/delete.md +++ b/examples/1.9.x/server-go/examples/tablesdb/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get-column.md b/examples/1.9.x/server-go/examples/tablesdb/get-column.md index 79cc8c166..5c611d474 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get-index.md b/examples/1.9.x/server-go/examples/tablesdb/get-index.md index bf43e34b1..dc5472e7b 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get-index.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get-index.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get-row.md b/examples/1.9.x/server-go/examples/tablesdb/get-row.md index ce83bf630..227944067 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get-row.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get-row.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get-table.md b/examples/1.9.x/server-go/examples/tablesdb/get-table.md index 5c5652160..4d4a09365 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get-table.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get-table.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get-transaction.md b/examples/1.9.x/server-go/examples/tablesdb/get-transaction.md index 46b7f2e0d..545adecc2 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get-transaction.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/get.md b/examples/1.9.x/server-go/examples/tablesdb/get.md index 37da48b77..d8b5b1d24 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/get.md +++ b/examples/1.9.x/server-go/examples/tablesdb/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/increment-row-column.md b/examples/1.9.x/server-go/examples/tablesdb/increment-row-column.md index 914959df3..5281dd108 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/increment-row-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/increment-row-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list-columns.md b/examples/1.9.x/server-go/examples/tablesdb/list-columns.md index f18d66bfb..b33a50a70 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list-columns.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list-columns.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list-indexes.md b/examples/1.9.x/server-go/examples/tablesdb/list-indexes.md index aa79d1bc1..ec6a03b60 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list-indexes.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list-indexes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list-rows.md b/examples/1.9.x/server-go/examples/tablesdb/list-rows.md index 171928f53..5f6e16311 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list-rows.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list-rows.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list-tables.md b/examples/1.9.x/server-go/examples/tablesdb/list-tables.md index edb53e13d..a580af26d 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list-tables.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list-tables.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list-transactions.md b/examples/1.9.x/server-go/examples/tablesdb/list-transactions.md index 29b1a0cac..6212155dc 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list-transactions.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list-transactions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/list.md b/examples/1.9.x/server-go/examples/tablesdb/list.md index 106854d25..6fbd3abd1 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/list.md +++ b/examples/1.9.x/server-go/examples/tablesdb/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-big-int-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-big-int-column.md index 089b8bef8..85f0c166d 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-big-int-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-big-int-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-boolean-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-boolean-column.md index 75615d7cd..ec82db5c6 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-boolean-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-boolean-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-datetime-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-datetime-column.md index 9aa2ee04e..b9300f5ab 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-datetime-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-datetime-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-email-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-email-column.md index 27fe465f0..46db0f906 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-email-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-email-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-enum-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-enum-column.md index ef2cd5f23..5563caf18 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-enum-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-enum-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-float-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-float-column.md index 33a4cc6d5..a304f1b60 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-float-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-float-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-integer-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-integer-column.md index 65f8291ee..5f016d3f7 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-integer-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-integer-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-ip-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-ip-column.md index aa2f77156..f67a968c5 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-ip-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-ip-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-line-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-line-column.md index 14aefaded..58ef19e31 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-line-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-line-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-longtext-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-longtext-column.md index b6ee833aa..325275b77 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-longtext-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-longtext-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-mediumtext-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-mediumtext-column.md index 666d5b007..704828d0d 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-mediumtext-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-mediumtext-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-point-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-point-column.md index 97439c179..dde212bfc 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-point-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-point-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-polygon-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-polygon-column.md index 1529b34c1..b49520acd 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-polygon-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-polygon-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-relationship-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-relationship-column.md index 317892da9..1bc8ee264 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-relationship-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-relationship-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-row.md b/examples/1.9.x/server-go/examples/tablesdb/update-row.md index 8f7198c8a..30a2d644f 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-row.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-row.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-rows.md b/examples/1.9.x/server-go/examples/tablesdb/update-rows.md index 17f8c2777..d0bf880dd 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-rows.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-rows.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-string-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-string-column.md index f029fd5cd..8a5ab0e88 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-string-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-string-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-table.md b/examples/1.9.x/server-go/examples/tablesdb/update-table.md index a4f0b53c8..dff249d0b 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-table.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-table.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-text-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-text-column.md index 15824e23a..2b21c83aa 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-text-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-text-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-transaction.md b/examples/1.9.x/server-go/examples/tablesdb/update-transaction.md index 628dbba6e..ab86872bb 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-transaction.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-transaction.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-url-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-url-column.md index 42be4cd4b..fec3ebcf5 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-url-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-url-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update-varchar-column.md b/examples/1.9.x/server-go/examples/tablesdb/update-varchar-column.md index 3cf41f26a..58cd03d6f 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update-varchar-column.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update-varchar-column.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/update.md b/examples/1.9.x/server-go/examples/tablesdb/update.md index ba3b092c9..31f077c8e 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/update.md +++ b/examples/1.9.x/server-go/examples/tablesdb/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/upsert-row.md b/examples/1.9.x/server-go/examples/tablesdb/upsert-row.md index 85b33af37..12362a102 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/upsert-row.md +++ b/examples/1.9.x/server-go/examples/tablesdb/upsert-row.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tablesdb/upsert-rows.md b/examples/1.9.x/server-go/examples/tablesdb/upsert-rows.md index ea16f4b97..18e1f1497 100644 --- a/examples/1.9.x/server-go/examples/tablesdb/upsert-rows.md +++ b/examples/1.9.x/server-go/examples/tablesdb/upsert-rows.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tablesdb" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tablesdb" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/create-membership.md b/examples/1.9.x/server-go/examples/teams/create-membership.md index e0cf36c7e..943305ee3 100644 --- a/examples/1.9.x/server-go/examples/teams/create-membership.md +++ b/examples/1.9.x/server-go/examples/teams/create-membership.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/create.md b/examples/1.9.x/server-go/examples/teams/create.md index 12f61bc92..a461e14c5 100644 --- a/examples/1.9.x/server-go/examples/teams/create.md +++ b/examples/1.9.x/server-go/examples/teams/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/delete-membership.md b/examples/1.9.x/server-go/examples/teams/delete-membership.md index 729bfbbf9..a3f0fd7f3 100644 --- a/examples/1.9.x/server-go/examples/teams/delete-membership.md +++ b/examples/1.9.x/server-go/examples/teams/delete-membership.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/delete.md b/examples/1.9.x/server-go/examples/teams/delete.md index 87f83363d..2b3cdc695 100644 --- a/examples/1.9.x/server-go/examples/teams/delete.md +++ b/examples/1.9.x/server-go/examples/teams/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/get-membership.md b/examples/1.9.x/server-go/examples/teams/get-membership.md index 2846581b6..ab1b9b9a3 100644 --- a/examples/1.9.x/server-go/examples/teams/get-membership.md +++ b/examples/1.9.x/server-go/examples/teams/get-membership.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/get-prefs.md b/examples/1.9.x/server-go/examples/teams/get-prefs.md index b1e810c29..bdfc49d12 100644 --- a/examples/1.9.x/server-go/examples/teams/get-prefs.md +++ b/examples/1.9.x/server-go/examples/teams/get-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/get.md b/examples/1.9.x/server-go/examples/teams/get.md index c8aa8a539..647279826 100644 --- a/examples/1.9.x/server-go/examples/teams/get.md +++ b/examples/1.9.x/server-go/examples/teams/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/list-memberships.md b/examples/1.9.x/server-go/examples/teams/list-memberships.md index 05e657d5c..443b8a991 100644 --- a/examples/1.9.x/server-go/examples/teams/list-memberships.md +++ b/examples/1.9.x/server-go/examples/teams/list-memberships.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/list.md b/examples/1.9.x/server-go/examples/teams/list.md index 47eee9b00..9ba7fdeab 100644 --- a/examples/1.9.x/server-go/examples/teams/list.md +++ b/examples/1.9.x/server-go/examples/teams/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/update-membership-status.md b/examples/1.9.x/server-go/examples/teams/update-membership-status.md index f7855ebf3..91d47cbef 100644 --- a/examples/1.9.x/server-go/examples/teams/update-membership-status.md +++ b/examples/1.9.x/server-go/examples/teams/update-membership-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/update-membership.md b/examples/1.9.x/server-go/examples/teams/update-membership.md index fe18e2506..9769fff22 100644 --- a/examples/1.9.x/server-go/examples/teams/update-membership.md +++ b/examples/1.9.x/server-go/examples/teams/update-membership.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/update-name.md b/examples/1.9.x/server-go/examples/teams/update-name.md index 062e516a9..11d37ecca 100644 --- a/examples/1.9.x/server-go/examples/teams/update-name.md +++ b/examples/1.9.x/server-go/examples/teams/update-name.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/teams/update-prefs.md b/examples/1.9.x/server-go/examples/teams/update-prefs.md index bc1b957dd..694acd952 100644 --- a/examples/1.9.x/server-go/examples/teams/update-prefs.md +++ b/examples/1.9.x/server-go/examples/teams/update-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/teams" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/teams" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tokens/create-file-token.md b/examples/1.9.x/server-go/examples/tokens/create-file-token.md index a548a250e..2b4baa1af 100644 --- a/examples/1.9.x/server-go/examples/tokens/create-file-token.md +++ b/examples/1.9.x/server-go/examples/tokens/create-file-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tokens" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tokens" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tokens/delete.md b/examples/1.9.x/server-go/examples/tokens/delete.md index 0163a6693..981412d5a 100644 --- a/examples/1.9.x/server-go/examples/tokens/delete.md +++ b/examples/1.9.x/server-go/examples/tokens/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tokens" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tokens" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tokens/get.md b/examples/1.9.x/server-go/examples/tokens/get.md index 32795e185..bca1fce4a 100644 --- a/examples/1.9.x/server-go/examples/tokens/get.md +++ b/examples/1.9.x/server-go/examples/tokens/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tokens" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tokens" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tokens/list.md b/examples/1.9.x/server-go/examples/tokens/list.md index ae03b1742..625251f18 100644 --- a/examples/1.9.x/server-go/examples/tokens/list.md +++ b/examples/1.9.x/server-go/examples/tokens/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tokens" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tokens" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/tokens/update.md b/examples/1.9.x/server-go/examples/tokens/update.md index bb1b592b2..d32aec1b8 100644 --- a/examples/1.9.x/server-go/examples/tokens/update.md +++ b/examples/1.9.x/server-go/examples/tokens/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/tokens" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/tokens" ) client := client.New( 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 new file mode 100644 index 000000000..31a95a53c --- /dev/null +++ b/examples/1.9.x/server-go/examples/usage/list-events.md @@ -0,0 +1,22 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/usage" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := usage.New(client) + +response, error := service.ListEvents( + usage.WithListEventsQueries([]interface{}{}), + usage.WithListEventsTotal(false), +) +``` 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 new file mode 100644 index 000000000..ddfc62983 --- /dev/null +++ b/examples/1.9.x/server-go/examples/usage/list-gauges.md @@ -0,0 +1,22 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/usage" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := usage.New(client) + +response, error := service.ListGauges( + usage.WithListGaugesQueries([]interface{}{}), + usage.WithListGaugesTotal(false), +) +``` diff --git a/examples/1.9.x/server-go/examples/users/create-argon-2-user.md b/examples/1.9.x/server-go/examples/users/create-argon-2-user.md index 0336afdeb..07cfb6b3f 100644 --- a/examples/1.9.x/server-go/examples/users/create-argon-2-user.md +++ b/examples/1.9.x/server-go/examples/users/create-argon-2-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-bcrypt-user.md b/examples/1.9.x/server-go/examples/users/create-bcrypt-user.md index e5d392034..108224cd0 100644 --- a/examples/1.9.x/server-go/examples/users/create-bcrypt-user.md +++ b/examples/1.9.x/server-go/examples/users/create-bcrypt-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-jwt.md b/examples/1.9.x/server-go/examples/users/create-jwt.md index 447f7582d..d8909ebe4 100644 --- a/examples/1.9.x/server-go/examples/users/create-jwt.md +++ b/examples/1.9.x/server-go/examples/users/create-jwt.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-md-5-user.md b/examples/1.9.x/server-go/examples/users/create-md-5-user.md index 01c9d3811..33fdbb6f0 100644 --- a/examples/1.9.x/server-go/examples/users/create-md-5-user.md +++ b/examples/1.9.x/server-go/examples/users/create-md-5-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/users/create-mfa-recovery-codes.md index d6057fa1d..0a259ae19 100644 --- a/examples/1.9.x/server-go/examples/users/create-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/users/create-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-ph-pass-user.md b/examples/1.9.x/server-go/examples/users/create-ph-pass-user.md index 99d279651..a5e8a4125 100644 --- a/examples/1.9.x/server-go/examples/users/create-ph-pass-user.md +++ b/examples/1.9.x/server-go/examples/users/create-ph-pass-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-scrypt-modified-user.md b/examples/1.9.x/server-go/examples/users/create-scrypt-modified-user.md index 5aca10227..6afa4f8e2 100644 --- a/examples/1.9.x/server-go/examples/users/create-scrypt-modified-user.md +++ b/examples/1.9.x/server-go/examples/users/create-scrypt-modified-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-scrypt-user.md b/examples/1.9.x/server-go/examples/users/create-scrypt-user.md index dd516efbb..60c07a15d 100644 --- a/examples/1.9.x/server-go/examples/users/create-scrypt-user.md +++ b/examples/1.9.x/server-go/examples/users/create-scrypt-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-session.md b/examples/1.9.x/server-go/examples/users/create-session.md index 272e53eb8..7b807863d 100644 --- a/examples/1.9.x/server-go/examples/users/create-session.md +++ b/examples/1.9.x/server-go/examples/users/create-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-sha-user.md b/examples/1.9.x/server-go/examples/users/create-sha-user.md index a60342358..d8df83383 100644 --- a/examples/1.9.x/server-go/examples/users/create-sha-user.md +++ b/examples/1.9.x/server-go/examples/users/create-sha-user.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-target.md b/examples/1.9.x/server-go/examples/users/create-target.md index b541958f0..14926a165 100644 --- a/examples/1.9.x/server-go/examples/users/create-target.md +++ b/examples/1.9.x/server-go/examples/users/create-target.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create-token.md b/examples/1.9.x/server-go/examples/users/create-token.md index a1034f486..6e5bdd3d9 100644 --- a/examples/1.9.x/server-go/examples/users/create-token.md +++ b/examples/1.9.x/server-go/examples/users/create-token.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/create.md b/examples/1.9.x/server-go/examples/users/create.md index fb1c32a8a..cd65e5d85 100644 --- a/examples/1.9.x/server-go/examples/users/create.md +++ b/examples/1.9.x/server-go/examples/users/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete-identity.md b/examples/1.9.x/server-go/examples/users/delete-identity.md index 6ac3f57a3..d50912663 100644 --- a/examples/1.9.x/server-go/examples/users/delete-identity.md +++ b/examples/1.9.x/server-go/examples/users/delete-identity.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete-mfa-authenticator.md b/examples/1.9.x/server-go/examples/users/delete-mfa-authenticator.md index 660daf573..da7213db4 100644 --- a/examples/1.9.x/server-go/examples/users/delete-mfa-authenticator.md +++ b/examples/1.9.x/server-go/examples/users/delete-mfa-authenticator.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete-session.md b/examples/1.9.x/server-go/examples/users/delete-session.md index 65a3836cd..2f9b23bef 100644 --- a/examples/1.9.x/server-go/examples/users/delete-session.md +++ b/examples/1.9.x/server-go/examples/users/delete-session.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete-sessions.md b/examples/1.9.x/server-go/examples/users/delete-sessions.md index aad5b8012..7ff72df4f 100644 --- a/examples/1.9.x/server-go/examples/users/delete-sessions.md +++ b/examples/1.9.x/server-go/examples/users/delete-sessions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete-target.md b/examples/1.9.x/server-go/examples/users/delete-target.md index dcc6da5a2..55ab0813c 100644 --- a/examples/1.9.x/server-go/examples/users/delete-target.md +++ b/examples/1.9.x/server-go/examples/users/delete-target.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/delete.md b/examples/1.9.x/server-go/examples/users/delete.md index 38a9349a3..247266a05 100644 --- a/examples/1.9.x/server-go/examples/users/delete.md +++ b/examples/1.9.x/server-go/examples/users/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/get-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/users/get-mfa-recovery-codes.md index 0ee3a1e84..e017e452b 100644 --- a/examples/1.9.x/server-go/examples/users/get-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/users/get-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/get-prefs.md b/examples/1.9.x/server-go/examples/users/get-prefs.md index 20025c5bf..e6367519c 100644 --- a/examples/1.9.x/server-go/examples/users/get-prefs.md +++ b/examples/1.9.x/server-go/examples/users/get-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/get-target.md b/examples/1.9.x/server-go/examples/users/get-target.md index fa8d2003f..9a90efdcd 100644 --- a/examples/1.9.x/server-go/examples/users/get-target.md +++ b/examples/1.9.x/server-go/examples/users/get-target.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/get.md b/examples/1.9.x/server-go/examples/users/get.md index 27c8c1485..9ed504ee1 100644 --- a/examples/1.9.x/server-go/examples/users/get.md +++ b/examples/1.9.x/server-go/examples/users/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-identities.md b/examples/1.9.x/server-go/examples/users/list-identities.md index 6fa04b80c..9a3be96a0 100644 --- a/examples/1.9.x/server-go/examples/users/list-identities.md +++ b/examples/1.9.x/server-go/examples/users/list-identities.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-logs.md b/examples/1.9.x/server-go/examples/users/list-logs.md index 3760b2eae..004a9c2fe 100644 --- a/examples/1.9.x/server-go/examples/users/list-logs.md +++ b/examples/1.9.x/server-go/examples/users/list-logs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-memberships.md b/examples/1.9.x/server-go/examples/users/list-memberships.md index d1e95e853..5fce1161f 100644 --- a/examples/1.9.x/server-go/examples/users/list-memberships.md +++ b/examples/1.9.x/server-go/examples/users/list-memberships.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-mfa-factors.md b/examples/1.9.x/server-go/examples/users/list-mfa-factors.md index 4e73eeaf6..9fe69902b 100644 --- a/examples/1.9.x/server-go/examples/users/list-mfa-factors.md +++ b/examples/1.9.x/server-go/examples/users/list-mfa-factors.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-sessions.md b/examples/1.9.x/server-go/examples/users/list-sessions.md index 5de5e05fd..7dc577ff9 100644 --- a/examples/1.9.x/server-go/examples/users/list-sessions.md +++ b/examples/1.9.x/server-go/examples/users/list-sessions.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list-targets.md b/examples/1.9.x/server-go/examples/users/list-targets.md index 402117e25..9cd72f40a 100644 --- a/examples/1.9.x/server-go/examples/users/list-targets.md +++ b/examples/1.9.x/server-go/examples/users/list-targets.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/list.md b/examples/1.9.x/server-go/examples/users/list.md index bd0be38ba..3aee17e35 100644 --- a/examples/1.9.x/server-go/examples/users/list.md +++ b/examples/1.9.x/server-go/examples/users/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-email-verification.md b/examples/1.9.x/server-go/examples/users/update-email-verification.md index 8efa65a13..93daf5204 100644 --- a/examples/1.9.x/server-go/examples/users/update-email-verification.md +++ b/examples/1.9.x/server-go/examples/users/update-email-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-email.md b/examples/1.9.x/server-go/examples/users/update-email.md index 5ded8bade..1e5faf60b 100644 --- a/examples/1.9.x/server-go/examples/users/update-email.md +++ b/examples/1.9.x/server-go/examples/users/update-email.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-impersonator.md b/examples/1.9.x/server-go/examples/users/update-impersonator.md index 75a5a6b5b..799c1c448 100644 --- a/examples/1.9.x/server-go/examples/users/update-impersonator.md +++ b/examples/1.9.x/server-go/examples/users/update-impersonator.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-labels.md b/examples/1.9.x/server-go/examples/users/update-labels.md index cabb7218e..7152c40f1 100644 --- a/examples/1.9.x/server-go/examples/users/update-labels.md +++ b/examples/1.9.x/server-go/examples/users/update-labels.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-mfa-recovery-codes.md b/examples/1.9.x/server-go/examples/users/update-mfa-recovery-codes.md index 42d935888..531e88be3 100644 --- a/examples/1.9.x/server-go/examples/users/update-mfa-recovery-codes.md +++ b/examples/1.9.x/server-go/examples/users/update-mfa-recovery-codes.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-mfa.md b/examples/1.9.x/server-go/examples/users/update-mfa.md index 8852d4daf..ea1653f0c 100644 --- a/examples/1.9.x/server-go/examples/users/update-mfa.md +++ b/examples/1.9.x/server-go/examples/users/update-mfa.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-name.md b/examples/1.9.x/server-go/examples/users/update-name.md index ade096fcd..79d069b11 100644 --- a/examples/1.9.x/server-go/examples/users/update-name.md +++ b/examples/1.9.x/server-go/examples/users/update-name.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-password.md b/examples/1.9.x/server-go/examples/users/update-password.md index 7aafced97..4f8f32261 100644 --- a/examples/1.9.x/server-go/examples/users/update-password.md +++ b/examples/1.9.x/server-go/examples/users/update-password.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-phone-verification.md b/examples/1.9.x/server-go/examples/users/update-phone-verification.md index 9540c25f0..7dee18dca 100644 --- a/examples/1.9.x/server-go/examples/users/update-phone-verification.md +++ b/examples/1.9.x/server-go/examples/users/update-phone-verification.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-phone.md b/examples/1.9.x/server-go/examples/users/update-phone.md index 9276a5ab2..13ff326d5 100644 --- a/examples/1.9.x/server-go/examples/users/update-phone.md +++ b/examples/1.9.x/server-go/examples/users/update-phone.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-prefs.md b/examples/1.9.x/server-go/examples/users/update-prefs.md index 5bc2a56b5..28f9d48f6 100644 --- a/examples/1.9.x/server-go/examples/users/update-prefs.md +++ b/examples/1.9.x/server-go/examples/users/update-prefs.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-status.md b/examples/1.9.x/server-go/examples/users/update-status.md index 4098a39c1..3a8c0983e 100644 --- a/examples/1.9.x/server-go/examples/users/update-status.md +++ b/examples/1.9.x/server-go/examples/users/update-status.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/users/update-target.md b/examples/1.9.x/server-go/examples/users/update-target.md index 729b9892e..752f58203 100644 --- a/examples/1.9.x/server-go/examples/users/update-target.md +++ b/examples/1.9.x/server-go/examples/users/update-target.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/users" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/users" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/create.md b/examples/1.9.x/server-go/examples/webhooks/create.md index 5568e0f89..afa8e4950 100644 --- a/examples/1.9.x/server-go/examples/webhooks/create.md +++ b/examples/1.9.x/server-go/examples/webhooks/create.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/delete.md b/examples/1.9.x/server-go/examples/webhooks/delete.md index 1857cb158..c47a589d3 100644 --- a/examples/1.9.x/server-go/examples/webhooks/delete.md +++ b/examples/1.9.x/server-go/examples/webhooks/delete.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/get.md b/examples/1.9.x/server-go/examples/webhooks/get.md index 8ccef2b23..88771987b 100644 --- a/examples/1.9.x/server-go/examples/webhooks/get.md +++ b/examples/1.9.x/server-go/examples/webhooks/get.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/list.md b/examples/1.9.x/server-go/examples/webhooks/list.md index 6a314a769..693430671 100644 --- a/examples/1.9.x/server-go/examples/webhooks/list.md +++ b/examples/1.9.x/server-go/examples/webhooks/list.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/update-secret.md b/examples/1.9.x/server-go/examples/webhooks/update-secret.md index fa08fb796..5f63c2630 100644 --- a/examples/1.9.x/server-go/examples/webhooks/update-secret.md +++ b/examples/1.9.x/server-go/examples/webhooks/update-secret.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-go/examples/webhooks/update.md b/examples/1.9.x/server-go/examples/webhooks/update.md index eb0de8d45..7b0b25099 100644 --- a/examples/1.9.x/server-go/examples/webhooks/update.md +++ b/examples/1.9.x/server-go/examples/webhooks/update.md @@ -3,8 +3,8 @@ package main import ( "fmt" - "github.com/appwrite/sdk-for-go/v3/client" - "github.com/appwrite/sdk-for-go/v3/webhooks" + "github.com/appwrite/sdk-for-go/v4/client" + "github.com/appwrite/sdk-for-go/v4/webhooks" ) client := client.New( diff --git a/examples/1.9.x/server-graphql/examples/account/create-push-target.md b/examples/1.9.x/server-graphql/examples/account/create-push-target.md new file mode 100644 index 000000000..3b47523db --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/account/create-push-target.md @@ -0,0 +1,19 @@ +```graphql +mutation { + accountCreatePushTarget( + targetId: "", + identifier: "", + providerId: "" + ) { + _id + _createdAt + _updatedAt + name + userId + providerId + providerType + identifier + expired + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/account/delete-push-target.md b/examples/1.9.x/server-graphql/examples/account/delete-push-target.md new file mode 100644 index 000000000..a8588be93 --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/account/delete-push-target.md @@ -0,0 +1,9 @@ +```graphql +mutation { + accountDeletePushTarget( + targetId: "" + ) { + status + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/account/update-push-target.md b/examples/1.9.x/server-graphql/examples/account/update-push-target.md new file mode 100644 index 000000000..9cd77d826 --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/account/update-push-target.md @@ -0,0 +1,18 @@ +```graphql +mutation { + accountUpdatePushTarget( + targetId: "", + identifier: "" + ) { + _id + _createdAt + _updatedAt + name + userId + providerId + providerType + identifier + expired + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/advisor/delete-report.md b/examples/1.9.x/server-graphql/examples/advisor/delete-report.md new file mode 100644 index 000000000..9c3b5d164 --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/advisor/delete-report.md @@ -0,0 +1,9 @@ +```graphql +mutation { + advisorDeleteReport( + reportId: "" + ) { + status + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/advisor/get-insight.md b/examples/1.9.x/server-graphql/examples/advisor/get-insight.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/advisor/get-insight.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/advisor/get-report.md b/examples/1.9.x/server-graphql/examples/advisor/get-report.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/advisor/get-report.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/advisor/list-insights.md b/examples/1.9.x/server-graphql/examples/advisor/list-insights.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/advisor/list-insights.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/advisor/list-reports.md b/examples/1.9.x/server-graphql/examples/advisor/list-reports.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/advisor/list-reports.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/databases/create.md b/examples/1.9.x/server-graphql/examples/databases/create.md index 11f3dff3f..33c40ae14 100644 --- a/examples/1.9.x/server-graphql/examples/databases/create.md +++ b/examples/1.9.x/server-graphql/examples/databases/create.md @@ -13,40 +13,30 @@ mutation { type policies { _id + name _createdAt _updatedAt - key - type - status - error - attributes - lengths - orders + services + resources + resourceId + resourceType + retention + schedule + enabled } archives { _id _createdAt _updatedAt - _permissions - databaseId - name - enabled - documentSecurity - attributes - indexes { - _id - _createdAt - _updatedAt - key - type - status - error - attributes - lengths - orders - } - bytesMax - bytesUsed + policyId + size + status + startedAt + migrationId + services + resources + resourceId + resourceType } } } diff --git a/examples/1.9.x/server-graphql/examples/databases/update.md b/examples/1.9.x/server-graphql/examples/databases/update.md index 31eb6ba29..5e15c5d20 100644 --- a/examples/1.9.x/server-graphql/examples/databases/update.md +++ b/examples/1.9.x/server-graphql/examples/databases/update.md @@ -13,40 +13,30 @@ mutation { type policies { _id + name _createdAt _updatedAt - key - type - status - error - attributes - lengths - orders + services + resources + resourceId + resourceType + retention + schedule + enabled } archives { _id _createdAt _updatedAt - _permissions - databaseId - name - enabled - documentSecurity - attributes - indexes { - _id - _createdAt - _updatedAt - key - type - status - error - attributes - lengths - orders - } - bytesMax - bytesUsed + policyId + size + status + startedAt + migrationId + services + resources + resourceId + resourceType } } } diff --git a/examples/1.9.x/server-graphql/examples/functions/create-deployment.md b/examples/1.9.x/server-graphql/examples/functions/create-deployment.md index 85716e91b..00b843a8e 100644 --- a/examples/1.9.x/server-graphql/examples/functions/create-deployment.md +++ b/examples/1.9.x/server-graphql/examples/functions/create-deployment.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/deployments HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: Content-Length: *Length of your entity body in bytes* diff --git a/examples/1.9.x/server-graphql/examples/presences/delete.md b/examples/1.9.x/server-graphql/examples/presences/delete.md new file mode 100644 index 000000000..cc8294d0c --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/presences/delete.md @@ -0,0 +1,9 @@ +```graphql +mutation { + presencesDelete( + presenceId: "" + ) { + status + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/presences/get.md b/examples/1.9.x/server-graphql/examples/presences/get.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/presences/get.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/presences/list.md b/examples/1.9.x/server-graphql/examples/presences/list.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/presences/list.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/presences/update-presence.md b/examples/1.9.x/server-graphql/examples/presences/update-presence.md new file mode 100644 index 000000000..babd15b1b --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/presences/update-presence.md @@ -0,0 +1,23 @@ +```graphql +mutation { + presencesUpdatePresence( + presenceId: "", + userId: "", + status: "", + expiresAt: "2020-10-15T06:38:00.000+00:00", + metadata: "{}", + permissions: ["read("any")"], + purge: false + ) { + _id + _createdAt + _updatedAt + _permissions + userId + status + source + expiresAt + data + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/presences/upsert.md b/examples/1.9.x/server-graphql/examples/presences/upsert.md new file mode 100644 index 000000000..3dacdfa42 --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/presences/upsert.md @@ -0,0 +1,22 @@ +```graphql +mutation { + presencesUpsert( + presenceId: "", + userId: "", + status: "", + permissions: ["read("any")"], + expiresAt: "2020-10-15T06:38:00.000+00:00", + metadata: "{}" + ) { + _id + _createdAt + _updatedAt + _permissions + userId + status + source + expiresAt + data + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/project/get.md b/examples/1.9.x/server-graphql/examples/project/get.md new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/project/get.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-graphql/examples/project/update-auth-method.md b/examples/1.9.x/server-graphql/examples/project/update-auth-method.md index b641ba198..4ba633622 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-graphql/examples/project/update-auth-method.md @@ -8,72 +8,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -98,33 +33,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-graphql/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..a1c0cb758 --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/project/update-deny-aliased-email-policy.md @@ -0,0 +1,73 @@ +```graphql +mutation { + projectUpdateDenyAliasedEmailPolicy( + enabled: false + ) { + _id + _createdAt + _updatedAt + name + teamId + 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 + } + region + billingLimits { + bandwidth + storage + users + executions + GBHours + imageTransformations + authPhone + budgetLimit + } + blocks { + _createdAt + resourceType + resourceId + reason + expiredAt + projectName + region + organizationName + organizationId + billingPlan + } + consoleAccessedAt + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/project/update-deny-disposable-email-policy.md b/examples/1.9.x/server-graphql/examples/project/update-deny-disposable-email-policy.md index d9dc8a99d..29b1218ce 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-deny-disposable-email-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-deny-disposable-email-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-deny-free-email-policy.md b/examples/1.9.x/server-graphql/examples/project/update-deny-free-email-policy.md index dd05d4e37..e0ca3340f 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-deny-free-email-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-deny-free-email-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-labels.md b/examples/1.9.x/server-graphql/examples/project/update-labels.md index f5fb202c6..c9767d3c0 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-labels.md +++ b/examples/1.9.x/server-graphql/examples/project/update-labels.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-membership-privacy-policy.md b/examples/1.9.x/server-graphql/examples/project/update-membership-privacy-policy.md index e9f7ccf5c..eca7b54ff 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-membership-privacy-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-membership-privacy-policy.md @@ -11,72 +11,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -101,33 +36,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-password-dictionary-policy.md b/examples/1.9.x/server-graphql/examples/project/update-password-dictionary-policy.md index 5786e1989..de2f5051a 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-password-dictionary-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-password-dictionary-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-password-history-policy.md b/examples/1.9.x/server-graphql/examples/project/update-password-history-policy.md index 58da0aa2c..f79823599 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-password-history-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-password-history-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-password-personal-data-policy.md b/examples/1.9.x/server-graphql/examples/project/update-password-personal-data-policy.md index d07fe54f3..19f72992f 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-password-personal-data-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-password-personal-data-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-protocol.md b/examples/1.9.x/server-graphql/examples/project/update-protocol.md index ea513f535..9db28ed9e 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-protocol.md +++ b/examples/1.9.x/server-graphql/examples/project/update-protocol.md @@ -8,72 +8,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -98,33 +33,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-service.md b/examples/1.9.x/server-graphql/examples/project/update-service.md index c24784701..b91981d74 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-service.md +++ b/examples/1.9.x/server-graphql/examples/project/update-service.md @@ -8,72 +8,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -98,33 +33,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-session-alert-policy.md b/examples/1.9.x/server-graphql/examples/project/update-session-alert-policy.md index 463c228dd..2c849f228 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-session-alert-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-session-alert-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-session-duration-policy.md b/examples/1.9.x/server-graphql/examples/project/update-session-duration-policy.md index 848a60cbd..c7cd3a3b5 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-session-duration-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-session-duration-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-session-invalidation-policy.md b/examples/1.9.x/server-graphql/examples/project/update-session-invalidation-policy.md index 57e493720..cd6b26a31 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-session-invalidation-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-session-invalidation-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-session-limit-policy.md b/examples/1.9.x/server-graphql/examples/project/update-session-limit-policy.md index b37b25d0a..8ed540e0a 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-session-limit-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-session-limit-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-smtp.md b/examples/1.9.x/server-graphql/examples/project/update-smtp.md index 21ab4ee0a..4395957cc 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-smtp.md +++ b/examples/1.9.x/server-graphql/examples/project/update-smtp.md @@ -16,72 +16,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -106,33 +41,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/project/update-user-limit-policy.md b/examples/1.9.x/server-graphql/examples/project/update-user-limit-policy.md index 7b2bf5323..2b84387d6 100644 --- a/examples/1.9.x/server-graphql/examples/project/update-user-limit-policy.md +++ b/examples/1.9.x/server-graphql/examples/project/update-user-limit-policy.md @@ -7,72 +7,7 @@ mutation { _createdAt _updatedAt name - description teamId - logo - url - legalName - legalCountry - legalState - legalCity - legalAddress - legalTaxId - authDuration - authLimit - authSessionsLimit - authPasswordHistory - authPasswordDictionary - authPersonalDataCheck - authDisposableEmails - authCanonicalEmails - authFreeEmails - authMockNumbers { - number - otp - _createdAt - _updatedAt - } - authSessionAlerts - authMembershipsUserName - authMembershipsUserEmail - authMembershipsMfa - authMembershipsUserId - authMembershipsUserPhone - authInvalidateSessions - oAuthProviders { - key - name - appId - secret - enabled - } - platforms - webhooks { - _id - _createdAt - _updatedAt - name - url - events - tls - authUsername - authPassword - secret - enabled - logs - attempts - } - keys { - _id - _createdAt - _updatedAt - name - expire - scopes - secret - accessedAt - sdks - } devKeys { _id _createdAt @@ -97,33 +32,18 @@ mutation { pingedAt labels status - authEmailPassword - authUsersAuthMagicURL - authEmailOtp - authAnonymous - authInvites - authJWT - authPhone - serviceStatusForAccount - serviceStatusForAvatars - serviceStatusForDatabases - serviceStatusForTablesdb - serviceStatusForLocale - serviceStatusForHealth - serviceStatusForProject - serviceStatusForStorage - serviceStatusForTeams - serviceStatusForUsers - serviceStatusForVcs - serviceStatusForSites - serviceStatusForFunctions - serviceStatusForProxy - serviceStatusForGraphql - serviceStatusForMigrations - serviceStatusForMessaging - protocolStatusForRest - protocolStatusForGraphql - protocolStatusForWebsocket + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } region billingLimits { bandwidth diff --git a/examples/1.9.x/server-graphql/examples/sites/create-deployment.md b/examples/1.9.x/server-graphql/examples/sites/create-deployment.md index 0bff9d1b4..f936e7b95 100644 --- a/examples/1.9.x/server-graphql/examples/sites/create-deployment.md +++ b/examples/1.9.x/server-graphql/examples/sites/create-deployment.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/deployments HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: Content-Length: *Length of your entity body in bytes* diff --git a/examples/1.9.x/server-graphql/examples/storage/create-file.md b/examples/1.9.x/server-graphql/examples/storage/create-file.md index b67889866..ff9bab69e 100644 --- a/examples/1.9.x/server-graphql/examples/storage/create-file.md +++ b/examples/1.9.x/server-graphql/examples/storage/create-file.md @@ -2,7 +2,7 @@ POST /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-graphql/examples/storage/update-file.md b/examples/1.9.x/server-graphql/examples/storage/update-file.md index 422596fe9..3442c043d 100644 --- a/examples/1.9.x/server-graphql/examples/storage/update-file.md +++ b/examples/1.9.x/server-graphql/examples/storage/update-file.md @@ -15,6 +15,7 @@ mutation { signature mimeType sizeOriginal + sizeActual chunksTotal chunksUploaded encryption diff --git a/examples/1.9.x/server-graphql/examples/tablesdb/create.md b/examples/1.9.x/server-graphql/examples/tablesdb/create.md index a7cdec95a..872b53bd4 100644 --- a/examples/1.9.x/server-graphql/examples/tablesdb/create.md +++ b/examples/1.9.x/server-graphql/examples/tablesdb/create.md @@ -13,40 +13,30 @@ mutation { type policies { _id + name _createdAt _updatedAt - key - type - status - error - attributes - lengths - orders + services + resources + resourceId + resourceType + retention + schedule + enabled } archives { _id _createdAt _updatedAt - _permissions - databaseId - name - enabled - documentSecurity - attributes - indexes { - _id - _createdAt - _updatedAt - key - type - status - error - attributes - lengths - orders - } - bytesMax - bytesUsed + policyId + size + status + startedAt + migrationId + services + resources + resourceId + resourceType } } } diff --git a/examples/1.9.x/server-graphql/examples/tablesdb/update.md b/examples/1.9.x/server-graphql/examples/tablesdb/update.md index cd78199cc..da39d113a 100644 --- a/examples/1.9.x/server-graphql/examples/tablesdb/update.md +++ b/examples/1.9.x/server-graphql/examples/tablesdb/update.md @@ -13,40 +13,30 @@ mutation { type policies { _id + name _createdAt _updatedAt - key - type - status - error - attributes - lengths - orders + services + resources + resourceId + resourceType + retention + schedule + enabled } archives { _id _createdAt _updatedAt - _permissions - databaseId - name - enabled - documentSecurity - attributes - indexes { - _id - _createdAt - _updatedAt - key - type - status - error - attributes - lengths - orders - } - bytesMax - bytesUsed + policyId + size + status + startedAt + migrationId + services + resources + resourceId + resourceType } } } 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 new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/usage/list-events.md @@ -0,0 +1,2 @@ +```graphql +``` 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 new file mode 100644 index 000000000..d7962b96e --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/usage/list-gauges.md @@ -0,0 +1,2 @@ +```graphql +``` diff --git a/examples/1.9.x/server-kotlin/java/account/create-push-target.md b/examples/1.9.x/server-kotlin/java/account/create-push-target.md new file mode 100644 index 000000000..303c36cc6 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/account/create-push-target.md @@ -0,0 +1,27 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Account; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession(""); // The user session to authenticate with + +Account account = new Account(client); + +account.createPushTarget( + "", // targetId + "", // identifier + "", // providerId (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/account/delete-push-target.md b/examples/1.9.x/server-kotlin/java/account/delete-push-target.md new file mode 100644 index 000000000..60922558d --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/account/delete-push-target.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Account; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession(""); // The user session to authenticate with + +Account account = new Account(client); + +account.deletePushTarget( + "", // targetId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/account/update-push-target.md b/examples/1.9.x/server-kotlin/java/account/update-push-target.md new file mode 100644 index 000000000..02d1a7e7c --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/account/update-push-target.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Account; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession(""); // The user session to authenticate with + +Account account = new Account(client); + +account.updatePushTarget( + "", // targetId + "", // identifier + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/advisor/delete-report.md b/examples/1.9.x/server-kotlin/java/advisor/delete-report.md new file mode 100644 index 000000000..1ecfdda81 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/advisor/delete-report.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Advisor; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Advisor advisor = new Advisor(client); + +advisor.deleteReport( + "", // reportId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/advisor/get-insight.md b/examples/1.9.x/server-kotlin/java/advisor/get-insight.md new file mode 100644 index 000000000..324de8563 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/advisor/get-insight.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Advisor; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Advisor advisor = new Advisor(client); + +advisor.getInsight( + "", // reportId + "", // insightId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/advisor/get-report.md b/examples/1.9.x/server-kotlin/java/advisor/get-report.md new file mode 100644 index 000000000..3cc1a07d0 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/advisor/get-report.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Advisor; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Advisor advisor = new Advisor(client); + +advisor.getReport( + "", // reportId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/advisor/list-insights.md b/examples/1.9.x/server-kotlin/java/advisor/list-insights.md new file mode 100644 index 000000000..5aecf631b --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/advisor/list-insights.md @@ -0,0 +1,27 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Advisor; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Advisor advisor = new Advisor(client); + +advisor.listInsights( + "", // reportId + List.of(), // queries (optional) + false, // total (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/advisor/list-reports.md b/examples/1.9.x/server-kotlin/java/advisor/list-reports.md new file mode 100644 index 000000000..a8a5a46a6 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/advisor/list-reports.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Advisor; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Advisor advisor = new Advisor(client); + +advisor.listReports( + List.of(), // queries (optional) + false, // total (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` 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 368e792d6..8110b1c34 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 @@ -27,7 +27,7 @@ avatars.getScreenshot( "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // userAgent (optional) true, // fullpage (optional) "en-US", // locale (optional) - Timezone.AMERICA_NEW_YORK, // timezone (optional) + Timezone.AFRICA_ABIDJAN, // timezone (optional) 37.7749, // latitude (optional) -122.4194, // longitude (optional) 100, // accuracy (optional) diff --git a/examples/1.9.x/server-kotlin/java/presences/delete.md b/examples/1.9.x/server-kotlin/java/presences/delete.md new file mode 100644 index 000000000..5c797c21a --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/presences/delete.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Presences presences = new Presences(client); + +presences.delete( + "", // presenceId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/presences/get.md b/examples/1.9.x/server-kotlin/java/presences/get.md new file mode 100644 index 000000000..17868cec8 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/presences/get.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Presences presences = new Presences(client); + +presences.get( + "", // presenceId + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/presences/list.md b/examples/1.9.x/server-kotlin/java/presences/list.md new file mode 100644 index 000000000..b43741d29 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/presences/list.md @@ -0,0 +1,27 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Presences; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Presences presences = new Presences(client); + +presences.list( + List.of(), // queries (optional) + false, // total (optional) + 0, // ttl (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/presences/update-presence.md b/examples/1.9.x/server-kotlin/java/presences/update-presence.md new file mode 100644 index 000000000..f94e70566 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/presences/update-presence.md @@ -0,0 +1,33 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.Permission; +import io.appwrite.Role; +import io.appwrite.services.Presences; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Presences presences = new Presences(client); + +presences.updatePresence( + "", // presenceId + "", // userId + "", // status (optional) + "2020-10-15T06:38:00.000+00:00", // expiresAt (optional) + Map.of("a", "b"), // metadata (optional) + List.of(Permission.read(Role.any())), // permissions (optional) + false, // purge (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/presences/upsert.md b/examples/1.9.x/server-kotlin/java/presences/upsert.md new file mode 100644 index 000000000..df15d7080 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/presences/upsert.md @@ -0,0 +1,32 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.Permission; +import io.appwrite.Role; +import io.appwrite.services.Presences; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Presences presences = new Presences(client); + +presences.upsert( + "", // presenceId + "", // userId + "", // status + List.of(Permission.read(Role.any())), // permissions (optional) + "2020-10-15T06:38:00.000+00:00", // expiresAt (optional) + Map.of("a", "b"), // metadata (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/project/create-ephemeral-key.md b/examples/1.9.x/server-kotlin/java/project/create-ephemeral-key.md index 3ab362596..545e16d25 100644 --- a/examples/1.9.x/server-kotlin/java/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-kotlin/java/project/create-ephemeral-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.Scopes; +import io.appwrite.enums.ProjectKeyScopes; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.createEphemeralKey( - List.of(Scopes.PROJECT_READ), // scopes + List.of(ProjectKeyScopes.PROJECT_READ), // scopes 600, // duration new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/create-key.md b/examples/1.9.x/server-kotlin/java/project/create-key.md index 2a0ec20ef..fdfd7d388 100644 --- a/examples/1.9.x/server-kotlin/java/project/create-key.md +++ b/examples/1.9.x/server-kotlin/java/project/create-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.Scopes; +import io.appwrite.enums.ProjectKeyScopes; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ Project project = new Project(client); project.createKey( "", // keyId "", // name - List.of(Scopes.PROJECT_READ), // scopes + List.of(ProjectKeyScopes.PROJECT_READ), // scopes "2020-10-15T06:38:00.000+00:00", // expire (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/get-email-template.md b/examples/1.9.x/server-kotlin/java/project/get-email-template.md index 4dcd82b02..ee1e3811f 100644 --- a/examples/1.9.x/server-kotlin/java/project/get-email-template.md +++ b/examples/1.9.x/server-kotlin/java/project/get-email-template.md @@ -2,8 +2,8 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.EmailTemplateType; -import io.appwrite.enums.EmailTemplateLocale; +import io.appwrite.enums.ProjectEmailTemplateId; +import io.appwrite.enums.ProjectEmailTemplateLocale; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -13,8 +13,8 @@ Client client = new Client() Project project = new Project(client); project.getEmailTemplate( - EmailTemplateType.VERIFICATION, // templateId - EmailTemplateLocale.AF, // locale (optional) + ProjectEmailTemplateId.VERIFICATION, // templateId + ProjectEmailTemplateLocale.AF, // locale (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { error.printStackTrace(); diff --git a/examples/1.9.x/server-kotlin/java/project/get-o-auth-2-provider.md b/examples/1.9.x/server-kotlin/java/project/get-o-auth-2-provider.md index 75de22943..cf3f9636d 100644 --- a/examples/1.9.x/server-kotlin/java/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-kotlin/java/project/get-o-auth-2-provider.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.OAuthProvider; +import io.appwrite.enums.ProjectOAuthProviderId; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.getOAuth2Provider( - OAuthProvider.AMAZON, // providerId + ProjectOAuthProviderId.AMAZON, // providerId new CoroutineCallback<>((result, error) -> { if (error != null) { error.printStackTrace(); diff --git a/examples/1.9.x/server-kotlin/java/project/get-policy.md b/examples/1.9.x/server-kotlin/java/project/get-policy.md index 0530cefb7..9252383f0 100644 --- a/examples/1.9.x/server-kotlin/java/project/get-policy.md +++ b/examples/1.9.x/server-kotlin/java/project/get-policy.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.ProjectPolicy; +import io.appwrite.enums.ProjectPolicyId; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.getPolicy( - ProjectPolicy.PASSWORD_DICTIONARY, // policyId + ProjectPolicyId.PASSWORD_DICTIONARY, // policyId new CoroutineCallback<>((result, error) -> { if (error != null) { error.printStackTrace(); diff --git a/examples/1.9.x/server-kotlin/java/project/get.md b/examples/1.9.x/server-kotlin/java/project/get.md new file mode 100644 index 000000000..125c5bf5e --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/project/get.md @@ -0,0 +1,21 @@ +```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.get(new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); +})); +``` diff --git a/examples/1.9.x/server-kotlin/java/project/update-auth-method.md b/examples/1.9.x/server-kotlin/java/project/update-auth-method.md index 01335a9d2..cc05ab051 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-auth-method.md +++ b/examples/1.9.x/server-kotlin/java/project/update-auth-method.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.AuthMethod; +import io.appwrite.enums.ProjectAuthMethodId; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.updateAuthMethod( - AuthMethod.EMAIL_PASSWORD, // methodId + ProjectAuthMethodId.EMAIL_PASSWORD, // methodId false, // enabled new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-kotlin/java/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..407172c60 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy( + 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/project/update-email-template.md b/examples/1.9.x/server-kotlin/java/project/update-email-template.md index bce029893..b0b2302f5 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-email-template.md +++ b/examples/1.9.x/server-kotlin/java/project/update-email-template.md @@ -2,8 +2,8 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.EmailTemplateType; -import io.appwrite.enums.EmailTemplateLocale; +import io.appwrite.enums.ProjectEmailTemplateId; +import io.appwrite.enums.ProjectEmailTemplateLocale; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -13,8 +13,8 @@ Client client = new Client() Project project = new Project(client); project.updateEmailTemplate( - EmailTemplateType.VERIFICATION, // templateId - EmailTemplateLocale.AF, // locale (optional) + ProjectEmailTemplateId.VERIFICATION, // templateId + ProjectEmailTemplateLocale.AF, // locale (optional) "", // subject (optional) "", // message (optional) "", // senderName (optional) diff --git a/examples/1.9.x/server-kotlin/java/project/update-key.md b/examples/1.9.x/server-kotlin/java/project/update-key.md index aee5f2b94..4fa79bbbb 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-key.md +++ b/examples/1.9.x/server-kotlin/java/project/update-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.Scopes; +import io.appwrite.enums.ProjectKeyScopes; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ Project project = new Project(client); project.updateKey( "", // keyId "", // name - List.of(Scopes.PROJECT_READ), // scopes + List.of(ProjectKeyScopes.PROJECT_READ), // scopes "2020-10-15T06:38:00.000+00:00", // expire (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/update-o-auth-2-google.md b/examples/1.9.x/server-kotlin/java/project/update-o-auth-2-google.md index 661fd2370..19b22f9d7 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-kotlin/java/project/update-o-auth-2-google.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.Prompt; +import io.appwrite.enums.ProjectOAuth2GooglePrompt; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ Project project = new Project(client); project.updateOAuth2Google( "", // clientId (optional) "", // clientSecret (optional) - List.of(Prompt.NONE), // prompt (optional) + List.of(ProjectOAuth2GooglePrompt.NONE), // prompt (optional) false, // enabled (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/update-protocol.md b/examples/1.9.x/server-kotlin/java/project/update-protocol.md index d7d633619..0ef3ace0a 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-protocol.md +++ b/examples/1.9.x/server-kotlin/java/project/update-protocol.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.ProtocolId; +import io.appwrite.enums.ProjectProtocolId; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.updateProtocol( - ProtocolId.REST, // protocolId + ProjectProtocolId.REST, // protocolId false, // enabled new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/update-service.md b/examples/1.9.x/server-kotlin/java/project/update-service.md index 33e483af0..663fdd04b 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-service.md +++ b/examples/1.9.x/server-kotlin/java/project/update-service.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.ServiceId; +import io.appwrite.enums.ProjectServiceId; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ Client client = new Client() Project project = new Project(client); project.updateService( - ServiceId.ACCOUNT, // serviceId + ProjectServiceId.ACCOUNT, // serviceId false, // enabled new CoroutineCallback<>((result, error) -> { if (error != null) { diff --git a/examples/1.9.x/server-kotlin/java/project/update-smtp.md b/examples/1.9.x/server-kotlin/java/project/update-smtp.md index e3bc418ce..77c02a3e4 100644 --- a/examples/1.9.x/server-kotlin/java/project/update-smtp.md +++ b/examples/1.9.x/server-kotlin/java/project/update-smtp.md @@ -2,7 +2,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Project; -import io.appwrite.enums.Secure; +import io.appwrite.enums.ProjectSMTPSecure; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -20,7 +20,7 @@ project.updateSMTP( "", // senderName (optional) "email@example.com", // replyToEmail (optional) "", // replyToName (optional) - Secure.TLS, // secure (optional) + ProjectSMTPSecure.TLS, // secure (optional) false, // enabled (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { 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 new file mode 100644 index 000000000..3c80be062 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/usage/list-events.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Usage; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Usage usage = new Usage(client); + +usage.listEvents( + List.of(), // queries (optional) + false, // total (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` 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 new file mode 100644 index 000000000..71b26c949 --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/usage/list-gauges.md @@ -0,0 +1,26 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Usage; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Usage usage = new Usage(client); + +usage.listGauges( + List.of(), // queries (optional) + false, // total (optional) + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/account/create-push-target.md b/examples/1.9.x/server-kotlin/kotlin/account/create-push-target.md new file mode 100644 index 000000000..0cc975ced --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/account/create-push-target.md @@ -0,0 +1,18 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Account + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +val account = Account(client) + +val response = account.createPushTarget( + targetId = "", + identifier = "", + providerId = "" // optional +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/account/delete-push-target.md b/examples/1.9.x/server-kotlin/kotlin/account/delete-push-target.md new file mode 100644 index 000000000..2ced3ea42 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/account/delete-push-target.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Account + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +val account = Account(client) + +val response = account.deletePushTarget( + targetId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/account/update-push-target.md b/examples/1.9.x/server-kotlin/kotlin/account/update-push-target.md new file mode 100644 index 000000000..179583a7c --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/account/update-push-target.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Account + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +val account = Account(client) + +val response = account.updatePushTarget( + targetId = "", + identifier = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/advisor/delete-report.md b/examples/1.9.x/server-kotlin/kotlin/advisor/delete-report.md new file mode 100644 index 000000000..bc77810fe --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/advisor/delete-report.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Advisor + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val advisor = Advisor(client) + +val response = advisor.deleteReport( + reportId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/advisor/get-insight.md b/examples/1.9.x/server-kotlin/kotlin/advisor/get-insight.md new file mode 100644 index 000000000..44ea4391e --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/advisor/get-insight.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Advisor + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val advisor = Advisor(client) + +val response = advisor.getInsight( + reportId = "", + insightId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/advisor/get-report.md b/examples/1.9.x/server-kotlin/kotlin/advisor/get-report.md new file mode 100644 index 000000000..b32c0cd6d --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/advisor/get-report.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Advisor + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val advisor = Advisor(client) + +val response = advisor.getReport( + reportId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/advisor/list-insights.md b/examples/1.9.x/server-kotlin/kotlin/advisor/list-insights.md new file mode 100644 index 000000000..b5cd6cf2e --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/advisor/list-insights.md @@ -0,0 +1,18 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Advisor + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val advisor = Advisor(client) + +val response = advisor.listInsights( + reportId = "", + queries = listOf(), // optional + total = false // optional +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/advisor/list-reports.md b/examples/1.9.x/server-kotlin/kotlin/advisor/list-reports.md new file mode 100644 index 000000000..815eaf325 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/advisor/list-reports.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Advisor + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val advisor = Advisor(client) + +val response = advisor.listReports( + queries = listOf(), // optional + total = false // optional +) +``` 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 7f735d41e..0c6bc62b1 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 @@ -27,7 +27,7 @@ val result = avatars.getScreenshot( userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // optional fullpage = true, // optional locale = "en-US", // optional - timezone = Timezone.AMERICA_NEW_YORK, // optional + timezone = Timezone.AFRICA_ABIDJAN, // optional latitude = 37.7749, // optional longitude = -122.4194, // optional accuracy = 100, // optional diff --git a/examples/1.9.x/server-kotlin/kotlin/presences/delete.md b/examples/1.9.x/server-kotlin/kotlin/presences/delete.md new file mode 100644 index 000000000..f19489f26 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/presences/delete.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val presences = Presences(client) + +val response = presences.delete( + presenceId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/presences/get.md b/examples/1.9.x/server-kotlin/kotlin/presences/get.md new file mode 100644 index 000000000..bf1529539 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/presences/get.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val presences = Presences(client) + +val response = presences.get( + presenceId = "" +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/presences/list.md b/examples/1.9.x/server-kotlin/kotlin/presences/list.md new file mode 100644 index 000000000..3426a0a29 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/presences/list.md @@ -0,0 +1,18 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val presences = Presences(client) + +val response = presences.list( + queries = listOf(), // optional + total = false, // optional + ttl = 0 // optional +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/presences/update-presence.md b/examples/1.9.x/server-kotlin/kotlin/presences/update-presence.md new file mode 100644 index 000000000..3b3d41c73 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/presences/update-presence.md @@ -0,0 +1,24 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences +import io.appwrite.Permission +import io.appwrite.Role + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val presences = Presences(client) + +val response = presences.updatePresence( + presenceId = "", + userId = "", + status = "", // optional + expiresAt = "2020-10-15T06:38:00.000+00:00", // optional + metadata = mapOf( "a" to "b" ), // optional + permissions = listOf(Permission.read(Role.any())), // optional + purge = false // optional +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/presences/upsert.md b/examples/1.9.x/server-kotlin/kotlin/presences/upsert.md new file mode 100644 index 000000000..39d0c859b --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/presences/upsert.md @@ -0,0 +1,23 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Presences +import io.appwrite.Permission +import io.appwrite.Role + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val presences = Presences(client) + +val response = presences.upsert( + presenceId = "", + userId = "", + status = "", + permissions = listOf(Permission.read(Role.any())), // optional + expiresAt = "2020-10-15T06:38:00.000+00:00", // optional + metadata = mapOf( "a" to "b" ) // optional +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/create-ephemeral-key.md b/examples/1.9.x/server-kotlin/kotlin/project/create-ephemeral-key.md index f60b97bad..b29f4b406 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/create-ephemeral-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.Scopes +import io.appwrite.enums.ProjectKeyScopes val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ val client = Client() val project = Project(client) val response = project.createEphemeralKey( - scopes = listOf(Scopes.PROJECT_READ), + scopes = listOf(ProjectKeyScopes.PROJECT_READ), duration = 600 ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/create-key.md b/examples/1.9.x/server-kotlin/kotlin/project/create-key.md index 3334d97c0..4a946f48f 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/create-key.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/create-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.Scopes +import io.appwrite.enums.ProjectKeyScopes val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ val project = Project(client) val response = project.createKey( keyId = "", name = "", - scopes = listOf(Scopes.PROJECT_READ), + scopes = listOf(ProjectKeyScopes.PROJECT_READ), expire = "2020-10-15T06:38:00.000+00:00" // optional ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/get-email-template.md b/examples/1.9.x/server-kotlin/kotlin/project/get-email-template.md index 523d19c56..afb83fb05 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/get-email-template.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/get-email-template.md @@ -2,8 +2,8 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.EmailTemplateType -import io.appwrite.enums.EmailTemplateLocale +import io.appwrite.enums.ProjectEmailTemplateId +import io.appwrite.enums.ProjectEmailTemplateLocale val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -13,7 +13,7 @@ val client = Client() val project = Project(client) val response = project.getEmailTemplate( - templateId = EmailTemplateType.VERIFICATION, - locale = EmailTemplateLocale.AF // optional + templateId = ProjectEmailTemplateId.VERIFICATION, + locale = ProjectEmailTemplateLocale.AF // optional ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/get-o-auth-2-provider.md b/examples/1.9.x/server-kotlin/kotlin/project/get-o-auth-2-provider.md index e661d01e3..7a41003d7 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/get-o-auth-2-provider.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.OAuthProvider +import io.appwrite.enums.ProjectOAuthProviderId val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,6 +12,6 @@ val client = Client() val project = Project(client) val response = project.getOAuth2Provider( - providerId = OAuthProvider.AMAZON + providerId = ProjectOAuthProviderId.AMAZON ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/get-policy.md b/examples/1.9.x/server-kotlin/kotlin/project/get-policy.md index 2ca325593..62b5dcd54 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/get-policy.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/get-policy.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.ProjectPolicy +import io.appwrite.enums.ProjectPolicyId val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,6 +12,6 @@ val client = Client() val project = Project(client) val response = project.getPolicy( - policyId = ProjectPolicy.PASSWORD_DICTIONARY + policyId = ProjectPolicyId.PASSWORD_DICTIONARY ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/get.md b/examples/1.9.x/server-kotlin/kotlin/project/get.md new file mode 100644 index 000000000..c910566a6 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/project/get.md @@ -0,0 +1,14 @@ +```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.get() +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-auth-method.md b/examples/1.9.x/server-kotlin/kotlin/project/update-auth-method.md index 60e4e15a5..0761cf5a6 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-auth-method.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-auth-method.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.AuthMethod +import io.appwrite.enums.ProjectAuthMethodId val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ val client = Client() val project = Project(client) val response = project.updateAuthMethod( - methodId = AuthMethod.EMAIL_PASSWORD, + methodId = ProjectAuthMethodId.EMAIL_PASSWORD, enabled = false ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-kotlin/kotlin/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..93cc56667 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy( + enabled = false +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-email-template.md b/examples/1.9.x/server-kotlin/kotlin/project/update-email-template.md index 7e8bdf9a4..211ac14c2 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-email-template.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-email-template.md @@ -2,8 +2,8 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.EmailTemplateType -import io.appwrite.enums.EmailTemplateLocale +import io.appwrite.enums.ProjectEmailTemplateId +import io.appwrite.enums.ProjectEmailTemplateLocale val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -13,8 +13,8 @@ val client = Client() val project = Project(client) val response = project.updateEmailTemplate( - templateId = EmailTemplateType.VERIFICATION, - locale = EmailTemplateLocale.AF, // optional + templateId = ProjectEmailTemplateId.VERIFICATION, + locale = ProjectEmailTemplateLocale.AF, // optional subject = "", // optional message = "", // optional senderName = "", // optional diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-key.md b/examples/1.9.x/server-kotlin/kotlin/project/update-key.md index 4f80f5269..714a20e20 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-key.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-key.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.Scopes +import io.appwrite.enums.ProjectKeyScopes val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ val project = Project(client) val response = project.updateKey( keyId = "", name = "", - scopes = listOf(Scopes.PROJECT_READ), + scopes = listOf(ProjectKeyScopes.PROJECT_READ), expire = "2020-10-15T06:38:00.000+00:00" // optional ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-o-auth-2-google.md b/examples/1.9.x/server-kotlin/kotlin/project/update-o-auth-2-google.md index 0de29215b..d083b2987 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-o-auth-2-google.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.Prompt +import io.appwrite.enums.ProjectOAuth2GooglePrompt val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -14,7 +14,7 @@ val project = Project(client) val response = project.updateOAuth2Google( clientId = "", // optional clientSecret = "", // optional - prompt = listOf(Prompt.NONE), // optional + prompt = listOf(ProjectOAuth2GooglePrompt.NONE), // optional enabled = false // optional ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-protocol.md b/examples/1.9.x/server-kotlin/kotlin/project/update-protocol.md index b6105c3f0..fe9533b27 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-protocol.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-protocol.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.ProtocolId +import io.appwrite.enums.ProjectProtocolId val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ val client = Client() val project = Project(client) val response = project.updateProtocol( - protocolId = ProtocolId.REST, + protocolId = ProjectProtocolId.REST, enabled = false ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-service.md b/examples/1.9.x/server-kotlin/kotlin/project/update-service.md index 8fd701c2d..19943d7dd 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-service.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-service.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.ServiceId +import io.appwrite.enums.ProjectServiceId val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -12,7 +12,7 @@ val client = Client() val project = Project(client) val response = project.updateService( - serviceId = ServiceId.ACCOUNT, + serviceId = ProjectServiceId.ACCOUNT, enabled = false ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-smtp.md b/examples/1.9.x/server-kotlin/kotlin/project/update-smtp.md index eb25b039d..56b1a667e 100644 --- a/examples/1.9.x/server-kotlin/kotlin/project/update-smtp.md +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-smtp.md @@ -2,7 +2,7 @@ import io.appwrite.Client import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Project -import io.appwrite.enums.Secure +import io.appwrite.enums.ProjectSMTPSecure val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint @@ -20,7 +20,7 @@ val response = project.updateSMTP( senderName = "", // optional replyToEmail = "email@example.com", // optional replyToName = "", // optional - secure = Secure.TLS, // optional + secure = ProjectSMTPSecure.TLS, // optional enabled = false // optional ) ``` 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 new file mode 100644 index 000000000..055fe1f71 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/usage/list-events.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Usage + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val usage = Usage(client) + +val response = usage.listEvents( + queries = listOf(), // optional + total = false // 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 new file mode 100644 index 000000000..77f13483c --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/usage/list-gauges.md @@ -0,0 +1,17 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Usage + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val usage = Usage(client) + +val response = usage.listGauges( + queries = listOf(), // optional + total = false // optional +) +``` diff --git a/examples/1.9.x/server-nodejs/examples/account/create-push-target.md b/examples/1.9.x/server-nodejs/examples/account/create-push-target.md new file mode 100644 index 000000000..547be4918 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/account/create-push-target.md @@ -0,0 +1,16 @@ +```javascript +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 + +const account = new sdk.Account(client); + +const result = await account.createPushTarget({ + targetId: '', + identifier: '', + providerId: '' // optional +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/account/delete-push-target.md b/examples/1.9.x/server-nodejs/examples/account/delete-push-target.md new file mode 100644 index 000000000..ddf84323a --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/account/delete-push-target.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 + .setSession(''); // The user session to authenticate with + +const account = new sdk.Account(client); + +const result = await account.deletePushTarget({ + targetId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/account/update-push-target.md b/examples/1.9.x/server-nodejs/examples/account/update-push-target.md new file mode 100644 index 000000000..e24397e6a --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/account/update-push-target.md @@ -0,0 +1,15 @@ +```javascript +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 + +const account = new sdk.Account(client); + +const result = await account.updatePushTarget({ + targetId: '', + identifier: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/advisor/delete-report.md b/examples/1.9.x/server-nodejs/examples/advisor/delete-report.md new file mode 100644 index 000000000..8169db077 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/advisor/delete-report.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 advisor = new sdk.Advisor(client); + +const result = await advisor.deleteReport({ + reportId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/advisor/get-insight.md b/examples/1.9.x/server-nodejs/examples/advisor/get-insight.md new file mode 100644 index 000000000..7a625d28e --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/advisor/get-insight.md @@ -0,0 +1,15 @@ +```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 advisor = new sdk.Advisor(client); + +const result = await advisor.getInsight({ + reportId: '', + insightId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/advisor/get-report.md b/examples/1.9.x/server-nodejs/examples/advisor/get-report.md new file mode 100644 index 000000000..abd111c0f --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/advisor/get-report.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 advisor = new sdk.Advisor(client); + +const result = await advisor.getReport({ + reportId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/advisor/list-insights.md b/examples/1.9.x/server-nodejs/examples/advisor/list-insights.md new file mode 100644 index 000000000..a4adefac3 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/advisor/list-insights.md @@ -0,0 +1,16 @@ +```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 advisor = new sdk.Advisor(client); + +const result = await advisor.listInsights({ + reportId: '', + queries: [], // optional + total: false // optional +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/advisor/list-reports.md b/examples/1.9.x/server-nodejs/examples/advisor/list-reports.md new file mode 100644 index 000000000..6fa66f103 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/advisor/list-reports.md @@ -0,0 +1,15 @@ +```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 advisor = new sdk.Advisor(client); + +const result = await advisor.listReports({ + queries: [], // optional + total: false // optional +}); +``` 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 1aab6cd3c..5e142a5c7 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 @@ -21,7 +21,7 @@ const result = await avatars.getScreenshot({ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional fullpage: true, // optional locale: 'en-US', // optional - timezone: sdk.Timezone.AmericaNewYork, // optional + timezone: sdk.Timezone.AfricaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/server-nodejs/examples/presences/delete.md b/examples/1.9.x/server-nodejs/examples/presences/delete.md new file mode 100644 index 000000000..4c1cfc248 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/presences/delete.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 presences = new sdk.Presences(client); + +const result = await presences.delete({ + presenceId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/presences/get.md b/examples/1.9.x/server-nodejs/examples/presences/get.md new file mode 100644 index 000000000..1e8a332d5 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/presences/get.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 presences = new sdk.Presences(client); + +const result = await presences.get({ + presenceId: '' +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/presences/list.md b/examples/1.9.x/server-nodejs/examples/presences/list.md new file mode 100644 index 000000000..fbb18d4d7 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/presences/list.md @@ -0,0 +1,16 @@ +```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 presences = new sdk.Presences(client); + +const result = await presences.list({ + queries: [], // optional + total: false, // optional + ttl: 0 // optional +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/presences/update-presence.md b/examples/1.9.x/server-nodejs/examples/presences/update-presence.md new file mode 100644 index 000000000..ffb1272fd --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/presences/update-presence.md @@ -0,0 +1,20 @@ +```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 presences = new sdk.Presences(client); + +const result = await presences.updatePresence({ + presenceId: '', + userId: '', + status: '', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional + permissions: [sdk.Permission.read(sdk.Role.any())], // optional + purge: false // optional +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/presences/upsert.md b/examples/1.9.x/server-nodejs/examples/presences/upsert.md new file mode 100644 index 000000000..63b9267f8 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/presences/upsert.md @@ -0,0 +1,19 @@ +```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 presences = new sdk.Presences(client); + +const result = await presences.upsert({ + presenceId: '', + userId: '', + status: '', + permissions: [sdk.Permission.read(sdk.Role.any())], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {} // optional +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-nodejs/examples/project/create-ephemeral-key.md index 31d21013a..e368a6051 100644 --- a/examples/1.9.x/server-nodejs/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-nodejs/examples/project/create-ephemeral-key.md @@ -9,7 +9,7 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.createEphemeralKey({ - scopes: [sdk.Scopes.ProjectRead], + scopes: [sdk.ProjectKeyScopes.ProjectRead], duration: 600 }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/create-key.md b/examples/1.9.x/server-nodejs/examples/project/create-key.md index 03ba62716..362821b30 100644 --- a/examples/1.9.x/server-nodejs/examples/project/create-key.md +++ b/examples/1.9.x/server-nodejs/examples/project/create-key.md @@ -11,7 +11,7 @@ const project = new sdk.Project(client); const result = await project.createKey({ keyId: '', name: '', - scopes: [sdk.Scopes.ProjectRead], + scopes: [sdk.ProjectKeyScopes.ProjectRead], expire: '2020-10-15T06:38:00.000+00:00' // optional }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/get-email-template.md b/examples/1.9.x/server-nodejs/examples/project/get-email-template.md index 06b062f02..d4683e56d 100644 --- a/examples/1.9.x/server-nodejs/examples/project/get-email-template.md +++ b/examples/1.9.x/server-nodejs/examples/project/get-email-template.md @@ -9,7 +9,7 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.getEmailTemplate({ - templateId: sdk.EmailTemplateType.Verification, - locale: sdk.EmailTemplateLocale.Af // optional + templateId: sdk.ProjectEmailTemplateId.Verification, + locale: sdk.ProjectEmailTemplateLocale.Af // optional }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-nodejs/examples/project/get-o-auth-2-provider.md index ce59ec686..7c1d85c5e 100644 --- a/examples/1.9.x/server-nodejs/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-nodejs/examples/project/get-o-auth-2-provider.md @@ -9,6 +9,6 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.getOAuth2Provider({ - providerId: sdk.OAuthProvider.Amazon + providerId: sdk.ProjectOAuthProviderId.Amazon }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/get-policy.md b/examples/1.9.x/server-nodejs/examples/project/get-policy.md index 5387dfe06..e55cb859c 100644 --- a/examples/1.9.x/server-nodejs/examples/project/get-policy.md +++ b/examples/1.9.x/server-nodejs/examples/project/get-policy.md @@ -9,6 +9,6 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.getPolicy({ - policyId: sdk.ProjectPolicy.PasswordDictionary + policyId: sdk.ProjectPolicyId.PasswordDictionary }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/get.md b/examples/1.9.x/server-nodejs/examples/project/get.md new file mode 100644 index 000000000..5ee86b8a5 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/project/get.md @@ -0,0 +1,12 @@ +```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.get(); +``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-auth-method.md b/examples/1.9.x/server-nodejs/examples/project/update-auth-method.md index ca8b29811..8e2e4bbb4 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-auth-method.md @@ -9,7 +9,7 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.updateAuthMethod({ - methodId: sdk.AuthMethod.EmailPassword, + methodId: sdk.ProjectAuthMethodId.EmailPassword, enabled: false }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-nodejs/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..92b7e6484 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy({ + enabled: false +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-email-template.md b/examples/1.9.x/server-nodejs/examples/project/update-email-template.md index 67e0fac9b..ddf6ca67e 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-email-template.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-email-template.md @@ -9,8 +9,8 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.updateEmailTemplate({ - templateId: sdk.EmailTemplateType.Verification, - locale: sdk.EmailTemplateLocale.Af, // optional + templateId: sdk.ProjectEmailTemplateId.Verification, + locale: sdk.ProjectEmailTemplateLocale.Af, // optional subject: '', // optional message: '', // optional senderName: '', // optional diff --git a/examples/1.9.x/server-nodejs/examples/project/update-key.md b/examples/1.9.x/server-nodejs/examples/project/update-key.md index 488fae13e..39be329e5 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-key.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-key.md @@ -11,7 +11,7 @@ const project = new sdk.Project(client); const result = await project.updateKey({ keyId: '', name: '', - scopes: [sdk.Scopes.ProjectRead], + scopes: [sdk.ProjectKeyScopes.ProjectRead], expire: '2020-10-15T06:38:00.000+00:00' // optional }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-nodejs/examples/project/update-o-auth-2-google.md index 60c038f5f..726d6059d 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-o-auth-2-google.md @@ -11,7 +11,7 @@ const project = new sdk.Project(client); const result = await project.updateOAuth2Google({ clientId: '', // optional clientSecret: '', // optional - prompt: [sdk.Prompt.None], // optional + prompt: [sdk.ProjectOAuth2GooglePrompt.None], // optional enabled: false // optional }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-protocol.md b/examples/1.9.x/server-nodejs/examples/project/update-protocol.md index 063319463..373e91784 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-protocol.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-protocol.md @@ -9,7 +9,7 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.updateProtocol({ - protocolId: sdk.ProtocolId.Rest, + protocolId: sdk.ProjectProtocolId.Rest, enabled: false }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-service.md b/examples/1.9.x/server-nodejs/examples/project/update-service.md index 45cc56d06..ded8eb761 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-service.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-service.md @@ -9,7 +9,7 @@ const client = new sdk.Client() const project = new sdk.Project(client); const result = await project.updateService({ - serviceId: sdk.ServiceId.Account, + serviceId: sdk.ProjectServiceId.Account, enabled: false }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/project/update-smtp.md b/examples/1.9.x/server-nodejs/examples/project/update-smtp.md index ac0019569..fe7258a53 100644 --- a/examples/1.9.x/server-nodejs/examples/project/update-smtp.md +++ b/examples/1.9.x/server-nodejs/examples/project/update-smtp.md @@ -17,7 +17,7 @@ const result = await project.updateSMTP({ senderName: '', // optional replyToEmail: 'email@example.com', // optional replyToName: '', // optional - secure: sdk.Secure.Tls, // optional + secure: sdk.ProjectSMTPSecure.Tls, // optional enabled: false // optional }); ``` 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 new file mode 100644 index 000000000..887f98fec --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/usage/list-events.md @@ -0,0 +1,15 @@ +```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 usage = new sdk.Usage(client); + +const result = await usage.listEvents({ + queries: [], // optional + total: false // 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 new file mode 100644 index 000000000..aa5ba1d8a --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/usage/list-gauges.md @@ -0,0 +1,15 @@ +```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 usage = new sdk.Usage(client); + +const result = await usage.listGauges({ + queries: [], // optional + total: false // optional +}); +``` diff --git a/examples/1.9.x/server-php/examples/account/create-push-target.md b/examples/1.9.x/server-php/examples/account/create-push-target.md new file mode 100644 index 000000000..8eaa55a76 --- /dev/null +++ b/examples/1.9.x/server-php/examples/account/create-push-target.md @@ -0,0 +1,18 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setSession(''); // The user session to authenticate with + +$account = new Account($client); + +$result = $account->createPushTarget( + targetId: '', + identifier: '', + providerId: '' // optional +);``` diff --git a/examples/1.9.x/server-php/examples/account/delete-push-target.md b/examples/1.9.x/server-php/examples/account/delete-push-target.md new file mode 100644 index 000000000..206e0d97e --- /dev/null +++ b/examples/1.9.x/server-php/examples/account/delete-push-target.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setSession(''); // The user session to authenticate with + +$account = new Account($client); + +$result = $account->deletePushTarget( + targetId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/account/update-push-target.md b/examples/1.9.x/server-php/examples/account/update-push-target.md new file mode 100644 index 000000000..a3677b994 --- /dev/null +++ b/examples/1.9.x/server-php/examples/account/update-push-target.md @@ -0,0 +1,17 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setSession(''); // The user session to authenticate with + +$account = new Account($client); + +$result = $account->updatePushTarget( + targetId: '', + identifier: '' +);``` diff --git a/examples/1.9.x/server-php/examples/advisor/delete-report.md b/examples/1.9.x/server-php/examples/advisor/delete-report.md new file mode 100644 index 000000000..997fd5e90 --- /dev/null +++ b/examples/1.9.x/server-php/examples/advisor/delete-report.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$advisor = new Advisor($client); + +$result = $advisor->deleteReport( + reportId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/advisor/get-insight.md b/examples/1.9.x/server-php/examples/advisor/get-insight.md new file mode 100644 index 000000000..421a84764 --- /dev/null +++ b/examples/1.9.x/server-php/examples/advisor/get-insight.md @@ -0,0 +1,17 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$advisor = new Advisor($client); + +$result = $advisor->getInsight( + reportId: '', + insightId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/advisor/get-report.md b/examples/1.9.x/server-php/examples/advisor/get-report.md new file mode 100644 index 000000000..8baacab7d --- /dev/null +++ b/examples/1.9.x/server-php/examples/advisor/get-report.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$advisor = new Advisor($client); + +$result = $advisor->getReport( + reportId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/advisor/list-insights.md b/examples/1.9.x/server-php/examples/advisor/list-insights.md new file mode 100644 index 000000000..10cf4fd94 --- /dev/null +++ b/examples/1.9.x/server-php/examples/advisor/list-insights.md @@ -0,0 +1,18 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$advisor = new Advisor($client); + +$result = $advisor->listInsights( + reportId: '', + queries: [], // optional + total: false // optional +);``` diff --git a/examples/1.9.x/server-php/examples/advisor/list-reports.md b/examples/1.9.x/server-php/examples/advisor/list-reports.md new file mode 100644 index 000000000..29c422066 --- /dev/null +++ b/examples/1.9.x/server-php/examples/advisor/list-reports.md @@ -0,0 +1,17 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$advisor = new Advisor($client); + +$result = $advisor->listReports( + queries: [], // optional + total: false // optional +);``` 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 9db8b3cd0..8d9f9575e 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 @@ -28,7 +28,7 @@ $result = $avatars->getScreenshot( userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional fullpage: true, // optional locale: 'en-US', // optional - timezone: Timezone::AMERICANEWYORK(), // optional + timezone: Timezone::AFRICAABIDJAN(), // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/server-php/examples/presences/delete.md b/examples/1.9.x/server-php/examples/presences/delete.md new file mode 100644 index 000000000..225ee6caf --- /dev/null +++ b/examples/1.9.x/server-php/examples/presences/delete.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$presences = new Presences($client); + +$result = $presences->delete( + presenceId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/presences/get.md b/examples/1.9.x/server-php/examples/presences/get.md new file mode 100644 index 000000000..c0196986c --- /dev/null +++ b/examples/1.9.x/server-php/examples/presences/get.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$presences = new Presences($client); + +$result = $presences->get( + presenceId: '' +);``` diff --git a/examples/1.9.x/server-php/examples/presences/list.md b/examples/1.9.x/server-php/examples/presences/list.md new file mode 100644 index 000000000..61620297f --- /dev/null +++ b/examples/1.9.x/server-php/examples/presences/list.md @@ -0,0 +1,18 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$presences = new Presences($client); + +$result = $presences->list( + queries: [], // optional + total: false, // optional + ttl: 0 // optional +);``` diff --git a/examples/1.9.x/server-php/examples/presences/update-presence.md b/examples/1.9.x/server-php/examples/presences/update-presence.md new file mode 100644 index 000000000..d017a1365 --- /dev/null +++ b/examples/1.9.x/server-php/examples/presences/update-presence.md @@ -0,0 +1,24 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$presences = new Presences($client); + +$result = $presences->updatePresence( + presenceId: '', + userId: '', + status: '', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: [], // optional + permissions: [Permission::read(Role::any())], // optional + purge: false // optional +);``` diff --git a/examples/1.9.x/server-php/examples/presences/upsert.md b/examples/1.9.x/server-php/examples/presences/upsert.md new file mode 100644 index 000000000..f6d34e2e5 --- /dev/null +++ b/examples/1.9.x/server-php/examples/presences/upsert.md @@ -0,0 +1,23 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$presences = new Presences($client); + +$result = $presences->upsert( + presenceId: '', + userId: '', + status: '', + permissions: [Permission::read(Role::any())], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: [] // optional +);``` diff --git a/examples/1.9.x/server-php/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-php/examples/project/create-ephemeral-key.md index fbbac3006..29a813a78 100644 --- a/examples/1.9.x/server-php/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-php/examples/project/create-ephemeral-key.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\Scopes; +use Appwrite\Enums\ProjectKeyScopes; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,6 +13,6 @@ $client = (new Client()) $project = new Project($client); $result = $project->createEphemeralKey( - scopes: [Scopes::PROJECTREAD()], + scopes: [ProjectKeyScopes::PROJECTREAD()], duration: 600 );``` diff --git a/examples/1.9.x/server-php/examples/project/create-key.md b/examples/1.9.x/server-php/examples/project/create-key.md index 9157fcef7..cd3dbfd96 100644 --- a/examples/1.9.x/server-php/examples/project/create-key.md +++ b/examples/1.9.x/server-php/examples/project/create-key.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\Scopes; +use Appwrite\Enums\ProjectKeyScopes; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -15,6 +15,6 @@ $project = new Project($client); $result = $project->createKey( keyId: '', name: '', - scopes: [Scopes::PROJECTREAD()], + scopes: [ProjectKeyScopes::PROJECTREAD()], expire: '2020-10-15T06:38:00.000+00:00' // optional );``` diff --git a/examples/1.9.x/server-php/examples/project/get-email-template.md b/examples/1.9.x/server-php/examples/project/get-email-template.md index 409933dba..f06e1c3bc 100644 --- a/examples/1.9.x/server-php/examples/project/get-email-template.md +++ b/examples/1.9.x/server-php/examples/project/get-email-template.md @@ -3,8 +3,8 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\EmailTemplateType; -use Appwrite\Enums\EmailTemplateLocale; +use Appwrite\Enums\ProjectEmailTemplateId; +use Appwrite\Enums\ProjectEmailTemplateLocale; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -14,6 +14,6 @@ $client = (new Client()) $project = new Project($client); $result = $project->getEmailTemplate( - templateId: EmailTemplateType::VERIFICATION(), - locale: EmailTemplateLocale::AF() // optional + templateId: ProjectEmailTemplateId::VERIFICATION(), + locale: ProjectEmailTemplateLocale::AF() // optional );``` diff --git a/examples/1.9.x/server-php/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-php/examples/project/get-o-auth-2-provider.md index 1805a34d7..ded92e19d 100644 --- a/examples/1.9.x/server-php/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-php/examples/project/get-o-auth-2-provider.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\OAuthProvider; +use Appwrite\Enums\ProjectOAuthProviderId; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,5 +13,5 @@ $client = (new Client()) $project = new Project($client); $result = $project->getOAuth2Provider( - providerId: OAuthProvider::AMAZON() + providerId: ProjectOAuthProviderId::AMAZON() );``` diff --git a/examples/1.9.x/server-php/examples/project/get-policy.md b/examples/1.9.x/server-php/examples/project/get-policy.md index 231d75b27..5f60c8124 100644 --- a/examples/1.9.x/server-php/examples/project/get-policy.md +++ b/examples/1.9.x/server-php/examples/project/get-policy.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\ProjectPolicy; +use Appwrite\Enums\ProjectPolicyId; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,5 +13,5 @@ $client = (new Client()) $project = new Project($client); $result = $project->getPolicy( - policyId: ProjectPolicy::PASSWORDDICTIONARY() + policyId: ProjectPolicyId::PASSWORDDICTIONARY() );``` diff --git a/examples/1.9.x/server-php/examples/project/get.md b/examples/1.9.x/server-php/examples/project/get.md new file mode 100644 index 000000000..4e90450b2 --- /dev/null +++ b/examples/1.9.x/server-php/examples/project/get.md @@ -0,0 +1,15 @@ +```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->get(); +``` diff --git a/examples/1.9.x/server-php/examples/project/update-auth-method.md b/examples/1.9.x/server-php/examples/project/update-auth-method.md index 1946c402a..3633f132f 100644 --- a/examples/1.9.x/server-php/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-php/examples/project/update-auth-method.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\AuthMethod; +use Appwrite\Enums\ProjectAuthMethodId; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,6 +13,6 @@ $client = (new Client()) $project = new Project($client); $result = $project->updateAuthMethod( - methodId: AuthMethod::EMAILPASSWORD(), + methodId: ProjectAuthMethodId::EMAILPASSWORD(), enabled: false );``` diff --git a/examples/1.9.x/server-php/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-php/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..3ddc159e7 --- /dev/null +++ b/examples/1.9.x/server-php/examples/project/update-deny-aliased-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->updateDenyAliasedEmailPolicy( + enabled: false +);``` diff --git a/examples/1.9.x/server-php/examples/project/update-email-template.md b/examples/1.9.x/server-php/examples/project/update-email-template.md index 442d2c145..ac927772a 100644 --- a/examples/1.9.x/server-php/examples/project/update-email-template.md +++ b/examples/1.9.x/server-php/examples/project/update-email-template.md @@ -3,8 +3,8 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\EmailTemplateType; -use Appwrite\Enums\EmailTemplateLocale; +use Appwrite\Enums\ProjectEmailTemplateId; +use Appwrite\Enums\ProjectEmailTemplateLocale; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -14,8 +14,8 @@ $client = (new Client()) $project = new Project($client); $result = $project->updateEmailTemplate( - templateId: EmailTemplateType::VERIFICATION(), - locale: EmailTemplateLocale::AF(), // optional + templateId: ProjectEmailTemplateId::VERIFICATION(), + locale: ProjectEmailTemplateLocale::AF(), // optional subject: '', // optional message: '', // optional senderName: '', // optional diff --git a/examples/1.9.x/server-php/examples/project/update-key.md b/examples/1.9.x/server-php/examples/project/update-key.md index 1d1e6fd62..1a1e1002d 100644 --- a/examples/1.9.x/server-php/examples/project/update-key.md +++ b/examples/1.9.x/server-php/examples/project/update-key.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\Scopes; +use Appwrite\Enums\ProjectKeyScopes; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -15,6 +15,6 @@ $project = new Project($client); $result = $project->updateKey( keyId: '', name: '', - scopes: [Scopes::PROJECTREAD()], + scopes: [ProjectKeyScopes::PROJECTREAD()], expire: '2020-10-15T06:38:00.000+00:00' // optional );``` diff --git a/examples/1.9.x/server-php/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-php/examples/project/update-o-auth-2-google.md index 386182da3..63466c43e 100644 --- a/examples/1.9.x/server-php/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-php/examples/project/update-o-auth-2-google.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\Prompt; +use Appwrite\Enums\ProjectOAuth2GooglePrompt; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -15,6 +15,6 @@ $project = new Project($client); $result = $project->updateOAuth2Google( clientId: '', // optional clientSecret: '', // optional - prompt: [Prompt::NONE()], // optional + prompt: [ProjectOAuth2GooglePrompt::NONE()], // optional enabled: false // optional );``` diff --git a/examples/1.9.x/server-php/examples/project/update-protocol.md b/examples/1.9.x/server-php/examples/project/update-protocol.md index 0b6485771..e87fc30de 100644 --- a/examples/1.9.x/server-php/examples/project/update-protocol.md +++ b/examples/1.9.x/server-php/examples/project/update-protocol.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\ProtocolId; +use Appwrite\Enums\ProjectProtocolId; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,6 +13,6 @@ $client = (new Client()) $project = new Project($client); $result = $project->updateProtocol( - protocolId: ProtocolId::REST(), + protocolId: ProjectProtocolId::REST(), enabled: false );``` diff --git a/examples/1.9.x/server-php/examples/project/update-service.md b/examples/1.9.x/server-php/examples/project/update-service.md index ba8b90e46..88e90eab9 100644 --- a/examples/1.9.x/server-php/examples/project/update-service.md +++ b/examples/1.9.x/server-php/examples/project/update-service.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\ServiceId; +use Appwrite\Enums\ProjectServiceId; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -13,6 +13,6 @@ $client = (new Client()) $project = new Project($client); $result = $project->updateService( - serviceId: ServiceId::ACCOUNT(), + serviceId: ProjectServiceId::ACCOUNT(), enabled: false );``` diff --git a/examples/1.9.x/server-php/examples/project/update-smtp.md b/examples/1.9.x/server-php/examples/project/update-smtp.md index 164230d20..452a3d863 100644 --- a/examples/1.9.x/server-php/examples/project/update-smtp.md +++ b/examples/1.9.x/server-php/examples/project/update-smtp.md @@ -3,7 +3,7 @@ use Appwrite\Client; use Appwrite\Services\Project; -use Appwrite\Enums\Secure; +use Appwrite\Enums\ProjectSMTPSecure; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint @@ -21,6 +21,6 @@ $result = $project->updateSMTP( senderName: '', // optional replyToEmail: 'email@example.com', // optional replyToName: '', // optional - secure: Secure::TLS(), // optional + secure: ProjectSMTPSecure::TLS(), // optional enabled: false // optional );``` 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 new file mode 100644 index 000000000..41a62fe49 --- /dev/null +++ b/examples/1.9.x/server-php/examples/usage/list-events.md @@ -0,0 +1,17 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$usage = new Usage($client); + +$result = $usage->listEvents( + queries: [], // optional + total: false // 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 new file mode 100644 index 000000000..9dc822bb1 --- /dev/null +++ b/examples/1.9.x/server-php/examples/usage/list-gauges.md @@ -0,0 +1,17 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$usage = new Usage($client); + +$result = $usage->listGauges( + queries: [], // optional + total: false // optional +);``` diff --git a/examples/1.9.x/server-python/examples/account/create-push-target.md b/examples/1.9.x/server-python/examples/account/create-push-target.md new file mode 100644 index 000000000..038bd22fc --- /dev/null +++ b/examples/1.9.x/server-python/examples/account/create-push-target.md @@ -0,0 +1,20 @@ +```python +from appwrite.client import Client +from appwrite.services.account import Account +from appwrite.models import Target + +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 + +account = Account(client) + +result: Target = account.create_push_target( + target_id = '', + identifier = '', + provider_id = '' # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/account/delete-push-target.md b/examples/1.9.x/server-python/examples/account/delete-push-target.md new file mode 100644 index 000000000..e440cd35d --- /dev/null +++ b/examples/1.9.x/server-python/examples/account/delete-push-target.md @@ -0,0 +1,15 @@ +```python +from appwrite.client import Client +from appwrite.services.account import Account + +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 + +account = Account(client) + +result = account.delete_push_target( + target_id = '' +) +``` diff --git a/examples/1.9.x/server-python/examples/account/update-push-target.md b/examples/1.9.x/server-python/examples/account/update-push-target.md new file mode 100644 index 000000000..36314b811 --- /dev/null +++ b/examples/1.9.x/server-python/examples/account/update-push-target.md @@ -0,0 +1,19 @@ +```python +from appwrite.client import Client +from appwrite.services.account import Account +from appwrite.models import Target + +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 + +account = Account(client) + +result: Target = account.update_push_target( + target_id = '', + identifier = '' +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/advisor/delete-report.md b/examples/1.9.x/server-python/examples/advisor/delete-report.md new file mode 100644 index 000000000..ef50a2f0d --- /dev/null +++ b/examples/1.9.x/server-python/examples/advisor/delete-report.md @@ -0,0 +1,15 @@ +```python +from appwrite.client import Client +from appwrite.services.advisor import Advisor + +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 + +advisor = Advisor(client) + +result = advisor.delete_report( + report_id = '' +) +``` diff --git a/examples/1.9.x/server-python/examples/advisor/get-insight.md b/examples/1.9.x/server-python/examples/advisor/get-insight.md new file mode 100644 index 000000000..7f4b804ad --- /dev/null +++ b/examples/1.9.x/server-python/examples/advisor/get-insight.md @@ -0,0 +1,19 @@ +```python +from appwrite.client import Client +from appwrite.services.advisor import Advisor +from appwrite.models import Insight + +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 + +advisor = Advisor(client) + +result: Insight = advisor.get_insight( + report_id = '', + insight_id = '' +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/advisor/get-report.md b/examples/1.9.x/server-python/examples/advisor/get-report.md new file mode 100644 index 000000000..2d9836ac4 --- /dev/null +++ b/examples/1.9.x/server-python/examples/advisor/get-report.md @@ -0,0 +1,18 @@ +```python +from appwrite.client import Client +from appwrite.services.advisor import Advisor +from appwrite.models import Report + +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 + +advisor = Advisor(client) + +result: Report = advisor.get_report( + report_id = '' +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/advisor/list-insights.md b/examples/1.9.x/server-python/examples/advisor/list-insights.md new file mode 100644 index 000000000..2813e6e3b --- /dev/null +++ b/examples/1.9.x/server-python/examples/advisor/list-insights.md @@ -0,0 +1,20 @@ +```python +from appwrite.client import Client +from appwrite.services.advisor import Advisor +from appwrite.models import InsightList + +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 + +advisor = Advisor(client) + +result: InsightList = advisor.list_insights( + report_id = '', + queries = [], # optional + total = False # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/advisor/list-reports.md b/examples/1.9.x/server-python/examples/advisor/list-reports.md new file mode 100644 index 000000000..146bbf1c4 --- /dev/null +++ b/examples/1.9.x/server-python/examples/advisor/list-reports.md @@ -0,0 +1,19 @@ +```python +from appwrite.client import Client +from appwrite.services.advisor import Advisor +from appwrite.models import ReportList + +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 + +advisor = Advisor(client) + +result: ReportList = advisor.list_reports( + queries = [], # optional + total = False # optional +) + +print(result.model_dump()) +``` 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 608032799..15f74aa4c 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 @@ -26,7 +26,7 @@ result: bytes = avatars.get_screenshot( user_agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', # optional fullpage = True, # optional locale = 'en-US', # optional - timezone = Timezone.AMERICA_NEW_YORK, # optional + timezone = Timezone.AFRICA_ABIDJAN, # optional latitude = 37.7749, # optional longitude = -122.4194, # optional accuracy = 100, # optional diff --git a/examples/1.9.x/server-python/examples/presences/delete.md b/examples/1.9.x/server-python/examples/presences/delete.md new file mode 100644 index 000000000..ca4ba6601 --- /dev/null +++ b/examples/1.9.x/server-python/examples/presences/delete.md @@ -0,0 +1,15 @@ +```python +from appwrite.client import Client +from appwrite.services.presences import Presences + +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 + +presences = Presences(client) + +result = presences.delete( + presence_id = '' +) +``` diff --git a/examples/1.9.x/server-python/examples/presences/get.md b/examples/1.9.x/server-python/examples/presences/get.md new file mode 100644 index 000000000..2c57df097 --- /dev/null +++ b/examples/1.9.x/server-python/examples/presences/get.md @@ -0,0 +1,18 @@ +```python +from appwrite.client import Client +from appwrite.services.presences import Presences +from appwrite.models import Presence + +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 + +presences = Presences(client) + +result: Presence = presences.get( + presence_id = '' +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/presences/list.md b/examples/1.9.x/server-python/examples/presences/list.md new file mode 100644 index 000000000..a03492851 --- /dev/null +++ b/examples/1.9.x/server-python/examples/presences/list.md @@ -0,0 +1,20 @@ +```python +from appwrite.client import Client +from appwrite.services.presences import Presences +from appwrite.models import PresenceList + +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 + +presences = Presences(client) + +result: PresenceList = presences.list( + queries = [], # optional + total = False, # optional + ttl = 0 # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/presences/update-presence.md b/examples/1.9.x/server-python/examples/presences/update-presence.md new file mode 100644 index 000000000..ea7a7c580 --- /dev/null +++ b/examples/1.9.x/server-python/examples/presences/update-presence.md @@ -0,0 +1,26 @@ +```python +from appwrite.client import Client +from appwrite.services.presences import Presences +from appwrite.models import Presence +from appwrite.permission import Permission +from appwrite.role import Role + +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 + +presences = Presences(client) + +result: Presence = presences.update_presence( + presence_id = '', + user_id = '', + status = '', # optional + expires_at = '2020-10-15T06:38:00.000+00:00', # optional + metadata = {}, # optional + permissions = [Permission.read(Role.any())], # optional + purge = False # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/presences/upsert.md b/examples/1.9.x/server-python/examples/presences/upsert.md new file mode 100644 index 000000000..2750434c2 --- /dev/null +++ b/examples/1.9.x/server-python/examples/presences/upsert.md @@ -0,0 +1,25 @@ +```python +from appwrite.client import Client +from appwrite.services.presences import Presences +from appwrite.models import Presence +from appwrite.permission import Permission +from appwrite.role import Role + +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 + +presences = Presences(client) + +result: Presence = presences.upsert( + presence_id = '', + user_id = '', + status = '', + permissions = [Permission.read(Role.any())], # optional + expires_at = '2020-10-15T06:38:00.000+00:00', # optional + metadata = {} # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-python/examples/project/create-ephemeral-key.md index 4b51248cc..17a48da69 100644 --- a/examples/1.9.x/server-python/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-python/examples/project/create-ephemeral-key.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import EphemeralKey -from appwrite.enums import Scopes +from appwrite.enums import ProjectKeyScopes client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -12,7 +12,7 @@ client.set_key('') # Your secret API key project = Project(client) result: EphemeralKey = project.create_ephemeral_key( - scopes = [Scopes.PROJECT_READ], + scopes = [ProjectKeyScopes.PROJECT_READ], duration = 600 ) diff --git a/examples/1.9.x/server-python/examples/project/create-key.md b/examples/1.9.x/server-python/examples/project/create-key.md index bca74d671..a3e040f71 100644 --- a/examples/1.9.x/server-python/examples/project/create-key.md +++ b/examples/1.9.x/server-python/examples/project/create-key.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Key -from appwrite.enums import Scopes +from appwrite.enums import ProjectKeyScopes client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -14,7 +14,7 @@ project = Project(client) result: Key = project.create_key( key_id = '', name = '', - scopes = [Scopes.PROJECT_READ], + scopes = [ProjectKeyScopes.PROJECT_READ], expire = '2020-10-15T06:38:00.000+00:00' # optional ) diff --git a/examples/1.9.x/server-python/examples/project/get-email-template.md b/examples/1.9.x/server-python/examples/project/get-email-template.md index f695b72d6..8fedaf742 100644 --- a/examples/1.9.x/server-python/examples/project/get-email-template.md +++ b/examples/1.9.x/server-python/examples/project/get-email-template.md @@ -2,8 +2,8 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import EmailTemplate -from appwrite.enums import EmailTemplateType -from appwrite.enums import EmailTemplateLocale +from appwrite.enums import ProjectEmailTemplateId +from appwrite.enums import ProjectEmailTemplateLocale client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -13,8 +13,8 @@ client.set_key('') # Your secret API key project = Project(client) result: EmailTemplate = project.get_email_template( - template_id = EmailTemplateType.VERIFICATION, - locale = EmailTemplateLocale.AF # optional + template_id = ProjectEmailTemplateId.VERIFICATION, + locale = ProjectEmailTemplateLocale.AF # optional ) print(result.model_dump()) diff --git a/examples/1.9.x/server-python/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-python/examples/project/get-o-auth-2-provider.md index 486443eaa..f13325e0b 100644 --- a/examples/1.9.x/server-python/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-python/examples/project/get-o-auth-2-provider.md @@ -42,7 +42,7 @@ from appwrite.models import OAuth2Okta from appwrite.models import OAuth2Kick from appwrite.models import OAuth2Microsoft from typing import Union -from appwrite.enums import OAuthProvider +from appwrite.enums import ProjectOAuthProviderId client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -52,7 +52,7 @@ client.set_key('') # Your secret API key project = Project(client) result: Union[OAuth2Github, OAuth2Discord, OAuth2Figma, OAuth2Dropbox, OAuth2Dailymotion, OAuth2Bitbucket, OAuth2Bitly, OAuth2Box, OAuth2Autodesk, OAuth2Google, OAuth2Zoom, OAuth2Zoho, OAuth2Yandex, OAuth2X, OAuth2WordPress, OAuth2Twitch, OAuth2Stripe, OAuth2Spotify, OAuth2Slack, OAuth2Podio, OAuth2Notion, OAuth2Salesforce, OAuth2Yahoo, OAuth2Linkedin, OAuth2Disqus, OAuth2Amazon, OAuth2Etsy, OAuth2Facebook, OAuth2Tradeshift, OAuth2Paypal, OAuth2Gitlab, OAuth2Authentik, OAuth2Auth0, OAuth2FusionAuth, OAuth2Keycloak, OAuth2Oidc, OAuth2Apple, OAuth2Okta, OAuth2Kick, OAuth2Microsoft] = project.get_o_auth2_provider( - provider_id = OAuthProvider.AMAZON + provider_id = ProjectOAuthProviderId.AMAZON ) print(result.model_dump()) 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 7f971d18b..e05516f89 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 @@ -11,7 +11,7 @@ from appwrite.models import PolicySessionLimit from appwrite.models import PolicyUserLimit from appwrite.models import PolicyMembershipPrivacy from typing import Union -from appwrite.enums import ProjectPolicy +from appwrite.enums import ProjectPolicyId client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -21,7 +21,7 @@ client.set_key('') # Your secret API key project = Project(client) result: Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy] = project.get_policy( - policy_id = ProjectPolicy.PASSWORD_DICTIONARY + policy_id = ProjectPolicyId.PASSWORD_DICTIONARY ) print(result.model_dump()) diff --git a/examples/1.9.x/server-python/examples/project/get.md b/examples/1.9.x/server-python/examples/project/get.md new file mode 100644 index 000000000..ea0046c71 --- /dev/null +++ b/examples/1.9.x/server-python/examples/project/get.md @@ -0,0 +1,16 @@ +```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.get() + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/project/update-auth-method.md b/examples/1.9.x/server-python/examples/project/update-auth-method.md index a83e08801..d9e4c6430 100644 --- a/examples/1.9.x/server-python/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-python/examples/project/update-auth-method.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Project as ProjectModel -from appwrite.enums import AuthMethod +from appwrite.enums import ProjectAuthMethodId client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -12,7 +12,7 @@ client.set_key('') # Your secret API key project = Project(client) result: ProjectModel = project.update_auth_method( - method_id = AuthMethod.EMAIL_PASSWORD, + method_id = ProjectAuthMethodId.EMAIL_PASSWORD, enabled = False ) diff --git a/examples/1.9.x/server-python/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-python/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..02d1f7d47 --- /dev/null +++ b/examples/1.9.x/server-python/examples/project/update-deny-aliased-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_aliased_email_policy( + enabled = False +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/project/update-email-template.md b/examples/1.9.x/server-python/examples/project/update-email-template.md index b7e86d0ab..d5548fdbb 100644 --- a/examples/1.9.x/server-python/examples/project/update-email-template.md +++ b/examples/1.9.x/server-python/examples/project/update-email-template.md @@ -2,8 +2,8 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import EmailTemplate -from appwrite.enums import EmailTemplateType -from appwrite.enums import EmailTemplateLocale +from appwrite.enums import ProjectEmailTemplateId +from appwrite.enums import ProjectEmailTemplateLocale client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -13,8 +13,8 @@ client.set_key('') # Your secret API key project = Project(client) result: EmailTemplate = project.update_email_template( - template_id = EmailTemplateType.VERIFICATION, - locale = EmailTemplateLocale.AF, # optional + template_id = ProjectEmailTemplateId.VERIFICATION, + locale = ProjectEmailTemplateLocale.AF, # optional subject = '', # optional message = '', # optional sender_name = '', # optional diff --git a/examples/1.9.x/server-python/examples/project/update-key.md b/examples/1.9.x/server-python/examples/project/update-key.md index 88f6c0a94..e1ecc201a 100644 --- a/examples/1.9.x/server-python/examples/project/update-key.md +++ b/examples/1.9.x/server-python/examples/project/update-key.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Key -from appwrite.enums import Scopes +from appwrite.enums import ProjectKeyScopes client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -14,7 +14,7 @@ project = Project(client) result: Key = project.update_key( key_id = '', name = '', - scopes = [Scopes.PROJECT_READ], + scopes = [ProjectKeyScopes.PROJECT_READ], expire = '2020-10-15T06:38:00.000+00:00' # optional ) diff --git a/examples/1.9.x/server-python/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-python/examples/project/update-o-auth-2-google.md index 96785d6fc..b1cc1eca3 100644 --- a/examples/1.9.x/server-python/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-python/examples/project/update-o-auth-2-google.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import OAuth2Google -from appwrite.enums import Prompt +from appwrite.enums import ProjectOAuth2GooglePrompt client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -14,7 +14,7 @@ project = Project(client) result: OAuth2Google = project.update_o_auth2_google( client_id = '', # optional client_secret = '', # optional - prompt = [Prompt.NONE], # optional + prompt = [ProjectOAuth2GooglePrompt.NONE], # optional enabled = False # optional ) diff --git a/examples/1.9.x/server-python/examples/project/update-protocol.md b/examples/1.9.x/server-python/examples/project/update-protocol.md index a8b555d0c..db26644d6 100644 --- a/examples/1.9.x/server-python/examples/project/update-protocol.md +++ b/examples/1.9.x/server-python/examples/project/update-protocol.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Project as ProjectModel -from appwrite.enums import ProtocolId +from appwrite.enums import ProjectProtocolId client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -12,7 +12,7 @@ client.set_key('') # Your secret API key project = Project(client) result: ProjectModel = project.update_protocol( - protocol_id = ProtocolId.REST, + protocol_id = ProjectProtocolId.REST, enabled = False ) diff --git a/examples/1.9.x/server-python/examples/project/update-service.md b/examples/1.9.x/server-python/examples/project/update-service.md index 66bd6c7d0..17c003c09 100644 --- a/examples/1.9.x/server-python/examples/project/update-service.md +++ b/examples/1.9.x/server-python/examples/project/update-service.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Project as ProjectModel -from appwrite.enums import ServiceId +from appwrite.enums import ProjectServiceId client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -12,7 +12,7 @@ client.set_key('') # Your secret API key project = Project(client) result: ProjectModel = project.update_service( - service_id = ServiceId.ACCOUNT, + service_id = ProjectServiceId.ACCOUNT, enabled = False ) diff --git a/examples/1.9.x/server-python/examples/project/update-smtp.md b/examples/1.9.x/server-python/examples/project/update-smtp.md index 481e657dd..66428e019 100644 --- a/examples/1.9.x/server-python/examples/project/update-smtp.md +++ b/examples/1.9.x/server-python/examples/project/update-smtp.md @@ -2,7 +2,7 @@ from appwrite.client import Client from appwrite.services.project import Project from appwrite.models import Project as ProjectModel -from appwrite.enums import Secure +from appwrite.enums import ProjectSMTPSecure client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint @@ -20,7 +20,7 @@ result: ProjectModel = project.update_smtp( sender_name = '', # optional reply_to_email = 'email@example.com', # optional reply_to_name = '', # optional - secure = Secure.TLS, # optional + secure = ProjectSMTPSecure.TLS, # optional enabled = False # optional ) 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 new file mode 100644 index 000000000..d3ab1d25b --- /dev/null +++ b/examples/1.9.x/server-python/examples/usage/list-events.md @@ -0,0 +1,19 @@ +```python +from appwrite.client import Client +from appwrite.services.usage import Usage +from appwrite.models import UsageEventList + +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 + +usage = Usage(client) + +result: UsageEventList = usage.list_events( + queries = [], # optional + total = False # 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 new file mode 100644 index 000000000..2904b9682 --- /dev/null +++ b/examples/1.9.x/server-python/examples/usage/list-gauges.md @@ -0,0 +1,19 @@ +```python +from appwrite.client import Client +from appwrite.services.usage import Usage +from appwrite.models import UsageGaugeList + +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 + +usage = Usage(client) + +result: UsageGaugeList = usage.list_gauges( + queries = [], # optional + total = False # optional +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-rest/examples/account/create-anonymous-session.md b/examples/1.9.x/server-rest/examples/account/create-anonymous-session.md index 44af103e7..4d9374b1f 100644 --- a/examples/1.9.x/server-rest/examples/account/create-anonymous-session.md +++ b/examples/1.9.x/server-rest/examples/account/create-anonymous-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/anonymous HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-email-password-session.md b/examples/1.9.x/server-rest/examples/account/create-email-password-session.md index 547ef64e3..95c87871d 100644 --- a/examples/1.9.x/server-rest/examples/account/create-email-password-session.md +++ b/examples/1.9.x/server-rest/examples/account/create-email-password-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-email-token.md b/examples/1.9.x/server-rest/examples/account/create-email-token.md index 53cdf1b6d..8f2763ae6 100644 --- a/examples/1.9.x/server-rest/examples/account/create-email-token.md +++ b/examples/1.9.x/server-rest/examples/account/create-email-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-email-verification.md b/examples/1.9.x/server-rest/examples/account/create-email-verification.md index b99da8db4..f11c9256d 100644 --- a/examples/1.9.x/server-rest/examples/account/create-email-verification.md +++ b/examples/1.9.x/server-rest/examples/account/create-email-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-jwt.md b/examples/1.9.x/server-rest/examples/account/create-jwt.md index 658367c1e..80b7cbb11 100644 --- a/examples/1.9.x/server-rest/examples/account/create-jwt.md +++ b/examples/1.9.x/server-rest/examples/account/create-jwt.md @@ -2,7 +2,7 @@ POST /v1/account/jwts HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-magic-url-token.md b/examples/1.9.x/server-rest/examples/account/create-magic-url-token.md index 26bfd9804..caadbb17e 100644 --- a/examples/1.9.x/server-rest/examples/account/create-magic-url-token.md +++ b/examples/1.9.x/server-rest/examples/account/create-magic-url-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/magic-url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-mfa-authenticator.md b/examples/1.9.x/server-rest/examples/account/create-mfa-authenticator.md index b84bc74c1..549895b69 100644 --- a/examples/1.9.x/server-rest/examples/account/create-mfa-authenticator.md +++ b/examples/1.9.x/server-rest/examples/account/create-mfa-authenticator.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-mfa-challenge.md b/examples/1.9.x/server-rest/examples/account/create-mfa-challenge.md index 7c4ce040f..a4d644866 100644 --- a/examples/1.9.x/server-rest/examples/account/create-mfa-challenge.md +++ b/examples/1.9.x/server-rest/examples/account/create-mfa-challenge.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/challenges HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/account/create-mfa-recovery-codes.md index 3e320cca6..59ada759c 100644 --- a/examples/1.9.x/server-rest/examples/account/create-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/account/create-mfa-recovery-codes.md @@ -2,7 +2,7 @@ POST /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-o-auth-2-token.md b/examples/1.9.x/server-rest/examples/account/create-o-auth-2-token.md index e83f493c5..660264560 100644 --- a/examples/1.9.x/server-rest/examples/account/create-o-auth-2-token.md +++ b/examples/1.9.x/server-rest/examples/account/create-o-auth-2-token.md @@ -1,7 +1,7 @@ ```http GET /v1/account/tokens/oauth2/{provider} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-phone-token.md b/examples/1.9.x/server-rest/examples/account/create-phone-token.md index 93c118f50..a5c677b33 100644 --- a/examples/1.9.x/server-rest/examples/account/create-phone-token.md +++ b/examples/1.9.x/server-rest/examples/account/create-phone-token.md @@ -2,7 +2,7 @@ POST /v1/account/tokens/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-phone-verification.md b/examples/1.9.x/server-rest/examples/account/create-phone-verification.md index 89a6a9ecf..3e37fdde1 100644 --- a/examples/1.9.x/server-rest/examples/account/create-phone-verification.md +++ b/examples/1.9.x/server-rest/examples/account/create-phone-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-push-target.md b/examples/1.9.x/server-rest/examples/account/create-push-target.md new file mode 100644 index 000000000..f470b2fe3 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/account/create-push-target.md @@ -0,0 +1,15 @@ +```http +POST /v1/account/targets/push HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: + +{ + "targetId": "", + "identifier": "", + "providerId": "" +} +``` diff --git a/examples/1.9.x/server-rest/examples/account/create-recovery.md b/examples/1.9.x/server-rest/examples/account/create-recovery.md index 1c1f5d1b5..7b3512ae9 100644 --- a/examples/1.9.x/server-rest/examples/account/create-recovery.md +++ b/examples/1.9.x/server-rest/examples/account/create-recovery.md @@ -2,7 +2,7 @@ POST /v1/account/recovery HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-session.md b/examples/1.9.x/server-rest/examples/account/create-session.md index c4a9dd607..13aef6b2a 100644 --- a/examples/1.9.x/server-rest/examples/account/create-session.md +++ b/examples/1.9.x/server-rest/examples/account/create-session.md @@ -2,7 +2,7 @@ POST /v1/account/sessions/token HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create-verification.md b/examples/1.9.x/server-rest/examples/account/create-verification.md index b99da8db4..f11c9256d 100644 --- a/examples/1.9.x/server-rest/examples/account/create-verification.md +++ b/examples/1.9.x/server-rest/examples/account/create-verification.md @@ -2,7 +2,7 @@ POST /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/create.md b/examples/1.9.x/server-rest/examples/account/create.md index 4a0cbfebd..1f845f01a 100644 --- a/examples/1.9.x/server-rest/examples/account/create.md +++ b/examples/1.9.x/server-rest/examples/account/create.md @@ -2,7 +2,7 @@ POST /v1/account HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/delete-identity.md b/examples/1.9.x/server-rest/examples/account/delete-identity.md index d2901873c..c510090af 100644 --- a/examples/1.9.x/server-rest/examples/account/delete-identity.md +++ b/examples/1.9.x/server-rest/examples/account/delete-identity.md @@ -2,7 +2,7 @@ DELETE /v1/account/identities/{identityId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/delete-mfa-authenticator.md b/examples/1.9.x/server-rest/examples/account/delete-mfa-authenticator.md index 19e07dc9d..8da06fb10 100644 --- a/examples/1.9.x/server-rest/examples/account/delete-mfa-authenticator.md +++ b/examples/1.9.x/server-rest/examples/account/delete-mfa-authenticator.md @@ -2,7 +2,7 @@ DELETE /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/delete-push-target.md b/examples/1.9.x/server-rest/examples/account/delete-push-target.md new file mode 100644 index 000000000..4bbfebeab --- /dev/null +++ b/examples/1.9.x/server-rest/examples/account/delete-push-target.md @@ -0,0 +1,10 @@ +```http +DELETE /v1/account/targets/{targetId}/push HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: + +``` diff --git a/examples/1.9.x/server-rest/examples/account/delete-session.md b/examples/1.9.x/server-rest/examples/account/delete-session.md index 64b5b39e5..7044fb19e 100644 --- a/examples/1.9.x/server-rest/examples/account/delete-session.md +++ b/examples/1.9.x/server-rest/examples/account/delete-session.md @@ -2,7 +2,7 @@ DELETE /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/delete-sessions.md b/examples/1.9.x/server-rest/examples/account/delete-sessions.md index 60a32d751..511f8d151 100644 --- a/examples/1.9.x/server-rest/examples/account/delete-sessions.md +++ b/examples/1.9.x/server-rest/examples/account/delete-sessions.md @@ -2,7 +2,7 @@ DELETE /v1/account/sessions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/get-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/account/get-mfa-recovery-codes.md index 48662b7f9..a0a902f9a 100644 --- a/examples/1.9.x/server-rest/examples/account/get-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/account/get-mfa-recovery-codes.md @@ -1,7 +1,7 @@ ```http GET /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/get-prefs.md b/examples/1.9.x/server-rest/examples/account/get-prefs.md index 1b36084bf..99b97bcf5 100644 --- a/examples/1.9.x/server-rest/examples/account/get-prefs.md +++ b/examples/1.9.x/server-rest/examples/account/get-prefs.md @@ -1,7 +1,7 @@ ```http GET /v1/account/prefs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/get-session.md b/examples/1.9.x/server-rest/examples/account/get-session.md index e6984322b..3799251ab 100644 --- a/examples/1.9.x/server-rest/examples/account/get-session.md +++ b/examples/1.9.x/server-rest/examples/account/get-session.md @@ -1,7 +1,7 @@ ```http GET /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/get.md b/examples/1.9.x/server-rest/examples/account/get.md index 2be657bc6..e61f07626 100644 --- a/examples/1.9.x/server-rest/examples/account/get.md +++ b/examples/1.9.x/server-rest/examples/account/get.md @@ -1,7 +1,7 @@ ```http GET /v1/account HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/list-identities.md b/examples/1.9.x/server-rest/examples/account/list-identities.md index 0b8c3b320..0813a1bf5 100644 --- a/examples/1.9.x/server-rest/examples/account/list-identities.md +++ b/examples/1.9.x/server-rest/examples/account/list-identities.md @@ -1,7 +1,7 @@ ```http GET /v1/account/identities HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/list-logs.md b/examples/1.9.x/server-rest/examples/account/list-logs.md index c73974096..cc8110e07 100644 --- a/examples/1.9.x/server-rest/examples/account/list-logs.md +++ b/examples/1.9.x/server-rest/examples/account/list-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/account/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/list-mfa-factors.md b/examples/1.9.x/server-rest/examples/account/list-mfa-factors.md index 7819722c3..2de5e9a27 100644 --- a/examples/1.9.x/server-rest/examples/account/list-mfa-factors.md +++ b/examples/1.9.x/server-rest/examples/account/list-mfa-factors.md @@ -1,7 +1,7 @@ ```http GET /v1/account/mfa/factors HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/list-sessions.md b/examples/1.9.x/server-rest/examples/account/list-sessions.md index f141de66c..c7dc84d7b 100644 --- a/examples/1.9.x/server-rest/examples/account/list-sessions.md +++ b/examples/1.9.x/server-rest/examples/account/list-sessions.md @@ -1,7 +1,7 @@ ```http GET /v1/account/sessions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-email-verification.md b/examples/1.9.x/server-rest/examples/account/update-email-verification.md index 565962a82..6ea3255e7 100644 --- a/examples/1.9.x/server-rest/examples/account/update-email-verification.md +++ b/examples/1.9.x/server-rest/examples/account/update-email-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-email.md b/examples/1.9.x/server-rest/examples/account/update-email.md index 9cfb637ee..841d076b8 100644 --- a/examples/1.9.x/server-rest/examples/account/update-email.md +++ b/examples/1.9.x/server-rest/examples/account/update-email.md @@ -2,7 +2,7 @@ PATCH /v1/account/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-magic-url-session.md b/examples/1.9.x/server-rest/examples/account/update-magic-url-session.md index 27b4a08b1..273bf326b 100644 --- a/examples/1.9.x/server-rest/examples/account/update-magic-url-session.md +++ b/examples/1.9.x/server-rest/examples/account/update-magic-url-session.md @@ -2,7 +2,7 @@ PUT /v1/account/sessions/magic-url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-mfa-authenticator.md b/examples/1.9.x/server-rest/examples/account/update-mfa-authenticator.md index 9301368bc..e7464765d 100644 --- a/examples/1.9.x/server-rest/examples/account/update-mfa-authenticator.md +++ b/examples/1.9.x/server-rest/examples/account/update-mfa-authenticator.md @@ -2,7 +2,7 @@ PUT /v1/account/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-mfa-challenge.md b/examples/1.9.x/server-rest/examples/account/update-mfa-challenge.md index ebbf51c0c..9964263cc 100644 --- a/examples/1.9.x/server-rest/examples/account/update-mfa-challenge.md +++ b/examples/1.9.x/server-rest/examples/account/update-mfa-challenge.md @@ -2,7 +2,7 @@ PUT /v1/account/mfa/challenges HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/account/update-mfa-recovery-codes.md index 7fa04cb78..bd2c3832d 100644 --- a/examples/1.9.x/server-rest/examples/account/update-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/account/update-mfa-recovery-codes.md @@ -2,7 +2,7 @@ PATCH /v1/account/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-mfa.md b/examples/1.9.x/server-rest/examples/account/update-mfa.md index 33e2867c8..a117bb6e1 100644 --- a/examples/1.9.x/server-rest/examples/account/update-mfa.md +++ b/examples/1.9.x/server-rest/examples/account/update-mfa.md @@ -2,7 +2,7 @@ PATCH /v1/account/mfa HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-name.md b/examples/1.9.x/server-rest/examples/account/update-name.md index 93e944035..7159a49e3 100644 --- a/examples/1.9.x/server-rest/examples/account/update-name.md +++ b/examples/1.9.x/server-rest/examples/account/update-name.md @@ -2,7 +2,7 @@ PATCH /v1/account/name HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-password.md b/examples/1.9.x/server-rest/examples/account/update-password.md index ab06d714f..dbde18b56 100644 --- a/examples/1.9.x/server-rest/examples/account/update-password.md +++ b/examples/1.9.x/server-rest/examples/account/update-password.md @@ -2,7 +2,7 @@ PATCH /v1/account/password HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-phone-session.md b/examples/1.9.x/server-rest/examples/account/update-phone-session.md index 049c095bc..82e387bf7 100644 --- a/examples/1.9.x/server-rest/examples/account/update-phone-session.md +++ b/examples/1.9.x/server-rest/examples/account/update-phone-session.md @@ -2,7 +2,7 @@ PUT /v1/account/sessions/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-phone-verification.md b/examples/1.9.x/server-rest/examples/account/update-phone-verification.md index 9ee56eee6..1f68f5080 100644 --- a/examples/1.9.x/server-rest/examples/account/update-phone-verification.md +++ b/examples/1.9.x/server-rest/examples/account/update-phone-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-phone.md b/examples/1.9.x/server-rest/examples/account/update-phone.md index 8ca95c2b9..42d99202e 100644 --- a/examples/1.9.x/server-rest/examples/account/update-phone.md +++ b/examples/1.9.x/server-rest/examples/account/update-phone.md @@ -2,7 +2,7 @@ PATCH /v1/account/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-prefs.md b/examples/1.9.x/server-rest/examples/account/update-prefs.md index fa77d4cc0..5795da398 100644 --- a/examples/1.9.x/server-rest/examples/account/update-prefs.md +++ b/examples/1.9.x/server-rest/examples/account/update-prefs.md @@ -2,7 +2,7 @@ PATCH /v1/account/prefs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-push-target.md b/examples/1.9.x/server-rest/examples/account/update-push-target.md new file mode 100644 index 000000000..079211a9d --- /dev/null +++ b/examples/1.9.x/server-rest/examples/account/update-push-target.md @@ -0,0 +1,13 @@ +```http +PUT /v1/account/targets/{targetId}/push HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: +X-Appwrite-JWT: + +{ + "identifier": "" +} +``` diff --git a/examples/1.9.x/server-rest/examples/account/update-recovery.md b/examples/1.9.x/server-rest/examples/account/update-recovery.md index d220b4af9..ebe7ee91f 100644 --- a/examples/1.9.x/server-rest/examples/account/update-recovery.md +++ b/examples/1.9.x/server-rest/examples/account/update-recovery.md @@ -2,7 +2,7 @@ PUT /v1/account/recovery HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-session.md b/examples/1.9.x/server-rest/examples/account/update-session.md index c0cf29543..6c9cf78f7 100644 --- a/examples/1.9.x/server-rest/examples/account/update-session.md +++ b/examples/1.9.x/server-rest/examples/account/update-session.md @@ -2,7 +2,7 @@ PATCH /v1/account/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-status.md b/examples/1.9.x/server-rest/examples/account/update-status.md index 67c02b8a4..b57e878df 100644 --- a/examples/1.9.x/server-rest/examples/account/update-status.md +++ b/examples/1.9.x/server-rest/examples/account/update-status.md @@ -2,7 +2,7 @@ PATCH /v1/account/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/account/update-verification.md b/examples/1.9.x/server-rest/examples/account/update-verification.md index 565962a82..6ea3255e7 100644 --- a/examples/1.9.x/server-rest/examples/account/update-verification.md +++ b/examples/1.9.x/server-rest/examples/account/update-verification.md @@ -2,7 +2,7 @@ PUT /v1/account/verifications/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/activities/get-event.md b/examples/1.9.x/server-rest/examples/activities/get-event.md index 314a54e4b..bd287b510 100644 --- a/examples/1.9.x/server-rest/examples/activities/get-event.md +++ b/examples/1.9.x/server-rest/examples/activities/get-event.md @@ -1,7 +1,7 @@ ```http GET /v1/activities/events/{eventId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/activities/list-events.md b/examples/1.9.x/server-rest/examples/activities/list-events.md index 4099c0225..fa3df6987 100644 --- a/examples/1.9.x/server-rest/examples/activities/list-events.md +++ b/examples/1.9.x/server-rest/examples/activities/list-events.md @@ -1,7 +1,7 @@ ```http GET /v1/activities/events HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/advisor/delete-report.md b/examples/1.9.x/server-rest/examples/advisor/delete-report.md new file mode 100644 index 000000000..43729f924 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/advisor/delete-report.md @@ -0,0 +1,9 @@ +```http +DELETE /v1/reports/{reportId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: + +``` diff --git a/examples/1.9.x/server-rest/examples/advisor/get-insight.md b/examples/1.9.x/server-rest/examples/advisor/get-insight.md new file mode 100644 index 000000000..1e4c661b4 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/advisor/get-insight.md @@ -0,0 +1,7 @@ +```http +GET /v1/reports/{reportId}/insights/{insightId} HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/advisor/get-report.md b/examples/1.9.x/server-rest/examples/advisor/get-report.md new file mode 100644 index 000000000..48e9ba06e --- /dev/null +++ b/examples/1.9.x/server-rest/examples/advisor/get-report.md @@ -0,0 +1,7 @@ +```http +GET /v1/reports/{reportId} HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/advisor/list-insights.md b/examples/1.9.x/server-rest/examples/advisor/list-insights.md new file mode 100644 index 000000000..ec3933c5f --- /dev/null +++ b/examples/1.9.x/server-rest/examples/advisor/list-insights.md @@ -0,0 +1,7 @@ +```http +GET /v1/reports/{reportId}/insights HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/advisor/list-reports.md b/examples/1.9.x/server-rest/examples/advisor/list-reports.md new file mode 100644 index 000000000..ce9a78d2d --- /dev/null +++ b/examples/1.9.x/server-rest/examples/advisor/list-reports.md @@ -0,0 +1,7 @@ +```http +GET /v1/reports HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/avatars/get-browser.md b/examples/1.9.x/server-rest/examples/avatars/get-browser.md index ef472a4fc..d79419797 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-browser.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/browsers/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-credit-card.md b/examples/1.9.x/server-rest/examples/avatars/get-credit-card.md index 623db9aad..610c8f58b 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-credit-card.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/credit-cards/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-favicon.md b/examples/1.9.x/server-rest/examples/avatars/get-favicon.md index 72f82cbdd..39d89d455 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-favicon.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/favicon HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-flag.md b/examples/1.9.x/server-rest/examples/avatars/get-flag.md index a027d2050..f0ed3c575 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-flag.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/flags/{code} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-image.md b/examples/1.9.x/server-rest/examples/avatars/get-image.md index 4b64b589b..1087f5160 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-image.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-image.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/image HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-initials.md b/examples/1.9.x/server-rest/examples/avatars/get-initials.md index 72a91dc7f..32cf05d32 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-initials.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/initials HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-qr.md b/examples/1.9.x/server-rest/examples/avatars/get-qr.md index 51480637a..ffadf37bc 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-qr.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/qr HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/avatars/get-screenshot.md b/examples/1.9.x/server-rest/examples/avatars/get-screenshot.md index 538b16ff6..dc27d87c0 100644 --- a/examples/1.9.x/server-rest/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-rest/examples/avatars/get-screenshot.md @@ -1,7 +1,7 @@ ```http GET /v1/avatars/screenshots HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/create-archive.md b/examples/1.9.x/server-rest/examples/backups/create-archive.md index f0ec1fc35..d4ba549c4 100644 --- a/examples/1.9.x/server-rest/examples/backups/create-archive.md +++ b/examples/1.9.x/server-rest/examples/backups/create-archive.md @@ -2,7 +2,7 @@ POST /v1/backups/archives HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/create-policy.md b/examples/1.9.x/server-rest/examples/backups/create-policy.md index 9a979cae0..d18c1280f 100644 --- a/examples/1.9.x/server-rest/examples/backups/create-policy.md +++ b/examples/1.9.x/server-rest/examples/backups/create-policy.md @@ -2,7 +2,7 @@ POST /v1/backups/policies HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/create-restoration.md b/examples/1.9.x/server-rest/examples/backups/create-restoration.md index 883420030..aeefe7ea3 100644 --- a/examples/1.9.x/server-rest/examples/backups/create-restoration.md +++ b/examples/1.9.x/server-rest/examples/backups/create-restoration.md @@ -2,7 +2,7 @@ POST /v1/backups/restoration HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/delete-archive.md b/examples/1.9.x/server-rest/examples/backups/delete-archive.md index aa9c7c2bb..50bf84758 100644 --- a/examples/1.9.x/server-rest/examples/backups/delete-archive.md +++ b/examples/1.9.x/server-rest/examples/backups/delete-archive.md @@ -2,7 +2,7 @@ DELETE /v1/backups/archives/{archiveId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/delete-policy.md b/examples/1.9.x/server-rest/examples/backups/delete-policy.md index eb57912cd..5dcb7657f 100644 --- a/examples/1.9.x/server-rest/examples/backups/delete-policy.md +++ b/examples/1.9.x/server-rest/examples/backups/delete-policy.md @@ -2,7 +2,7 @@ DELETE /v1/backups/policies/{policyId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/backups/get-archive.md b/examples/1.9.x/server-rest/examples/backups/get-archive.md index 4ecacf3a3..094bef500 100644 --- a/examples/1.9.x/server-rest/examples/backups/get-archive.md +++ b/examples/1.9.x/server-rest/examples/backups/get-archive.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/archives/{archiveId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/get-policy.md b/examples/1.9.x/server-rest/examples/backups/get-policy.md index 758fc4d58..493f7b25e 100644 --- a/examples/1.9.x/server-rest/examples/backups/get-policy.md +++ b/examples/1.9.x/server-rest/examples/backups/get-policy.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/policies/{policyId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/get-restoration.md b/examples/1.9.x/server-rest/examples/backups/get-restoration.md index 785ab3e09..ead889038 100644 --- a/examples/1.9.x/server-rest/examples/backups/get-restoration.md +++ b/examples/1.9.x/server-rest/examples/backups/get-restoration.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/restorations/{restorationId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/list-archives.md b/examples/1.9.x/server-rest/examples/backups/list-archives.md index 3973ce341..a0bd83083 100644 --- a/examples/1.9.x/server-rest/examples/backups/list-archives.md +++ b/examples/1.9.x/server-rest/examples/backups/list-archives.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/archives HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/list-policies.md b/examples/1.9.x/server-rest/examples/backups/list-policies.md index 1c8763bd4..d2da23b93 100644 --- a/examples/1.9.x/server-rest/examples/backups/list-policies.md +++ b/examples/1.9.x/server-rest/examples/backups/list-policies.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/policies HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/list-restorations.md b/examples/1.9.x/server-rest/examples/backups/list-restorations.md index bb85971e1..dee3f33eb 100644 --- a/examples/1.9.x/server-rest/examples/backups/list-restorations.md +++ b/examples/1.9.x/server-rest/examples/backups/list-restorations.md @@ -1,7 +1,7 @@ ```http GET /v1/backups/restorations HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/backups/update-policy.md b/examples/1.9.x/server-rest/examples/backups/update-policy.md index 6a10f67d7..efadda8af 100644 --- a/examples/1.9.x/server-rest/examples/backups/update-policy.md +++ b/examples/1.9.x/server-rest/examples/backups/update-policy.md @@ -2,7 +2,7 @@ PATCH /v1/backups/policies/{policyId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-big-int-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-big-int-attribute.md index 774383199..7717d46e9 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-big-int-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-big-int-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/bigint HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-boolean-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-boolean-attribute.md index 772fb2fd7..cb1039200 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-boolean-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-boolean-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/boolean HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-collection.md b/examples/1.9.x/server-rest/examples/databases/create-collection.md index 0966c4193..55a127b35 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-collection.md +++ b/examples/1.9.x/server-rest/examples/databases/create-collection.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-datetime-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-datetime-attribute.md index 85f0d3252..372a78dc5 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-datetime-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-datetime-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/datetime HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-document.md b/examples/1.9.x/server-rest/examples/databases/create-document.md index b672c3e3c..4ef3ca2ba 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-document.md +++ b/examples/1.9.x/server-rest/examples/databases/create-document.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-documents.md b/examples/1.9.x/server-rest/examples/databases/create-documents.md index 2369e82a8..27c7986c8 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-documents.md +++ b/examples/1.9.x/server-rest/examples/databases/create-documents.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-email-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-email-attribute.md index b02b03ac8..90a53bd4d 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-email-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-email-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-enum-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-enum-attribute.md index f45b5f1c6..1e95e9293 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-enum-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-enum-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/enum HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-float-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-float-attribute.md index 2077f6654..69a78f1bd 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-float-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-float-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/float HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-index.md b/examples/1.9.x/server-rest/examples/databases/create-index.md index 99613e108..b272df1ad 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-index.md +++ b/examples/1.9.x/server-rest/examples/databases/create-index.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/indexes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-integer-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-integer-attribute.md index cacc72487..3453e2f26 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-integer-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-integer-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/integer HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-ip-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-ip-attribute.md index 1aa1d3092..206449eec 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-ip-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-ip-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/ip HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-line-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-line-attribute.md index 9c970bc2f..738b9f7ff 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-line-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-line-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/line HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-longtext-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-longtext-attribute.md index 9c240814d..b16a21f38 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-longtext-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-longtext-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/longtext HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-mediumtext-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-mediumtext-attribute.md index cd266ad7b..88730f4d3 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-mediumtext-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-mediumtext-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/mediumtext HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-operations.md b/examples/1.9.x/server-rest/examples/databases/create-operations.md index b90f5dce1..2009bb9ce 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-operations.md +++ b/examples/1.9.x/server-rest/examples/databases/create-operations.md @@ -2,7 +2,7 @@ POST /v1/databases/transactions/{transactionId}/operations HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/create-point-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-point-attribute.md index 7539310bd..cb8dc01c5 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-point-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-point-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/point HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-polygon-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-polygon-attribute.md index e201a1b6e..81fd14498 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-polygon-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-polygon-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/polygon HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-relationship-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-relationship-attribute.md index cbc67e54c..d2be31093 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-relationship-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-relationship-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/relationship HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-string-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-string-attribute.md index e6f1e854e..f918138d9 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-string-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-string-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/string HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-text-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-text-attribute.md index 190344b72..6191f5082 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-text-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-text-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/text HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-transaction.md b/examples/1.9.x/server-rest/examples/databases/create-transaction.md index 414a33d83..bbf487b75 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-transaction.md +++ b/examples/1.9.x/server-rest/examples/databases/create-transaction.md @@ -2,7 +2,7 @@ POST /v1/databases/transactions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/create-url-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-url-attribute.md index 9917e1551..81eb78742 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-url-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-url-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create-varchar-attribute.md b/examples/1.9.x/server-rest/examples/databases/create-varchar-attribute.md index 6d5802d80..5c94128cd 100644 --- a/examples/1.9.x/server-rest/examples/databases/create-varchar-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/create-varchar-attribute.md @@ -2,7 +2,7 @@ POST /v1/databases/{databaseId}/collections/{collectionId}/attributes/varchar HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/create.md b/examples/1.9.x/server-rest/examples/databases/create.md index ca5128ec1..cc1244d7a 100644 --- a/examples/1.9.x/server-rest/examples/databases/create.md +++ b/examples/1.9.x/server-rest/examples/databases/create.md @@ -2,7 +2,7 @@ POST /v1/databases HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/decrement-document-attribute.md b/examples/1.9.x/server-rest/examples/databases/decrement-document-attribute.md index 143e2ac48..986117ce4 100644 --- a/examples/1.9.x/server-rest/examples/databases/decrement-document-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/decrement-document-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-attribute.md b/examples/1.9.x/server-rest/examples/databases/delete-attribute.md index cb783ee78..83278c42e 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-attribute.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId}/attributes/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-collection.md b/examples/1.9.x/server-rest/examples/databases/delete-collection.md index d591fbc64..ff2bdadc8 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-collection.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-collection.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-document.md b/examples/1.9.x/server-rest/examples/databases/delete-document.md index 71da6bf03..20567a7a7 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-document.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-document.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-documents.md b/examples/1.9.x/server-rest/examples/databases/delete-documents.md index c4100c74b..d5ecd864e 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-documents.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-documents.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-index.md b/examples/1.9.x/server-rest/examples/databases/delete-index.md index ed5206886..a4499892b 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-index.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-index.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId}/collections/{collectionId}/indexes/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/delete-transaction.md b/examples/1.9.x/server-rest/examples/databases/delete-transaction.md index 8aa0978c3..95e13261d 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete-transaction.md +++ b/examples/1.9.x/server-rest/examples/databases/delete-transaction.md @@ -2,7 +2,7 @@ DELETE /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/delete.md b/examples/1.9.x/server-rest/examples/databases/delete.md index 35b0e9570..43509f834 100644 --- a/examples/1.9.x/server-rest/examples/databases/delete.md +++ b/examples/1.9.x/server-rest/examples/databases/delete.md @@ -2,7 +2,7 @@ DELETE /v1/databases/{databaseId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/get-attribute.md b/examples/1.9.x/server-rest/examples/databases/get-attribute.md index 97cbac2f4..2bf086eef 100644 --- a/examples/1.9.x/server-rest/examples/databases/get-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/get-attribute.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/attributes/{key} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/get-collection.md b/examples/1.9.x/server-rest/examples/databases/get-collection.md index c2f80ca21..14787c832 100644 --- a/examples/1.9.x/server-rest/examples/databases/get-collection.md +++ b/examples/1.9.x/server-rest/examples/databases/get-collection.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/get-document.md b/examples/1.9.x/server-rest/examples/databases/get-document.md index 88d11a75c..304abb070 100644 --- a/examples/1.9.x/server-rest/examples/databases/get-document.md +++ b/examples/1.9.x/server-rest/examples/databases/get-document.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/get-index.md b/examples/1.9.x/server-rest/examples/databases/get-index.md index 218e9e5e6..7314255fb 100644 --- a/examples/1.9.x/server-rest/examples/databases/get-index.md +++ b/examples/1.9.x/server-rest/examples/databases/get-index.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/indexes/{key} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/get-transaction.md b/examples/1.9.x/server-rest/examples/databases/get-transaction.md index 2f3f13858..b10a448b0 100644 --- a/examples/1.9.x/server-rest/examples/databases/get-transaction.md +++ b/examples/1.9.x/server-rest/examples/databases/get-transaction.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/get.md b/examples/1.9.x/server-rest/examples/databases/get.md index d790de523..c995ff26f 100644 --- a/examples/1.9.x/server-rest/examples/databases/get.md +++ b/examples/1.9.x/server-rest/examples/databases/get.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/increment-document-attribute.md b/examples/1.9.x/server-rest/examples/databases/increment-document-attribute.md index 18cea03a7..ef0539443 100644 --- a/examples/1.9.x/server-rest/examples/databases/increment-document-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/increment-document-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/databases/list-attributes.md b/examples/1.9.x/server-rest/examples/databases/list-attributes.md index 0a4465fc9..20b42bc08 100644 --- a/examples/1.9.x/server-rest/examples/databases/list-attributes.md +++ b/examples/1.9.x/server-rest/examples/databases/list-attributes.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/attributes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/list-collections.md b/examples/1.9.x/server-rest/examples/databases/list-collections.md index 6543a198d..6431aff0a 100644 --- a/examples/1.9.x/server-rest/examples/databases/list-collections.md +++ b/examples/1.9.x/server-rest/examples/databases/list-collections.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/list-documents.md b/examples/1.9.x/server-rest/examples/databases/list-documents.md index af5102c97..d25e10b4f 100644 --- a/examples/1.9.x/server-rest/examples/databases/list-documents.md +++ b/examples/1.9.x/server-rest/examples/databases/list-documents.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/list-indexes.md b/examples/1.9.x/server-rest/examples/databases/list-indexes.md index bb75e791b..d44cd37da 100644 --- a/examples/1.9.x/server-rest/examples/databases/list-indexes.md +++ b/examples/1.9.x/server-rest/examples/databases/list-indexes.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/{databaseId}/collections/{collectionId}/indexes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/list-transactions.md b/examples/1.9.x/server-rest/examples/databases/list-transactions.md index 56626e31d..77bb0b95d 100644 --- a/examples/1.9.x/server-rest/examples/databases/list-transactions.md +++ b/examples/1.9.x/server-rest/examples/databases/list-transactions.md @@ -1,7 +1,7 @@ ```http GET /v1/databases/transactions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/list.md b/examples/1.9.x/server-rest/examples/databases/list.md index 0193ffbd0..a2ce2b574 100644 --- a/examples/1.9.x/server-rest/examples/databases/list.md +++ b/examples/1.9.x/server-rest/examples/databases/list.md @@ -1,7 +1,7 @@ ```http GET /v1/databases HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/databases/update-big-int-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-big-int-attribute.md index 9b9c57882..ad5aa8553 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-big-int-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-big-int-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/bigint/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-boolean-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-boolean-attribute.md index 74b8a2fff..a1b01b01d 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-boolean-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-boolean-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/boolean/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-collection.md b/examples/1.9.x/server-rest/examples/databases/update-collection.md index 5a3a952a0..fd68170c5 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-collection.md +++ b/examples/1.9.x/server-rest/examples/databases/update-collection.md @@ -2,7 +2,7 @@ PUT /v1/databases/{databaseId}/collections/{collectionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-datetime-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-datetime-attribute.md index 8a3c0cddb..4e972eaa6 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-datetime-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-datetime-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/datetime/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-document.md b/examples/1.9.x/server-rest/examples/databases/update-document.md index 0db54582d..fa465b907 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-document.md +++ b/examples/1.9.x/server-rest/examples/databases/update-document.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-documents.md b/examples/1.9.x/server-rest/examples/databases/update-documents.md index c6598f086..55df64702 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-documents.md +++ b/examples/1.9.x/server-rest/examples/databases/update-documents.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-email-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-email-attribute.md index f62876550..6a2e27f78 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-email-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-email-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/email/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-enum-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-enum-attribute.md index ad9cc1509..d83f1cd9f 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-enum-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-enum-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/enum/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-float-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-float-attribute.md index aa10173ed..66663584d 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-float-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-float-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/float/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-integer-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-integer-attribute.md index a92325354..357c27f96 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-integer-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-integer-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/integer/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-ip-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-ip-attribute.md index 2c7f66069..c5be3af9e 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-ip-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-ip-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/ip/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-line-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-line-attribute.md index a89a65f53..b4aa40ade 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-line-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-line-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/line/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-longtext-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-longtext-attribute.md index 007b30edc..6900834d8 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-longtext-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-longtext-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/longtext/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-mediumtext-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-mediumtext-attribute.md index f9eedf55e..edcd20565 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-mediumtext-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-mediumtext-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/mediumtext/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-point-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-point-attribute.md index e48864cbb..7ed75baf4 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-point-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-point-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/point/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-polygon-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-polygon-attribute.md index a0b9e2b83..8e39bda56 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-polygon-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-polygon-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/polygon/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-relationship-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-relationship-attribute.md index a35603d2d..0d4d348ae 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-relationship-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-relationship-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/relationship/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-string-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-string-attribute.md index 30ebb5f17..88e57c009 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-string-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-string-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/string/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-text-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-text-attribute.md index 3d9951150..166ae59dc 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-text-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-text-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/text/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-transaction.md b/examples/1.9.x/server-rest/examples/databases/update-transaction.md index 5d0a21d78..9e321a9bd 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-transaction.md +++ b/examples/1.9.x/server-rest/examples/databases/update-transaction.md @@ -2,7 +2,7 @@ PATCH /v1/databases/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/databases/update-url-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-url-attribute.md index 4081490db..6085c72b8 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-url-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-url-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/url/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update-varchar-attribute.md b/examples/1.9.x/server-rest/examples/databases/update-varchar-attribute.md index 529ddb794..942cf323b 100644 --- a/examples/1.9.x/server-rest/examples/databases/update-varchar-attribute.md +++ b/examples/1.9.x/server-rest/examples/databases/update-varchar-attribute.md @@ -2,7 +2,7 @@ PATCH /v1/databases/{databaseId}/collections/{collectionId}/attributes/varchar/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/update.md b/examples/1.9.x/server-rest/examples/databases/update.md index 46984b51b..75f071c20 100644 --- a/examples/1.9.x/server-rest/examples/databases/update.md +++ b/examples/1.9.x/server-rest/examples/databases/update.md @@ -2,7 +2,7 @@ PUT /v1/databases/{databaseId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/upsert-document.md b/examples/1.9.x/server-rest/examples/databases/upsert-document.md index 9d1866a4d..fe254e2da 100644 --- a/examples/1.9.x/server-rest/examples/databases/upsert-document.md +++ b/examples/1.9.x/server-rest/examples/databases/upsert-document.md @@ -2,7 +2,7 @@ PUT /v1/databases/{databaseId}/collections/{collectionId}/documents/{documentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/databases/upsert-documents.md b/examples/1.9.x/server-rest/examples/databases/upsert-documents.md index 5f52b3115..3925187ed 100644 --- a/examples/1.9.x/server-rest/examples/databases/upsert-documents.md +++ b/examples/1.9.x/server-rest/examples/databases/upsert-documents.md @@ -2,7 +2,7 @@ PUT /v1/databases/{databaseId}/collections/{collectionId}/documents HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create-deployment.md b/examples/1.9.x/server-rest/examples/functions/create-deployment.md index eee2598f1..820c9ddef 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/create-deployment.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/deployments HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: Content-Length: *Length of your entity body in bytes* diff --git a/examples/1.9.x/server-rest/examples/functions/create-duplicate-deployment.md b/examples/1.9.x/server-rest/examples/functions/create-duplicate-deployment.md index d1034b42e..e93489938 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-duplicate-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/create-duplicate-deployment.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/deployments/duplicate HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create-execution.md b/examples/1.9.x/server-rest/examples/functions/create-execution.md index 876dc5c5a..0578c321f 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-execution.md +++ b/examples/1.9.x/server-rest/examples/functions/create-execution.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/executions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create-template-deployment.md b/examples/1.9.x/server-rest/examples/functions/create-template-deployment.md index 2ce8902b6..e16c62da7 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-template-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/create-template-deployment.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/deployments/template HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create-variable.md b/examples/1.9.x/server-rest/examples/functions/create-variable.md index 4a26e0fac..c20fc70cd 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-variable.md +++ b/examples/1.9.x/server-rest/examples/functions/create-variable.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/variables HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create-vcs-deployment.md b/examples/1.9.x/server-rest/examples/functions/create-vcs-deployment.md index 1999224a5..3a684506a 100644 --- a/examples/1.9.x/server-rest/examples/functions/create-vcs-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/create-vcs-deployment.md @@ -2,7 +2,7 @@ POST /v1/functions/{functionId}/deployments/vcs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/create.md b/examples/1.9.x/server-rest/examples/functions/create.md index 72caa7813..6039762ce 100644 --- a/examples/1.9.x/server-rest/examples/functions/create.md +++ b/examples/1.9.x/server-rest/examples/functions/create.md @@ -2,7 +2,7 @@ POST /v1/functions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/delete-deployment.md b/examples/1.9.x/server-rest/examples/functions/delete-deployment.md index 8b57ef68f..9c1e8d6c3 100644 --- a/examples/1.9.x/server-rest/examples/functions/delete-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/delete-deployment.md @@ -2,7 +2,7 @@ DELETE /v1/functions/{functionId}/deployments/{deploymentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/delete-execution.md b/examples/1.9.x/server-rest/examples/functions/delete-execution.md index f5e656434..7b35348b1 100644 --- a/examples/1.9.x/server-rest/examples/functions/delete-execution.md +++ b/examples/1.9.x/server-rest/examples/functions/delete-execution.md @@ -2,7 +2,7 @@ DELETE /v1/functions/{functionId}/executions/{executionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/delete-variable.md b/examples/1.9.x/server-rest/examples/functions/delete-variable.md index b2b5209dc..93bf52c93 100644 --- a/examples/1.9.x/server-rest/examples/functions/delete-variable.md +++ b/examples/1.9.x/server-rest/examples/functions/delete-variable.md @@ -2,7 +2,7 @@ DELETE /v1/functions/{functionId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/delete.md b/examples/1.9.x/server-rest/examples/functions/delete.md index 62689e6da..829af120b 100644 --- a/examples/1.9.x/server-rest/examples/functions/delete.md +++ b/examples/1.9.x/server-rest/examples/functions/delete.md @@ -2,7 +2,7 @@ DELETE /v1/functions/{functionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/get-deployment-download.md b/examples/1.9.x/server-rest/examples/functions/get-deployment-download.md index a29399c10..2ea00750c 100644 --- a/examples/1.9.x/server-rest/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-rest/examples/functions/get-deployment-download.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/deployments/{deploymentId}/download HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/functions/get-deployment.md b/examples/1.9.x/server-rest/examples/functions/get-deployment.md index 7ce442936..4b2b49527 100644 --- a/examples/1.9.x/server-rest/examples/functions/get-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/get-deployment.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/deployments/{deploymentId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/get-execution.md b/examples/1.9.x/server-rest/examples/functions/get-execution.md index 01e3d65de..691784908 100644 --- a/examples/1.9.x/server-rest/examples/functions/get-execution.md +++ b/examples/1.9.x/server-rest/examples/functions/get-execution.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/executions/{executionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/get-variable.md b/examples/1.9.x/server-rest/examples/functions/get-variable.md index 8f6f9a101..f02719443 100644 --- a/examples/1.9.x/server-rest/examples/functions/get-variable.md +++ b/examples/1.9.x/server-rest/examples/functions/get-variable.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/get.md b/examples/1.9.x/server-rest/examples/functions/get.md index 20a413f32..1b1ecd3a5 100644 --- a/examples/1.9.x/server-rest/examples/functions/get.md +++ b/examples/1.9.x/server-rest/examples/functions/get.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/list-deployments.md b/examples/1.9.x/server-rest/examples/functions/list-deployments.md index 4524e694f..a7778619e 100644 --- a/examples/1.9.x/server-rest/examples/functions/list-deployments.md +++ b/examples/1.9.x/server-rest/examples/functions/list-deployments.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/deployments HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/list-executions.md b/examples/1.9.x/server-rest/examples/functions/list-executions.md index d8fe593a0..38e3d28bd 100644 --- a/examples/1.9.x/server-rest/examples/functions/list-executions.md +++ b/examples/1.9.x/server-rest/examples/functions/list-executions.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/executions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/list-runtimes.md b/examples/1.9.x/server-rest/examples/functions/list-runtimes.md index 5e5afd3e7..31cc77451 100644 --- a/examples/1.9.x/server-rest/examples/functions/list-runtimes.md +++ b/examples/1.9.x/server-rest/examples/functions/list-runtimes.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/runtimes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/list-specifications.md b/examples/1.9.x/server-rest/examples/functions/list-specifications.md index f9da16de6..902ffcd3c 100644 --- a/examples/1.9.x/server-rest/examples/functions/list-specifications.md +++ b/examples/1.9.x/server-rest/examples/functions/list-specifications.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/specifications HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/list-variables.md b/examples/1.9.x/server-rest/examples/functions/list-variables.md index fab7e4c05..6b9ed06ef 100644 --- a/examples/1.9.x/server-rest/examples/functions/list-variables.md +++ b/examples/1.9.x/server-rest/examples/functions/list-variables.md @@ -1,7 +1,7 @@ ```http GET /v1/functions/{functionId}/variables HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/list.md b/examples/1.9.x/server-rest/examples/functions/list.md index 4135dcbe2..59b5ddc9c 100644 --- a/examples/1.9.x/server-rest/examples/functions/list.md +++ b/examples/1.9.x/server-rest/examples/functions/list.md @@ -1,7 +1,7 @@ ```http GET /v1/functions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/functions/update-deployment-status.md b/examples/1.9.x/server-rest/examples/functions/update-deployment-status.md index 38fbd0332..cde302546 100644 --- a/examples/1.9.x/server-rest/examples/functions/update-deployment-status.md +++ b/examples/1.9.x/server-rest/examples/functions/update-deployment-status.md @@ -2,7 +2,7 @@ PATCH /v1/functions/{functionId}/deployments/{deploymentId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/update-function-deployment.md b/examples/1.9.x/server-rest/examples/functions/update-function-deployment.md index fa863051f..43a13347c 100644 --- a/examples/1.9.x/server-rest/examples/functions/update-function-deployment.md +++ b/examples/1.9.x/server-rest/examples/functions/update-function-deployment.md @@ -2,7 +2,7 @@ PATCH /v1/functions/{functionId}/deployment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/update-variable.md b/examples/1.9.x/server-rest/examples/functions/update-variable.md index 21af41cf1..ae2676f73 100644 --- a/examples/1.9.x/server-rest/examples/functions/update-variable.md +++ b/examples/1.9.x/server-rest/examples/functions/update-variable.md @@ -2,7 +2,7 @@ PUT /v1/functions/{functionId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/functions/update.md b/examples/1.9.x/server-rest/examples/functions/update.md index 1e1df4de0..ce81f2193 100644 --- a/examples/1.9.x/server-rest/examples/functions/update.md +++ b/examples/1.9.x/server-rest/examples/functions/update.md @@ -2,7 +2,7 @@ PUT /v1/functions/{functionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/graphql/mutation.md b/examples/1.9.x/server-rest/examples/graphql/mutation.md index ad2e211cc..6d6f939a9 100644 --- a/examples/1.9.x/server-rest/examples/graphql/mutation.md +++ b/examples/1.9.x/server-rest/examples/graphql/mutation.md @@ -3,7 +3,7 @@ POST /v1/graphql/mutation HTTP/1.1 Host: cloud.appwrite.io X-Sdk-Graphql: true Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/graphql/query.md b/examples/1.9.x/server-rest/examples/graphql/query.md index c5831f72a..215dcc58b 100644 --- a/examples/1.9.x/server-rest/examples/graphql/query.md +++ b/examples/1.9.x/server-rest/examples/graphql/query.md @@ -3,7 +3,7 @@ POST /v1/graphql HTTP/1.1 Host: cloud.appwrite.io X-Sdk-Graphql: true Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/health/get-antivirus.md b/examples/1.9.x/server-rest/examples/health/get-antivirus.md index 65c3c8f65..5f5758ffd 100644 --- a/examples/1.9.x/server-rest/examples/health/get-antivirus.md +++ b/examples/1.9.x/server-rest/examples/health/get-antivirus.md @@ -1,7 +1,7 @@ ```http GET /v1/health/anti-virus HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-cache.md b/examples/1.9.x/server-rest/examples/health/get-cache.md index 4ac941de2..0724f821a 100644 --- a/examples/1.9.x/server-rest/examples/health/get-cache.md +++ b/examples/1.9.x/server-rest/examples/health/get-cache.md @@ -1,7 +1,7 @@ ```http GET /v1/health/cache HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-certificate.md b/examples/1.9.x/server-rest/examples/health/get-certificate.md index 1c3086fae..f801536fe 100644 --- a/examples/1.9.x/server-rest/examples/health/get-certificate.md +++ b/examples/1.9.x/server-rest/examples/health/get-certificate.md @@ -1,7 +1,7 @@ ```http GET /v1/health/certificate HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-console-pausing.md b/examples/1.9.x/server-rest/examples/health/get-console-pausing.md index 9137f550f..cc23b7b92 100644 --- a/examples/1.9.x/server-rest/examples/health/get-console-pausing.md +++ b/examples/1.9.x/server-rest/examples/health/get-console-pausing.md @@ -1,7 +1,7 @@ ```http GET /v1/health/console-pausing HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-db.md b/examples/1.9.x/server-rest/examples/health/get-db.md index 3d7f1d41a..3456a29fc 100644 --- a/examples/1.9.x/server-rest/examples/health/get-db.md +++ b/examples/1.9.x/server-rest/examples/health/get-db.md @@ -1,7 +1,7 @@ ```http GET /v1/health/db HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-failed-jobs.md b/examples/1.9.x/server-rest/examples/health/get-failed-jobs.md index d574fcf85..99a779959 100644 --- a/examples/1.9.x/server-rest/examples/health/get-failed-jobs.md +++ b/examples/1.9.x/server-rest/examples/health/get-failed-jobs.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/failed/{name} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-pub-sub.md b/examples/1.9.x/server-rest/examples/health/get-pub-sub.md index 82301a957..1ea221d62 100644 --- a/examples/1.9.x/server-rest/examples/health/get-pub-sub.md +++ b/examples/1.9.x/server-rest/examples/health/get-pub-sub.md @@ -1,7 +1,7 @@ ```http GET /v1/health/pubsub HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-audits.md b/examples/1.9.x/server-rest/examples/health/get-queue-audits.md index 9d3883f88..2fe0a3b7d 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-audits.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-audits.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/audits HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-builds.md b/examples/1.9.x/server-rest/examples/health/get-queue-builds.md index e2b7effa7..6fed7799b 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-builds.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-builds.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/builds HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-certificates.md b/examples/1.9.x/server-rest/examples/health/get-queue-certificates.md index 1653a1e95..f54c77609 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-certificates.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-certificates.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/certificates HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-databases.md b/examples/1.9.x/server-rest/examples/health/get-queue-databases.md index 4237d4dff..4f0ff877c 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-databases.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-databases.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/databases HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-deletes.md b/examples/1.9.x/server-rest/examples/health/get-queue-deletes.md index e34eb76bf..52628c792 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-deletes.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-deletes.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/deletes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-functions.md b/examples/1.9.x/server-rest/examples/health/get-queue-functions.md index cee4ff070..90bae0662 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-functions.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-functions.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/functions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-logs.md b/examples/1.9.x/server-rest/examples/health/get-queue-logs.md index 7f4ee88b7..6e98ebe94 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-logs.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-mails.md b/examples/1.9.x/server-rest/examples/health/get-queue-mails.md index 3116630b0..c56b004df 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-mails.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-mails.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/mails HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-messaging.md b/examples/1.9.x/server-rest/examples/health/get-queue-messaging.md index bc13a5771..26d9b9305 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-messaging.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-messaging.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/messaging HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-migrations.md b/examples/1.9.x/server-rest/examples/health/get-queue-migrations.md index 6bd084574..820ef8bbc 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-migrations.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-migrations.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/migrations HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-stats-resources.md b/examples/1.9.x/server-rest/examples/health/get-queue-stats-resources.md index 1223f4327..44219eef1 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-stats-resources.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-stats-resources.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/stats-resources HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-usage.md b/examples/1.9.x/server-rest/examples/health/get-queue-usage.md index 1385692dc..6359467ee 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-usage.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-usage.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/stats-usage HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-queue-webhooks.md b/examples/1.9.x/server-rest/examples/health/get-queue-webhooks.md index 0a5d72e7e..fd8050c06 100644 --- a/examples/1.9.x/server-rest/examples/health/get-queue-webhooks.md +++ b/examples/1.9.x/server-rest/examples/health/get-queue-webhooks.md @@ -1,7 +1,7 @@ ```http GET /v1/health/queue/webhooks HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-storage-local.md b/examples/1.9.x/server-rest/examples/health/get-storage-local.md index 1c43939e6..dde11fa8f 100644 --- a/examples/1.9.x/server-rest/examples/health/get-storage-local.md +++ b/examples/1.9.x/server-rest/examples/health/get-storage-local.md @@ -1,7 +1,7 @@ ```http GET /v1/health/storage/local HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-storage.md b/examples/1.9.x/server-rest/examples/health/get-storage.md index 1301df615..f9e0d17a6 100644 --- a/examples/1.9.x/server-rest/examples/health/get-storage.md +++ b/examples/1.9.x/server-rest/examples/health/get-storage.md @@ -1,7 +1,7 @@ ```http GET /v1/health/storage HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get-time.md b/examples/1.9.x/server-rest/examples/health/get-time.md index 14d6b40b6..7db5414ca 100644 --- a/examples/1.9.x/server-rest/examples/health/get-time.md +++ b/examples/1.9.x/server-rest/examples/health/get-time.md @@ -1,7 +1,7 @@ ```http GET /v1/health/time HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/health/get.md b/examples/1.9.x/server-rest/examples/health/get.md index 0fb196664..3e407dcb8 100644 --- a/examples/1.9.x/server-rest/examples/health/get.md +++ b/examples/1.9.x/server-rest/examples/health/get.md @@ -1,7 +1,7 @@ ```http GET /v1/health HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/locale/get.md b/examples/1.9.x/server-rest/examples/locale/get.md index ddaaefeb3..28743917c 100644 --- a/examples/1.9.x/server-rest/examples/locale/get.md +++ b/examples/1.9.x/server-rest/examples/locale/get.md @@ -1,7 +1,7 @@ ```http GET /v1/locale HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-codes.md b/examples/1.9.x/server-rest/examples/locale/list-codes.md index dab03dc9f..0944f3179 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-codes.md +++ b/examples/1.9.x/server-rest/examples/locale/list-codes.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/codes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-continents.md b/examples/1.9.x/server-rest/examples/locale/list-continents.md index 3789fa23a..d19563396 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-continents.md +++ b/examples/1.9.x/server-rest/examples/locale/list-continents.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/continents HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-countries-eu.md b/examples/1.9.x/server-rest/examples/locale/list-countries-eu.md index 6b58e0f1b..d6f6a4217 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-countries-eu.md +++ b/examples/1.9.x/server-rest/examples/locale/list-countries-eu.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries/eu HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-countries-phones.md b/examples/1.9.x/server-rest/examples/locale/list-countries-phones.md index 1c9846051..4fdc8a32f 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-countries-phones.md +++ b/examples/1.9.x/server-rest/examples/locale/list-countries-phones.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries/phones HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-countries.md b/examples/1.9.x/server-rest/examples/locale/list-countries.md index 43a18b8eb..d362b24c1 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-countries.md +++ b/examples/1.9.x/server-rest/examples/locale/list-countries.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/countries HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-currencies.md b/examples/1.9.x/server-rest/examples/locale/list-currencies.md index 9f82725b9..723178cff 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-currencies.md +++ b/examples/1.9.x/server-rest/examples/locale/list-currencies.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/currencies HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/locale/list-languages.md b/examples/1.9.x/server-rest/examples/locale/list-languages.md index 020129b7d..2cf86bafd 100644 --- a/examples/1.9.x/server-rest/examples/locale/list-languages.md +++ b/examples/1.9.x/server-rest/examples/locale/list-languages.md @@ -1,7 +1,7 @@ ```http GET /v1/locale/languages HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-apns-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-apns-provider.md index 8a00aaafa..fae1e22d2 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-apns-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-apns-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/apns HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-email.md b/examples/1.9.x/server-rest/examples/messaging/create-email.md index 77680014e..83c94a05f 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-email.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-email.md @@ -2,7 +2,7 @@ POST /v1/messaging/messages/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-fcm-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-fcm-provider.md index db3ccacc9..c71e17eb9 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-fcm-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-fcm-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/fcm HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-mailgun-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-mailgun-provider.md index c4930db2d..901461bcd 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-mailgun-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-mailgun-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/mailgun HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-msg-91-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-msg-91-provider.md index b92ffb111..da88e1b91 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-msg-91-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-msg-91-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/msg91 HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-push.md b/examples/1.9.x/server-rest/examples/messaging/create-push.md index 09556641c..0d7c93152 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-push.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-push.md @@ -2,7 +2,7 @@ POST /v1/messaging/messages/push HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-resend-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-resend-provider.md index 6270ac174..491c49ce6 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-resend-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-resend-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/resend HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-sendgrid-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-sendgrid-provider.md index 972a536f4..378c9a68c 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-sendgrid-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-sendgrid-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/sendgrid HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-sms.md b/examples/1.9.x/server-rest/examples/messaging/create-sms.md index f4647671c..e1dea383b 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-sms.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-sms.md @@ -2,7 +2,7 @@ POST /v1/messaging/messages/sms HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-smtp-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-smtp-provider.md index 92dacfb12..668214644 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-smtp-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-smtp-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/smtp HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-subscriber.md b/examples/1.9.x/server-rest/examples/messaging/create-subscriber.md index 3bf6af6d4..6b7c31174 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-subscriber.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-subscriber.md @@ -2,7 +2,7 @@ POST /v1/messaging/topics/{topicId}/subscribers HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-JWT: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-telesign-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-telesign-provider.md index 1d12c64ae..a7a5d5198 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-telesign-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-telesign-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/telesign HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-textmagic-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-textmagic-provider.md index d47cec6cc..007177f36 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-textmagic-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-textmagic-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/textmagic HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-topic.md b/examples/1.9.x/server-rest/examples/messaging/create-topic.md index 74cf06c4a..22ca645cb 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-topic.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-topic.md @@ -2,7 +2,7 @@ POST /v1/messaging/topics HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-twilio-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-twilio-provider.md index 49c24188e..67b13d284 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-twilio-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-twilio-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/twilio HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/create-vonage-provider.md b/examples/1.9.x/server-rest/examples/messaging/create-vonage-provider.md index ce9eee005..7ad02272b 100644 --- a/examples/1.9.x/server-rest/examples/messaging/create-vonage-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/create-vonage-provider.md @@ -2,7 +2,7 @@ POST /v1/messaging/providers/vonage HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/delete-provider.md b/examples/1.9.x/server-rest/examples/messaging/delete-provider.md index 6f1479519..7d807e36e 100644 --- a/examples/1.9.x/server-rest/examples/messaging/delete-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/delete-provider.md @@ -2,7 +2,7 @@ DELETE /v1/messaging/providers/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/delete-subscriber.md b/examples/1.9.x/server-rest/examples/messaging/delete-subscriber.md index 666eb0dac..634e31d1c 100644 --- a/examples/1.9.x/server-rest/examples/messaging/delete-subscriber.md +++ b/examples/1.9.x/server-rest/examples/messaging/delete-subscriber.md @@ -2,7 +2,7 @@ DELETE /v1/messaging/topics/{topicId}/subscribers/{subscriberId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-JWT: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/messaging/delete-topic.md b/examples/1.9.x/server-rest/examples/messaging/delete-topic.md index bd00384d9..28120d847 100644 --- a/examples/1.9.x/server-rest/examples/messaging/delete-topic.md +++ b/examples/1.9.x/server-rest/examples/messaging/delete-topic.md @@ -2,7 +2,7 @@ DELETE /v1/messaging/topics/{topicId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/delete.md b/examples/1.9.x/server-rest/examples/messaging/delete.md index 51ef4a917..d7f8e5690 100644 --- a/examples/1.9.x/server-rest/examples/messaging/delete.md +++ b/examples/1.9.x/server-rest/examples/messaging/delete.md @@ -2,7 +2,7 @@ DELETE /v1/messaging/messages/{messageId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/get-message.md b/examples/1.9.x/server-rest/examples/messaging/get-message.md index 7ca4f8e34..eaa76ea7c 100644 --- a/examples/1.9.x/server-rest/examples/messaging/get-message.md +++ b/examples/1.9.x/server-rest/examples/messaging/get-message.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/messages/{messageId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/get-provider.md b/examples/1.9.x/server-rest/examples/messaging/get-provider.md index 3a9df70d7..2ebfef568 100644 --- a/examples/1.9.x/server-rest/examples/messaging/get-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/get-provider.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/providers/{providerId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/get-subscriber.md b/examples/1.9.x/server-rest/examples/messaging/get-subscriber.md index 87ab34203..1081ddd1a 100644 --- a/examples/1.9.x/server-rest/examples/messaging/get-subscriber.md +++ b/examples/1.9.x/server-rest/examples/messaging/get-subscriber.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/topics/{topicId}/subscribers/{subscriberId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/get-topic.md b/examples/1.9.x/server-rest/examples/messaging/get-topic.md index 43ac8b5f7..105b6b57c 100644 --- a/examples/1.9.x/server-rest/examples/messaging/get-topic.md +++ b/examples/1.9.x/server-rest/examples/messaging/get-topic.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/topics/{topicId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-message-logs.md b/examples/1.9.x/server-rest/examples/messaging/list-message-logs.md index 1c922c434..4a972bb1d 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-message-logs.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-message-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/messages/{messageId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-messages.md b/examples/1.9.x/server-rest/examples/messaging/list-messages.md index b72f68f32..6221e155f 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-messages.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-messages.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/messages HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-provider-logs.md b/examples/1.9.x/server-rest/examples/messaging/list-provider-logs.md index 5eb87a0c9..4e2544090 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-provider-logs.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-provider-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/providers/{providerId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-providers.md b/examples/1.9.x/server-rest/examples/messaging/list-providers.md index 201cfc6d5..99c30fed2 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-providers.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-providers.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/providers HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-subscriber-logs.md b/examples/1.9.x/server-rest/examples/messaging/list-subscriber-logs.md index 405da0b37..37d8ae232 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-subscriber-logs.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-subscriber-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/subscribers/{subscriberId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-subscribers.md b/examples/1.9.x/server-rest/examples/messaging/list-subscribers.md index 117bc5281..d871fcae2 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-subscribers.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-subscribers.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/topics/{topicId}/subscribers HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-targets.md b/examples/1.9.x/server-rest/examples/messaging/list-targets.md index 0453a9579..12f5b5ac8 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-targets.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-targets.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/messages/{messageId}/targets HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-topic-logs.md b/examples/1.9.x/server-rest/examples/messaging/list-topic-logs.md index 729c2bedf..a8a1009a2 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-topic-logs.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-topic-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/topics/{topicId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/list-topics.md b/examples/1.9.x/server-rest/examples/messaging/list-topics.md index d696c573b..99ace4b61 100644 --- a/examples/1.9.x/server-rest/examples/messaging/list-topics.md +++ b/examples/1.9.x/server-rest/examples/messaging/list-topics.md @@ -1,7 +1,7 @@ ```http GET /v1/messaging/topics HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/messaging/update-apns-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-apns-provider.md index 1e5230f10..9be2943c3 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-apns-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-apns-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/apns/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-email.md b/examples/1.9.x/server-rest/examples/messaging/update-email.md index 9742c80a7..31797753d 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-email.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-email.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/messages/email/{messageId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-fcm-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-fcm-provider.md index 6cdeb769d..e3f53564b 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-fcm-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-fcm-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/fcm/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-mailgun-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-mailgun-provider.md index 9b438a527..7b55df758 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-mailgun-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-mailgun-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/mailgun/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-msg-91-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-msg-91-provider.md index 33adce435..ab1018bea 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-msg-91-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-msg-91-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/msg91/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-push.md b/examples/1.9.x/server-rest/examples/messaging/update-push.md index 30beae565..73f4302e7 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-push.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-push.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/messages/push/{messageId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-resend-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-resend-provider.md index d86688c6e..3b12e0218 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-resend-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-resend-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/resend/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-sendgrid-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-sendgrid-provider.md index f577acc75..3210049f0 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-sendgrid-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-sendgrid-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/sendgrid/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-sms.md b/examples/1.9.x/server-rest/examples/messaging/update-sms.md index 313660bc4..028455dac 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-sms.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-sms.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/messages/sms/{messageId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-smtp-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-smtp-provider.md index bbc2e0089..713b096a4 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-smtp-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-smtp-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/smtp/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-telesign-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-telesign-provider.md index 247c9cec9..df6e0e209 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-telesign-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-telesign-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/telesign/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-textmagic-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-textmagic-provider.md index 986d1fd9b..05796c083 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-textmagic-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-textmagic-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/textmagic/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-topic.md b/examples/1.9.x/server-rest/examples/messaging/update-topic.md index 5306e5341..0490cbfc6 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-topic.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-topic.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/topics/{topicId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-twilio-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-twilio-provider.md index 4a98bc738..577faf055 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-twilio-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-twilio-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/twilio/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/messaging/update-vonage-provider.md b/examples/1.9.x/server-rest/examples/messaging/update-vonage-provider.md index 88fdf8bf6..c7171876d 100644 --- a/examples/1.9.x/server-rest/examples/messaging/update-vonage-provider.md +++ b/examples/1.9.x/server-rest/examples/messaging/update-vonage-provider.md @@ -2,7 +2,7 @@ PATCH /v1/messaging/providers/vonage/{providerId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/presences/delete.md b/examples/1.9.x/server-rest/examples/presences/delete.md new file mode 100644 index 000000000..ca9314521 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/presences/delete.md @@ -0,0 +1,11 @@ +```http +DELETE /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +X-Appwrite-Session: +X-Appwrite-JWT: + +``` diff --git a/examples/1.9.x/server-rest/examples/presences/get.md b/examples/1.9.x/server-rest/examples/presences/get.md new file mode 100644 index 000000000..f30ddaacf --- /dev/null +++ b/examples/1.9.x/server-rest/examples/presences/get.md @@ -0,0 +1,9 @@ +```http +GET /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +X-Appwrite-Session: +X-Appwrite-JWT: +``` diff --git a/examples/1.9.x/server-rest/examples/presences/list.md b/examples/1.9.x/server-rest/examples/presences/list.md new file mode 100644 index 000000000..b72c9a3de --- /dev/null +++ b/examples/1.9.x/server-rest/examples/presences/list.md @@ -0,0 +1,9 @@ +```http +GET /v1/presences HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +X-Appwrite-Session: +X-Appwrite-JWT: +``` diff --git a/examples/1.9.x/server-rest/examples/presences/update-presence.md b/examples/1.9.x/server-rest/examples/presences/update-presence.md new file mode 100644 index 000000000..03afb4367 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/presences/update-presence.md @@ -0,0 +1,17 @@ +```http +PATCH /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: + +{ + "userId": "", + "status": "", + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "metadata": {}, + "permissions": ["read(\"any\")"], + "purge": false +} +``` diff --git a/examples/1.9.x/server-rest/examples/presences/upsert.md b/examples/1.9.x/server-rest/examples/presences/upsert.md new file mode 100644 index 000000000..0336a5541 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/presences/upsert.md @@ -0,0 +1,16 @@ +```http +PUT /v1/presences/{presenceId} HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Session: + +{ + "userId": "", + "status": "", + "permissions": ["read(\"any\")"], + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "metadata": {} +} +``` diff --git a/examples/1.9.x/server-rest/examples/project/create-android-platform.md b/examples/1.9.x/server-rest/examples/project/create-android-platform.md index 87294ec1f..ecf27c42e 100644 --- a/examples/1.9.x/server-rest/examples/project/create-android-platform.md +++ b/examples/1.9.x/server-rest/examples/project/create-android-platform.md @@ -2,7 +2,7 @@ POST /v1/project/platforms/android HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-apple-platform.md b/examples/1.9.x/server-rest/examples/project/create-apple-platform.md index 35e48e316..41cc0546b 100644 --- a/examples/1.9.x/server-rest/examples/project/create-apple-platform.md +++ b/examples/1.9.x/server-rest/examples/project/create-apple-platform.md @@ -2,7 +2,7 @@ POST /v1/project/platforms/apple HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-rest/examples/project/create-ephemeral-key.md index 6696c106b..e5563560b 100644 --- a/examples/1.9.x/server-rest/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-rest/examples/project/create-ephemeral-key.md @@ -2,7 +2,7 @@ POST /v1/project/keys/ephemeral HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-key.md b/examples/1.9.x/server-rest/examples/project/create-key.md index e93ef37a3..290c9efb8 100644 --- a/examples/1.9.x/server-rest/examples/project/create-key.md +++ b/examples/1.9.x/server-rest/examples/project/create-key.md @@ -2,7 +2,7 @@ POST /v1/project/keys HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-linux-platform.md b/examples/1.9.x/server-rest/examples/project/create-linux-platform.md index 9eaa6073e..601a7f94b 100644 --- a/examples/1.9.x/server-rest/examples/project/create-linux-platform.md +++ b/examples/1.9.x/server-rest/examples/project/create-linux-platform.md @@ -2,7 +2,7 @@ POST /v1/project/platforms/linux HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-mock-phone.md b/examples/1.9.x/server-rest/examples/project/create-mock-phone.md index 784182353..49cfa8de1 100644 --- a/examples/1.9.x/server-rest/examples/project/create-mock-phone.md +++ b/examples/1.9.x/server-rest/examples/project/create-mock-phone.md @@ -2,7 +2,7 @@ POST /v1/project/mock-phones HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-smtp-test.md b/examples/1.9.x/server-rest/examples/project/create-smtp-test.md index 4a3bdfaad..019c03358 100644 --- a/examples/1.9.x/server-rest/examples/project/create-smtp-test.md +++ b/examples/1.9.x/server-rest/examples/project/create-smtp-test.md @@ -2,7 +2,7 @@ POST /v1/project/smtp/tests HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-variable.md b/examples/1.9.x/server-rest/examples/project/create-variable.md index fd300f808..3c2d1a4af 100644 --- a/examples/1.9.x/server-rest/examples/project/create-variable.md +++ b/examples/1.9.x/server-rest/examples/project/create-variable.md @@ -2,7 +2,7 @@ POST /v1/project/variables HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-web-platform.md b/examples/1.9.x/server-rest/examples/project/create-web-platform.md index a749e9e07..c01e3d4a4 100644 --- a/examples/1.9.x/server-rest/examples/project/create-web-platform.md +++ b/examples/1.9.x/server-rest/examples/project/create-web-platform.md @@ -2,7 +2,7 @@ POST /v1/project/platforms/web HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/create-windows-platform.md b/examples/1.9.x/server-rest/examples/project/create-windows-platform.md index c3f909f07..4c73dd5a0 100644 --- a/examples/1.9.x/server-rest/examples/project/create-windows-platform.md +++ b/examples/1.9.x/server-rest/examples/project/create-windows-platform.md @@ -2,7 +2,7 @@ POST /v1/project/platforms/windows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/delete-key.md b/examples/1.9.x/server-rest/examples/project/delete-key.md index 9e05b52d4..455e5b8cc 100644 --- a/examples/1.9.x/server-rest/examples/project/delete-key.md +++ b/examples/1.9.x/server-rest/examples/project/delete-key.md @@ -2,7 +2,7 @@ DELETE /v1/project/keys/{keyId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/delete-mock-phone.md b/examples/1.9.x/server-rest/examples/project/delete-mock-phone.md index 3e8081a00..539d1978f 100644 --- a/examples/1.9.x/server-rest/examples/project/delete-mock-phone.md +++ b/examples/1.9.x/server-rest/examples/project/delete-mock-phone.md @@ -2,7 +2,7 @@ DELETE /v1/project/mock-phones/{number} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/delete-platform.md b/examples/1.9.x/server-rest/examples/project/delete-platform.md index f92f00ab1..6ffb21fd0 100644 --- a/examples/1.9.x/server-rest/examples/project/delete-platform.md +++ b/examples/1.9.x/server-rest/examples/project/delete-platform.md @@ -2,7 +2,7 @@ DELETE /v1/project/platforms/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/delete-variable.md b/examples/1.9.x/server-rest/examples/project/delete-variable.md index 21b118e9b..b79ae90ee 100644 --- a/examples/1.9.x/server-rest/examples/project/delete-variable.md +++ b/examples/1.9.x/server-rest/examples/project/delete-variable.md @@ -2,7 +2,7 @@ DELETE /v1/project/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/delete.md b/examples/1.9.x/server-rest/examples/project/delete.md index 477a19417..62c50cf3f 100644 --- a/examples/1.9.x/server-rest/examples/project/delete.md +++ b/examples/1.9.x/server-rest/examples/project/delete.md @@ -2,7 +2,7 @@ DELETE /v1/project HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/get-email-template.md b/examples/1.9.x/server-rest/examples/project/get-email-template.md index e531407e6..76ad75133 100644 --- a/examples/1.9.x/server-rest/examples/project/get-email-template.md +++ b/examples/1.9.x/server-rest/examples/project/get-email-template.md @@ -1,7 +1,7 @@ ```http GET /v1/project/templates/email/{templateId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-key.md b/examples/1.9.x/server-rest/examples/project/get-key.md index 7cd1b0d16..eabc4259c 100644 --- a/examples/1.9.x/server-rest/examples/project/get-key.md +++ b/examples/1.9.x/server-rest/examples/project/get-key.md @@ -1,7 +1,7 @@ ```http GET /v1/project/keys/{keyId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-mock-phone.md b/examples/1.9.x/server-rest/examples/project/get-mock-phone.md index 5ccc53e6a..a861551eb 100644 --- a/examples/1.9.x/server-rest/examples/project/get-mock-phone.md +++ b/examples/1.9.x/server-rest/examples/project/get-mock-phone.md @@ -1,7 +1,7 @@ ```http GET /v1/project/mock-phones/{number} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-rest/examples/project/get-o-auth-2-provider.md index 80a53df4a..f0427c532 100644 --- a/examples/1.9.x/server-rest/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-rest/examples/project/get-o-auth-2-provider.md @@ -1,7 +1,7 @@ ```http GET /v1/project/oauth2/{providerId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-platform.md b/examples/1.9.x/server-rest/examples/project/get-platform.md index 5caacf324..afec8f6c7 100644 --- a/examples/1.9.x/server-rest/examples/project/get-platform.md +++ b/examples/1.9.x/server-rest/examples/project/get-platform.md @@ -1,7 +1,7 @@ ```http GET /v1/project/platforms/{platformId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-policy.md b/examples/1.9.x/server-rest/examples/project/get-policy.md index 162d79819..0440b3b74 100644 --- a/examples/1.9.x/server-rest/examples/project/get-policy.md +++ b/examples/1.9.x/server-rest/examples/project/get-policy.md @@ -1,7 +1,7 @@ ```http GET /v1/project/policies/{policyId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get-variable.md b/examples/1.9.x/server-rest/examples/project/get-variable.md index 7a5b05000..cb8926ae7 100644 --- a/examples/1.9.x/server-rest/examples/project/get-variable.md +++ b/examples/1.9.x/server-rest/examples/project/get-variable.md @@ -1,7 +1,7 @@ ```http GET /v1/project/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/get.md b/examples/1.9.x/server-rest/examples/project/get.md new file mode 100644 index 000000000..a9e13f243 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/project/get.md @@ -0,0 +1,7 @@ +```http +GET /v1/project HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/project/list-email-templates.md b/examples/1.9.x/server-rest/examples/project/list-email-templates.md index a987bc53e..7e1be51e2 100644 --- a/examples/1.9.x/server-rest/examples/project/list-email-templates.md +++ b/examples/1.9.x/server-rest/examples/project/list-email-templates.md @@ -1,7 +1,7 @@ ```http GET /v1/project/templates/email HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-keys.md b/examples/1.9.x/server-rest/examples/project/list-keys.md index ab301e02e..c43c355ac 100644 --- a/examples/1.9.x/server-rest/examples/project/list-keys.md +++ b/examples/1.9.x/server-rest/examples/project/list-keys.md @@ -1,7 +1,7 @@ ```http GET /v1/project/keys HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-mock-phones.md b/examples/1.9.x/server-rest/examples/project/list-mock-phones.md index bd1e65e3d..45adc866b 100644 --- a/examples/1.9.x/server-rest/examples/project/list-mock-phones.md +++ b/examples/1.9.x/server-rest/examples/project/list-mock-phones.md @@ -1,7 +1,7 @@ ```http GET /v1/project/mock-phones HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-o-auth-2-providers.md b/examples/1.9.x/server-rest/examples/project/list-o-auth-2-providers.md index fca0c53fe..f10c82c97 100644 --- a/examples/1.9.x/server-rest/examples/project/list-o-auth-2-providers.md +++ b/examples/1.9.x/server-rest/examples/project/list-o-auth-2-providers.md @@ -1,7 +1,7 @@ ```http GET /v1/project/oauth2 HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-platforms.md b/examples/1.9.x/server-rest/examples/project/list-platforms.md index d3ebd7d2f..cd27e445f 100644 --- a/examples/1.9.x/server-rest/examples/project/list-platforms.md +++ b/examples/1.9.x/server-rest/examples/project/list-platforms.md @@ -1,7 +1,7 @@ ```http GET /v1/project/platforms HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-policies.md b/examples/1.9.x/server-rest/examples/project/list-policies.md index 2242a7365..4ddbd3c96 100644 --- a/examples/1.9.x/server-rest/examples/project/list-policies.md +++ b/examples/1.9.x/server-rest/examples/project/list-policies.md @@ -1,7 +1,7 @@ ```http GET /v1/project/policies HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/list-variables.md b/examples/1.9.x/server-rest/examples/project/list-variables.md index c813ddb44..f61b1360e 100644 --- a/examples/1.9.x/server-rest/examples/project/list-variables.md +++ b/examples/1.9.x/server-rest/examples/project/list-variables.md @@ -1,7 +1,7 @@ ```http GET /v1/project/variables HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/project/update-android-platform.md b/examples/1.9.x/server-rest/examples/project/update-android-platform.md index 22f88c66a..80e63ad58 100644 --- a/examples/1.9.x/server-rest/examples/project/update-android-platform.md +++ b/examples/1.9.x/server-rest/examples/project/update-android-platform.md @@ -2,7 +2,7 @@ PUT /v1/project/platforms/android/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-apple-platform.md b/examples/1.9.x/server-rest/examples/project/update-apple-platform.md index e6f382f23..d08225b65 100644 --- a/examples/1.9.x/server-rest/examples/project/update-apple-platform.md +++ b/examples/1.9.x/server-rest/examples/project/update-apple-platform.md @@ -2,7 +2,7 @@ PUT /v1/project/platforms/apple/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-auth-method.md b/examples/1.9.x/server-rest/examples/project/update-auth-method.md index c5783817a..4c5c817c4 100644 --- a/examples/1.9.x/server-rest/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-rest/examples/project/update-auth-method.md @@ -2,7 +2,7 @@ PATCH /v1/project/auth-methods/{methodId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-rest/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..dd82dc0bf --- /dev/null +++ b/examples/1.9.x/server-rest/examples/project/update-deny-aliased-email-policy.md @@ -0,0 +1,12 @@ +```http +PATCH /v1/project/policies/deny-aliased-email HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: + +{ + "enabled": false +} +``` diff --git a/examples/1.9.x/server-rest/examples/project/update-deny-disposable-email-policy.md b/examples/1.9.x/server-rest/examples/project/update-deny-disposable-email-policy.md index 7ab83c4cb..48feef6f8 100644 --- a/examples/1.9.x/server-rest/examples/project/update-deny-disposable-email-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-deny-disposable-email-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/deny-disposable-email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-deny-free-email-policy.md b/examples/1.9.x/server-rest/examples/project/update-deny-free-email-policy.md index 843ffd88e..3dc979af6 100644 --- a/examples/1.9.x/server-rest/examples/project/update-deny-free-email-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-deny-free-email-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/deny-free-email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-email-template.md b/examples/1.9.x/server-rest/examples/project/update-email-template.md index 68331cb89..a336edcfd 100644 --- a/examples/1.9.x/server-rest/examples/project/update-email-template.md +++ b/examples/1.9.x/server-rest/examples/project/update-email-template.md @@ -2,7 +2,7 @@ PATCH /v1/project/templates/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-key.md b/examples/1.9.x/server-rest/examples/project/update-key.md index abe094b4e..254c54997 100644 --- a/examples/1.9.x/server-rest/examples/project/update-key.md +++ b/examples/1.9.x/server-rest/examples/project/update-key.md @@ -2,7 +2,7 @@ PUT /v1/project/keys/{keyId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-labels.md b/examples/1.9.x/server-rest/examples/project/update-labels.md index 98d727630..53d08ee6e 100644 --- a/examples/1.9.x/server-rest/examples/project/update-labels.md +++ b/examples/1.9.x/server-rest/examples/project/update-labels.md @@ -2,7 +2,7 @@ PUT /v1/project/labels HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-linux-platform.md b/examples/1.9.x/server-rest/examples/project/update-linux-platform.md index 19b9ce9e2..40c2bebaa 100644 --- a/examples/1.9.x/server-rest/examples/project/update-linux-platform.md +++ b/examples/1.9.x/server-rest/examples/project/update-linux-platform.md @@ -2,7 +2,7 @@ PUT /v1/project/platforms/linux/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-membership-privacy-policy.md b/examples/1.9.x/server-rest/examples/project/update-membership-privacy-policy.md index 8caca2e59..3814e2f87 100644 --- a/examples/1.9.x/server-rest/examples/project/update-membership-privacy-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-membership-privacy-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/membership-privacy HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-mock-phone.md b/examples/1.9.x/server-rest/examples/project/update-mock-phone.md index 19a3e96b3..7d0e990f5 100644 --- a/examples/1.9.x/server-rest/examples/project/update-mock-phone.md +++ b/examples/1.9.x/server-rest/examples/project/update-mock-phone.md @@ -2,7 +2,7 @@ PUT /v1/project/mock-phones/{number} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-amazon.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-amazon.md index 6eecbc575..52e635736 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-amazon.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-amazon.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/amazon HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-apple.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-apple.md index dbc5fa482..6ae7eac9e 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-apple.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-apple.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/apple HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-auth-0.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-auth-0.md index 295c76759..91b2ce21f 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-auth-0.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-auth-0.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/auth0 HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-authentik.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-authentik.md index dfa3090d0..a16d99328 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-authentik.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-authentik.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/authentik HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-autodesk.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-autodesk.md index 5b07c7f72..9edca76db 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-autodesk.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-autodesk.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/autodesk HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitbucket.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitbucket.md index aed902506..feaf3fba6 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitbucket.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitbucket.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/bitbucket HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitly.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitly.md index 3e1025adc..53efef7c8 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitly.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-bitly.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/bitly HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-box.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-box.md index 17a0974d1..0c8e00cdd 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-box.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-box.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/box HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dailymotion.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dailymotion.md index ea879cabe..7681eb723 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dailymotion.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dailymotion.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/dailymotion HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-discord.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-discord.md index d4fc559f8..bcfd88f2a 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-discord.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-discord.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/discord HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-disqus.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-disqus.md index a20109efa..e1af4ba5f 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-disqus.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-disqus.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/disqus HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dropbox.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dropbox.md index 5fa615e65..d38dc11c0 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dropbox.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-dropbox.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/dropbox HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-etsy.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-etsy.md index d99cc44e7..3e3409ace 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-etsy.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-etsy.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/etsy HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-facebook.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-facebook.md index abdcb517f..310400277 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-facebook.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-facebook.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/facebook HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-figma.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-figma.md index 24a5ecb27..a93fd50e9 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-figma.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-figma.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/figma HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-fusion-auth.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-fusion-auth.md index f5687623b..a0dcbcb68 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-fusion-auth.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-fusion-auth.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/fusionauth HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-git-hub.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-git-hub.md index 38cca7b5f..49a938601 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-git-hub.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-git-hub.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/github HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-gitlab.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-gitlab.md index ce7f01136..d71950560 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-gitlab.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-gitlab.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/gitlab HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-google.md index b1eefc163..cdab8d368 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-google.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/google HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-keycloak.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-keycloak.md index 45730c81f..ee2df2abf 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-keycloak.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-keycloak.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/keycloak HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-kick.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-kick.md index 27fba0bbc..bbf61a949 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-kick.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-kick.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/kick HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-linkedin.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-linkedin.md index a6b7d0f98..0aa19135c 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-linkedin.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-linkedin.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/linkedin HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-microsoft.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-microsoft.md index 1b04d91cc..872731a03 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-microsoft.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-microsoft.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/microsoft HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-notion.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-notion.md index 1a5d44b4c..de62ee004 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-notion.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-notion.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/notion HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-oidc.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-oidc.md index 53c8aaa18..a77402ac7 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-oidc.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-oidc.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/oidc HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-okta.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-okta.md index 1ddf9da73..d016cad3d 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-okta.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-okta.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/okta HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal-sandbox.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal-sandbox.md index 58d732216..0a8b00017 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal-sandbox.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal-sandbox.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/paypalSandbox HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal.md index 5a6606f76..3ff3c1877 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-paypal.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/paypal HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-podio.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-podio.md index 74f0f1b84..7d8b3e11a 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-podio.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-podio.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/podio HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-salesforce.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-salesforce.md index 8168a03de..7d8b1779a 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-salesforce.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-salesforce.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/salesforce HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-slack.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-slack.md index 0f89dfecc..1cbf43333 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-slack.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-slack.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/slack HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-spotify.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-spotify.md index c28aa54d4..a042f2ffb 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-spotify.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-spotify.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/spotify HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-stripe.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-stripe.md index affb80b2b..fb28459a7 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-stripe.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-stripe.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/stripe HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift-sandbox.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift-sandbox.md index 53844d79f..51c4ab074 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift-sandbox.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift-sandbox.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/tradeshiftBox HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift.md index 68cc032b5..efb009d50 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-tradeshift.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/tradeshift HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-twitch.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-twitch.md index 375ce884b..2e8d8b702 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-twitch.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-twitch.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/twitch HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-word-press.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-word-press.md index 2e0f3baf0..ecc50962d 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-word-press.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-word-press.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/wordpress HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yahoo.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yahoo.md index 9845ce743..8118ec7a7 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yahoo.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yahoo.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/yahoo HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yandex.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yandex.md index e45518e62..9c492d3e1 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yandex.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-yandex.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/yandex HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoho.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoho.md index 24170059f..812b7ac04 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoho.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoho.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/zoho HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoom.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoom.md index 0bf00b0c9..1a6a82b26 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoom.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2-zoom.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/zoom HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-o-auth-2x.md b/examples/1.9.x/server-rest/examples/project/update-o-auth-2x.md index 87ea15d19..612cf69c4 100644 --- a/examples/1.9.x/server-rest/examples/project/update-o-auth-2x.md +++ b/examples/1.9.x/server-rest/examples/project/update-o-auth-2x.md @@ -2,7 +2,7 @@ PATCH /v1/project/oauth2/x HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-password-dictionary-policy.md b/examples/1.9.x/server-rest/examples/project/update-password-dictionary-policy.md index b69089732..9cc782a2d 100644 --- a/examples/1.9.x/server-rest/examples/project/update-password-dictionary-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-password-dictionary-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/password-dictionary HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-password-history-policy.md b/examples/1.9.x/server-rest/examples/project/update-password-history-policy.md index 227178b17..dc51f2f5e 100644 --- a/examples/1.9.x/server-rest/examples/project/update-password-history-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-password-history-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/password-history HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-password-personal-data-policy.md b/examples/1.9.x/server-rest/examples/project/update-password-personal-data-policy.md index 9582b26b6..2b1936927 100644 --- a/examples/1.9.x/server-rest/examples/project/update-password-personal-data-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-password-personal-data-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/password-personal-data HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-protocol.md b/examples/1.9.x/server-rest/examples/project/update-protocol.md index 5c71baf0d..fad8a531b 100644 --- a/examples/1.9.x/server-rest/examples/project/update-protocol.md +++ b/examples/1.9.x/server-rest/examples/project/update-protocol.md @@ -2,7 +2,7 @@ PATCH /v1/project/protocols/{protocolId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-service.md b/examples/1.9.x/server-rest/examples/project/update-service.md index deda7f459..45395c402 100644 --- a/examples/1.9.x/server-rest/examples/project/update-service.md +++ b/examples/1.9.x/server-rest/examples/project/update-service.md @@ -2,7 +2,7 @@ PATCH /v1/project/services/{serviceId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-session-alert-policy.md b/examples/1.9.x/server-rest/examples/project/update-session-alert-policy.md index 441bdefc0..1d85fd574 100644 --- a/examples/1.9.x/server-rest/examples/project/update-session-alert-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-session-alert-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/session-alert HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-session-duration-policy.md b/examples/1.9.x/server-rest/examples/project/update-session-duration-policy.md index 8c726a732..40e2de213 100644 --- a/examples/1.9.x/server-rest/examples/project/update-session-duration-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-session-duration-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/session-duration HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-session-invalidation-policy.md b/examples/1.9.x/server-rest/examples/project/update-session-invalidation-policy.md index c8bbbc09f..77a0f9d88 100644 --- a/examples/1.9.x/server-rest/examples/project/update-session-invalidation-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-session-invalidation-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/session-invalidation HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-session-limit-policy.md b/examples/1.9.x/server-rest/examples/project/update-session-limit-policy.md index 479004712..1daf0132c 100644 --- a/examples/1.9.x/server-rest/examples/project/update-session-limit-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-session-limit-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/session-limit HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-smtp.md b/examples/1.9.x/server-rest/examples/project/update-smtp.md index f2decbc44..4499f7188 100644 --- a/examples/1.9.x/server-rest/examples/project/update-smtp.md +++ b/examples/1.9.x/server-rest/examples/project/update-smtp.md @@ -2,7 +2,7 @@ PATCH /v1/project/smtp HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-user-limit-policy.md b/examples/1.9.x/server-rest/examples/project/update-user-limit-policy.md index e7be99147..bf6345fc4 100644 --- a/examples/1.9.x/server-rest/examples/project/update-user-limit-policy.md +++ b/examples/1.9.x/server-rest/examples/project/update-user-limit-policy.md @@ -2,7 +2,7 @@ PATCH /v1/project/policies/user-limit HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-variable.md b/examples/1.9.x/server-rest/examples/project/update-variable.md index 3de868f3f..94d5988d0 100644 --- a/examples/1.9.x/server-rest/examples/project/update-variable.md +++ b/examples/1.9.x/server-rest/examples/project/update-variable.md @@ -2,7 +2,7 @@ PUT /v1/project/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-web-platform.md b/examples/1.9.x/server-rest/examples/project/update-web-platform.md index c59faadc7..d2fb60545 100644 --- a/examples/1.9.x/server-rest/examples/project/update-web-platform.md +++ b/examples/1.9.x/server-rest/examples/project/update-web-platform.md @@ -2,7 +2,7 @@ PUT /v1/project/platforms/web/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/project/update-windows-platform.md b/examples/1.9.x/server-rest/examples/project/update-windows-platform.md index c6a55650a..b85d680f8 100644 --- a/examples/1.9.x/server-rest/examples/project/update-windows-platform.md +++ b/examples/1.9.x/server-rest/examples/project/update-windows-platform.md @@ -2,7 +2,7 @@ PUT /v1/project/platforms/windows/{platformId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/create-api-rule.md b/examples/1.9.x/server-rest/examples/proxy/create-api-rule.md index 947d8306c..35e13b673 100644 --- a/examples/1.9.x/server-rest/examples/proxy/create-api-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/create-api-rule.md @@ -2,7 +2,7 @@ POST /v1/proxy/rules/api HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/create-function-rule.md b/examples/1.9.x/server-rest/examples/proxy/create-function-rule.md index 4848f5e8b..c9458ac41 100644 --- a/examples/1.9.x/server-rest/examples/proxy/create-function-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/create-function-rule.md @@ -2,7 +2,7 @@ POST /v1/proxy/rules/function HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/create-redirect-rule.md b/examples/1.9.x/server-rest/examples/proxy/create-redirect-rule.md index f0210b606..678a9772b 100644 --- a/examples/1.9.x/server-rest/examples/proxy/create-redirect-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/create-redirect-rule.md @@ -2,7 +2,7 @@ POST /v1/proxy/rules/redirect HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/create-site-rule.md b/examples/1.9.x/server-rest/examples/proxy/create-site-rule.md index 63ebd5cad..e97ad6b56 100644 --- a/examples/1.9.x/server-rest/examples/proxy/create-site-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/create-site-rule.md @@ -2,7 +2,7 @@ POST /v1/proxy/rules/site HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/delete-rule.md b/examples/1.9.x/server-rest/examples/proxy/delete-rule.md index 39df7af9c..db407700a 100644 --- a/examples/1.9.x/server-rest/examples/proxy/delete-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/delete-rule.md @@ -2,7 +2,7 @@ DELETE /v1/proxy/rules/{ruleId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/proxy/get-rule.md b/examples/1.9.x/server-rest/examples/proxy/get-rule.md index 122d1bbe3..da9432973 100644 --- a/examples/1.9.x/server-rest/examples/proxy/get-rule.md +++ b/examples/1.9.x/server-rest/examples/proxy/get-rule.md @@ -1,7 +1,7 @@ ```http GET /v1/proxy/rules/{ruleId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/proxy/list-rules.md b/examples/1.9.x/server-rest/examples/proxy/list-rules.md index c6867e179..43b084e00 100644 --- a/examples/1.9.x/server-rest/examples/proxy/list-rules.md +++ b/examples/1.9.x/server-rest/examples/proxy/list-rules.md @@ -1,7 +1,7 @@ ```http GET /v1/proxy/rules HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/proxy/update-rule-status.md b/examples/1.9.x/server-rest/examples/proxy/update-rule-status.md index 649a4662c..6daf45707 100644 --- a/examples/1.9.x/server-rest/examples/proxy/update-rule-status.md +++ b/examples/1.9.x/server-rest/examples/proxy/update-rule-status.md @@ -2,7 +2,7 @@ PATCH /v1/proxy/rules/{ruleId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/create-deployment.md b/examples/1.9.x/server-rest/examples/sites/create-deployment.md index 6867eeb4d..4bb4769ae 100644 --- a/examples/1.9.x/server-rest/examples/sites/create-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/create-deployment.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/deployments HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: Content-Length: *Length of your entity body in bytes* diff --git a/examples/1.9.x/server-rest/examples/sites/create-duplicate-deployment.md b/examples/1.9.x/server-rest/examples/sites/create-duplicate-deployment.md index e53ec7dd0..dcb7f1e33 100644 --- a/examples/1.9.x/server-rest/examples/sites/create-duplicate-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/create-duplicate-deployment.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/deployments/duplicate HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/create-template-deployment.md b/examples/1.9.x/server-rest/examples/sites/create-template-deployment.md index 44d14afdb..be4aa23ab 100644 --- a/examples/1.9.x/server-rest/examples/sites/create-template-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/create-template-deployment.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/deployments/template HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/create-variable.md b/examples/1.9.x/server-rest/examples/sites/create-variable.md index 538664969..3cbd670ac 100644 --- a/examples/1.9.x/server-rest/examples/sites/create-variable.md +++ b/examples/1.9.x/server-rest/examples/sites/create-variable.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/variables HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/create-vcs-deployment.md b/examples/1.9.x/server-rest/examples/sites/create-vcs-deployment.md index d63119cce..a23307adc 100644 --- a/examples/1.9.x/server-rest/examples/sites/create-vcs-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/create-vcs-deployment.md @@ -2,7 +2,7 @@ POST /v1/sites/{siteId}/deployments/vcs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/create.md b/examples/1.9.x/server-rest/examples/sites/create.md index 6934311cd..31b2283e9 100644 --- a/examples/1.9.x/server-rest/examples/sites/create.md +++ b/examples/1.9.x/server-rest/examples/sites/create.md @@ -2,7 +2,7 @@ POST /v1/sites HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/delete-deployment.md b/examples/1.9.x/server-rest/examples/sites/delete-deployment.md index d0ea443c0..3e1178397 100644 --- a/examples/1.9.x/server-rest/examples/sites/delete-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/delete-deployment.md @@ -2,7 +2,7 @@ DELETE /v1/sites/{siteId}/deployments/{deploymentId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/delete-log.md b/examples/1.9.x/server-rest/examples/sites/delete-log.md index 51f73ca57..9e92abdfc 100644 --- a/examples/1.9.x/server-rest/examples/sites/delete-log.md +++ b/examples/1.9.x/server-rest/examples/sites/delete-log.md @@ -2,7 +2,7 @@ DELETE /v1/sites/{siteId}/logs/{logId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/delete-variable.md b/examples/1.9.x/server-rest/examples/sites/delete-variable.md index 7fff7baca..a35bcd5de 100644 --- a/examples/1.9.x/server-rest/examples/sites/delete-variable.md +++ b/examples/1.9.x/server-rest/examples/sites/delete-variable.md @@ -2,7 +2,7 @@ DELETE /v1/sites/{siteId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/delete.md b/examples/1.9.x/server-rest/examples/sites/delete.md index 285c1c758..9b17039b3 100644 --- a/examples/1.9.x/server-rest/examples/sites/delete.md +++ b/examples/1.9.x/server-rest/examples/sites/delete.md @@ -2,7 +2,7 @@ DELETE /v1/sites/{siteId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/get-deployment-download.md b/examples/1.9.x/server-rest/examples/sites/get-deployment-download.md index f0a65a7dc..ff4b5ba03 100644 --- a/examples/1.9.x/server-rest/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-rest/examples/sites/get-deployment-download.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/deployments/{deploymentId}/download HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/sites/get-deployment.md b/examples/1.9.x/server-rest/examples/sites/get-deployment.md index a69906db4..480528b9f 100644 --- a/examples/1.9.x/server-rest/examples/sites/get-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/get-deployment.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/deployments/{deploymentId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/get-log.md b/examples/1.9.x/server-rest/examples/sites/get-log.md index c64d6ba07..11bddca96 100644 --- a/examples/1.9.x/server-rest/examples/sites/get-log.md +++ b/examples/1.9.x/server-rest/examples/sites/get-log.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/logs/{logId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/get-variable.md b/examples/1.9.x/server-rest/examples/sites/get-variable.md index 28946ea1b..5f8e17ee5 100644 --- a/examples/1.9.x/server-rest/examples/sites/get-variable.md +++ b/examples/1.9.x/server-rest/examples/sites/get-variable.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/get.md b/examples/1.9.x/server-rest/examples/sites/get.md index 9f3c7967e..e85cf63cc 100644 --- a/examples/1.9.x/server-rest/examples/sites/get.md +++ b/examples/1.9.x/server-rest/examples/sites/get.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list-deployments.md b/examples/1.9.x/server-rest/examples/sites/list-deployments.md index 25a086d92..21b04a5a1 100644 --- a/examples/1.9.x/server-rest/examples/sites/list-deployments.md +++ b/examples/1.9.x/server-rest/examples/sites/list-deployments.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/deployments HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list-frameworks.md b/examples/1.9.x/server-rest/examples/sites/list-frameworks.md index b12a7a01d..9c052c2cf 100644 --- a/examples/1.9.x/server-rest/examples/sites/list-frameworks.md +++ b/examples/1.9.x/server-rest/examples/sites/list-frameworks.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/frameworks HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list-logs.md b/examples/1.9.x/server-rest/examples/sites/list-logs.md index ff34ca36e..aeb007a22 100644 --- a/examples/1.9.x/server-rest/examples/sites/list-logs.md +++ b/examples/1.9.x/server-rest/examples/sites/list-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list-specifications.md b/examples/1.9.x/server-rest/examples/sites/list-specifications.md index e245710de..0f524629b 100644 --- a/examples/1.9.x/server-rest/examples/sites/list-specifications.md +++ b/examples/1.9.x/server-rest/examples/sites/list-specifications.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/specifications HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list-variables.md b/examples/1.9.x/server-rest/examples/sites/list-variables.md index aece72e2f..e4f69a84a 100644 --- a/examples/1.9.x/server-rest/examples/sites/list-variables.md +++ b/examples/1.9.x/server-rest/examples/sites/list-variables.md @@ -1,7 +1,7 @@ ```http GET /v1/sites/{siteId}/variables HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/list.md b/examples/1.9.x/server-rest/examples/sites/list.md index c17ded66c..13d6612ed 100644 --- a/examples/1.9.x/server-rest/examples/sites/list.md +++ b/examples/1.9.x/server-rest/examples/sites/list.md @@ -1,7 +1,7 @@ ```http GET /v1/sites HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/sites/update-deployment-status.md b/examples/1.9.x/server-rest/examples/sites/update-deployment-status.md index d03543a7c..85ff96431 100644 --- a/examples/1.9.x/server-rest/examples/sites/update-deployment-status.md +++ b/examples/1.9.x/server-rest/examples/sites/update-deployment-status.md @@ -2,7 +2,7 @@ PATCH /v1/sites/{siteId}/deployments/{deploymentId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/update-site-deployment.md b/examples/1.9.x/server-rest/examples/sites/update-site-deployment.md index d0b8650af..1220e6650 100644 --- a/examples/1.9.x/server-rest/examples/sites/update-site-deployment.md +++ b/examples/1.9.x/server-rest/examples/sites/update-site-deployment.md @@ -2,7 +2,7 @@ PATCH /v1/sites/{siteId}/deployment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/update-variable.md b/examples/1.9.x/server-rest/examples/sites/update-variable.md index b490f6435..51ea888a4 100644 --- a/examples/1.9.x/server-rest/examples/sites/update-variable.md +++ b/examples/1.9.x/server-rest/examples/sites/update-variable.md @@ -2,7 +2,7 @@ PUT /v1/sites/{siteId}/variables/{variableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/sites/update.md b/examples/1.9.x/server-rest/examples/sites/update.md index 38acdb294..f876bfcaf 100644 --- a/examples/1.9.x/server-rest/examples/sites/update.md +++ b/examples/1.9.x/server-rest/examples/sites/update.md @@ -2,7 +2,7 @@ PUT /v1/sites/{siteId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/create-bucket.md b/examples/1.9.x/server-rest/examples/storage/create-bucket.md index 026010c6b..219d09639 100644 --- a/examples/1.9.x/server-rest/examples/storage/create-bucket.md +++ b/examples/1.9.x/server-rest/examples/storage/create-bucket.md @@ -2,7 +2,7 @@ POST /v1/storage/buckets HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/create-file.md b/examples/1.9.x/server-rest/examples/storage/create-file.md index 52dca69ef..071057f9a 100644 --- a/examples/1.9.x/server-rest/examples/storage/create-file.md +++ b/examples/1.9.x/server-rest/examples/storage/create-file.md @@ -2,7 +2,7 @@ POST /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io Content-Type: multipart/form-data; boundary="cec8e8123c05ba25" -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/delete-bucket.md b/examples/1.9.x/server-rest/examples/storage/delete-bucket.md index cd5b5cb6f..d414c4174 100644 --- a/examples/1.9.x/server-rest/examples/storage/delete-bucket.md +++ b/examples/1.9.x/server-rest/examples/storage/delete-bucket.md @@ -2,7 +2,7 @@ DELETE /v1/storage/buckets/{bucketId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/delete-file.md b/examples/1.9.x/server-rest/examples/storage/delete-file.md index 5b123e4ee..6c902c50a 100644 --- a/examples/1.9.x/server-rest/examples/storage/delete-file.md +++ b/examples/1.9.x/server-rest/examples/storage/delete-file.md @@ -2,7 +2,7 @@ DELETE /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/get-bucket.md b/examples/1.9.x/server-rest/examples/storage/get-bucket.md index 0eaa55999..f29db4e90 100644 --- a/examples/1.9.x/server-rest/examples/storage/get-bucket.md +++ b/examples/1.9.x/server-rest/examples/storage/get-bucket.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/storage/get-file-download.md b/examples/1.9.x/server-rest/examples/storage/get-file-download.md index 443ec4079..ebff74f09 100644 --- a/examples/1.9.x/server-rest/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-rest/examples/storage/get-file-download.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/download HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/get-file-preview.md b/examples/1.9.x/server-rest/examples/storage/get-file-preview.md index feda68311..2f2b2bea2 100644 --- a/examples/1.9.x/server-rest/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-rest/examples/storage/get-file-preview.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/preview HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/get-file-view.md b/examples/1.9.x/server-rest/examples/storage/get-file-view.md index 99fd5b7a0..34ab49fd8 100644 --- a/examples/1.9.x/server-rest/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-rest/examples/storage/get-file-view.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId}/view HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/get-file.md b/examples/1.9.x/server-rest/examples/storage/get-file.md index 619aaaf69..d42a49f83 100644 --- a/examples/1.9.x/server-rest/examples/storage/get-file.md +++ b/examples/1.9.x/server-rest/examples/storage/get-file.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/list-buckets.md b/examples/1.9.x/server-rest/examples/storage/list-buckets.md index 75391abb2..6e6a907fe 100644 --- a/examples/1.9.x/server-rest/examples/storage/list-buckets.md +++ b/examples/1.9.x/server-rest/examples/storage/list-buckets.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/storage/list-files.md b/examples/1.9.x/server-rest/examples/storage/list-files.md index ecc1dd55b..2923d6375 100644 --- a/examples/1.9.x/server-rest/examples/storage/list-files.md +++ b/examples/1.9.x/server-rest/examples/storage/list-files.md @@ -1,7 +1,7 @@ ```http GET /v1/storage/buckets/{bucketId}/files HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/update-bucket.md b/examples/1.9.x/server-rest/examples/storage/update-bucket.md index 15114e8d1..94be69994 100644 --- a/examples/1.9.x/server-rest/examples/storage/update-bucket.md +++ b/examples/1.9.x/server-rest/examples/storage/update-bucket.md @@ -2,7 +2,7 @@ PUT /v1/storage/buckets/{bucketId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/storage/update-file.md b/examples/1.9.x/server-rest/examples/storage/update-file.md index 4d353d4a8..85fdda727 100644 --- a/examples/1.9.x/server-rest/examples/storage/update-file.md +++ b/examples/1.9.x/server-rest/examples/storage/update-file.md @@ -2,7 +2,7 @@ PUT /v1/storage/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-big-int-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-big-int-column.md index 37379b470..dc67b7745 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-big-int-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-big-int-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/bigint HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-boolean-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-boolean-column.md index dc9be6a1d..9c01e5866 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-boolean-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-boolean-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/boolean HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-datetime-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-datetime-column.md index 538515ce4..9e46c1877 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-datetime-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-datetime-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/datetime HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-email-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-email-column.md index 71439abad..71eefb0ea 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-email-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-email-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-enum-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-enum-column.md index b6dbb9332..804f41b04 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-enum-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-enum-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/enum HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-float-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-float-column.md index f7fd4b7d5..efa216d4f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-float-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-float-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/float HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-index.md b/examples/1.9.x/server-rest/examples/tablesdb/create-index.md index 3db86bad1..855f1c96f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-index.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-index.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/indexes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-integer-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-integer-column.md index db5115128..a0827c453 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-integer-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-integer-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/integer HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-ip-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-ip-column.md index e77503fdf..e5d65810b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-ip-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-ip-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/ip HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-line-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-line-column.md index e014898f2..5fd06be5c 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-line-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-line-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/line HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-longtext-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-longtext-column.md index 756e43de1..d5f54501d 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-longtext-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-longtext-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/longtext HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-mediumtext-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-mediumtext-column.md index 63ff03038..31db13efb 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-mediumtext-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-mediumtext-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-operations.md b/examples/1.9.x/server-rest/examples/tablesdb/create-operations.md index d313898fb..8974ba21c 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-operations.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-operations.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/transactions/{transactionId}/operations HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-point-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-point-column.md index 4002bcd06..e03e32351 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-point-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-point-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/point HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-polygon-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-polygon-column.md index d3ccefc8d..3d192978d 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-polygon-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-polygon-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/polygon HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-relationship-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-relationship-column.md index 95c9b7d39..1f5660ba7 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-relationship-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-relationship-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/relationship HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-row.md b/examples/1.9.x/server-rest/examples/tablesdb/create-row.md index ffff5f2a5..b0c6ef125 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-row.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-row.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-rows.md b/examples/1.9.x/server-rest/examples/tablesdb/create-rows.md index 64dc6166a..8bf6c96d2 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-rows.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-rows.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-string-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-string-column.md index b8f8c5f71..cdac5aa2a 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-string-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-string-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/string HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-table.md b/examples/1.9.x/server-rest/examples/tablesdb/create-table.md index eb60afa3f..b9098ac39 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-table.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-table.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-text-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-text-column.md index 7aa1ad9fb..fa51b1756 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-text-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-text-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/text HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-transaction.md b/examples/1.9.x/server-rest/examples/tablesdb/create-transaction.md index b947b093c..4a423ed94 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-transaction.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-transaction.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/transactions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-url-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-url-column.md index eb8e5a51a..16787734b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-url-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-url-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/url HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create-varchar-column.md b/examples/1.9.x/server-rest/examples/tablesdb/create-varchar-column.md index e385143af..9ac96241d 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create-varchar-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create-varchar-column.md @@ -2,7 +2,7 @@ POST /v1/tablesdb/{databaseId}/tables/{tableId}/columns/varchar HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/create.md b/examples/1.9.x/server-rest/examples/tablesdb/create.md index e231feba2..9cef15473 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/create.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/create.md @@ -2,7 +2,7 @@ POST /v1/tablesdb HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/decrement-row-column.md b/examples/1.9.x/server-rest/examples/tablesdb/decrement-row-column.md index cbb756759..c8bb492ed 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/decrement-row-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/decrement-row-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-column.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-column.md index 6e5a51a5f..b1cbbfab6 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-column.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId}/columns/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-index.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-index.md index a0d55c5bf..5161ec12f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-index.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-index.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId}/indexes/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-row.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-row.md index 58edd8acc..df2ee91b7 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-row.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-row.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-rows.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-rows.md index 7107b992d..3aa651d4b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-rows.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-rows.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-table.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-table.md index 4ee8fcc8c..fd92f8417 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-table.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-table.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId}/tables/{tableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete-transaction.md b/examples/1.9.x/server-rest/examples/tablesdb/delete-transaction.md index c10144d55..b3c767b68 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete-transaction.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete-transaction.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/delete.md b/examples/1.9.x/server-rest/examples/tablesdb/delete.md index a17f84ccd..6b9e60ae5 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/delete.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/delete.md @@ -2,7 +2,7 @@ DELETE /v1/tablesdb/{databaseId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get-column.md b/examples/1.9.x/server-rest/examples/tablesdb/get-column.md index 2c27781ad..fcd02d73b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get-column.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/columns/{key} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get-index.md b/examples/1.9.x/server-rest/examples/tablesdb/get-index.md index 175c68ba0..5f3779742 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get-index.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get-index.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/indexes/{key} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get-row.md b/examples/1.9.x/server-rest/examples/tablesdb/get-row.md index dd07dd784..be835aefe 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get-row.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get-row.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get-table.md b/examples/1.9.x/server-rest/examples/tablesdb/get-table.md index 6800d9355..67d20bb30 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get-table.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get-table.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get-transaction.md b/examples/1.9.x/server-rest/examples/tablesdb/get-transaction.md index fcc99e7e4..b4938d1f3 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get-transaction.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get-transaction.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/get.md b/examples/1.9.x/server-rest/examples/tablesdb/get.md index 16c0c4d1e..7ad4e457b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/get.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/get.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/increment-row-column.md b/examples/1.9.x/server-rest/examples/tablesdb/increment-row-column.md index c24f77bad..efe6a6d6a 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/increment-row-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/increment-row-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list-columns.md b/examples/1.9.x/server-rest/examples/tablesdb/list-columns.md index 1f8fa9cf6..99707d330 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list-columns.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list-columns.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/columns HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list-indexes.md b/examples/1.9.x/server-rest/examples/tablesdb/list-indexes.md index 73b05bcff..4a2d639ad 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list-indexes.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list-indexes.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/indexes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list-rows.md b/examples/1.9.x/server-rest/examples/tablesdb/list-rows.md index cbb3143bc..99e425432 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list-rows.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list-rows.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list-tables.md b/examples/1.9.x/server-rest/examples/tablesdb/list-tables.md index a5a18729e..4066afec6 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list-tables.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list-tables.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/{databaseId}/tables HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list-transactions.md b/examples/1.9.x/server-rest/examples/tablesdb/list-transactions.md index e0f6ce73b..a755b8ff2 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list-transactions.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list-transactions.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb/transactions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/list.md b/examples/1.9.x/server-rest/examples/tablesdb/list.md index bdcafb00b..864c2a62a 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/list.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/list.md @@ -1,7 +1,7 @@ ```http GET /v1/tablesdb HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-big-int-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-big-int-column.md index 5303769ee..eff4d6030 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-big-int-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-big-int-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/bigint/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-boolean-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-boolean-column.md index 7799e2717..42bb5ae6f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-boolean-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-boolean-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/boolean/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-datetime-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-datetime-column.md index 98820ca23..327528ddf 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-datetime-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-datetime-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/datetime/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-email-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-email-column.md index 864b5f659..fefe1c273 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-email-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-email-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/email/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-enum-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-enum-column.md index 40f7ea2f3..55400785c 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-enum-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-enum-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/enum/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-float-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-float-column.md index f690bb560..7093f92a0 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-float-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-float-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/float/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-integer-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-integer-column.md index 89643cf0e..f12653d1f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-integer-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-integer-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/integer/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-ip-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-ip-column.md index f6181a47c..cff4ac416 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-ip-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-ip-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/ip/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-line-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-line-column.md index 655816ebc..f2ede4f09 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-line-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-line-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/line/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-longtext-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-longtext-column.md index 3e049ac74..ab030c92c 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-longtext-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-longtext-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/longtext/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-mediumtext-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-mediumtext-column.md index f95b1f32d..1a9536eed 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-mediumtext-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-mediumtext-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-point-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-point-column.md index c8c32a236..aa5dc855f 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-point-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-point-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/point/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-polygon-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-polygon-column.md index 6556e5475..3e4268940 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-polygon-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-polygon-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/polygon/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-relationship-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-relationship-column.md index e6e336874..3f6914afb 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-relationship-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-relationship-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/{key}/relationship HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-row.md b/examples/1.9.x/server-rest/examples/tablesdb/update-row.md index 7b44ccbd8..3f22494cd 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-row.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-row.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-rows.md b/examples/1.9.x/server-rest/examples/tablesdb/update-rows.md index b67d2e4e8..93d694032 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-rows.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-rows.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-string-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-string-column.md index 017de6d53..e982f3023 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-string-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-string-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/string/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-table.md b/examples/1.9.x/server-rest/examples/tablesdb/update-table.md index 0a285590c..93a0bb577 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-table.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-table.md @@ -2,7 +2,7 @@ PUT /v1/tablesdb/{databaseId}/tables/{tableId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-text-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-text-column.md index 319d99fa2..cb16770fe 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-text-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-text-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/text/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-transaction.md b/examples/1.9.x/server-rest/examples/tablesdb/update-transaction.md index 8eda4b3ba..26740954e 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-transaction.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-transaction.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/transactions/{transactionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: X-Appwrite-Session: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-url-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-url-column.md index 8ea24d56d..700e849fe 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-url-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-url-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/url/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update-varchar-column.md b/examples/1.9.x/server-rest/examples/tablesdb/update-varchar-column.md index d8a50ff5b..80512e7c8 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update-varchar-column.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update-varchar-column.md @@ -2,7 +2,7 @@ PATCH /v1/tablesdb/{databaseId}/tables/{tableId}/columns/varchar/{key} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/update.md b/examples/1.9.x/server-rest/examples/tablesdb/update.md index 945dfa8d8..e32da8b8b 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/update.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/update.md @@ -2,7 +2,7 @@ PUT /v1/tablesdb/{databaseId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/upsert-row.md b/examples/1.9.x/server-rest/examples/tablesdb/upsert-row.md index ee9c4538d..984577cc3 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/upsert-row.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/upsert-row.md @@ -2,7 +2,7 @@ PUT /v1/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tablesdb/upsert-rows.md b/examples/1.9.x/server-rest/examples/tablesdb/upsert-rows.md index ed34606a1..2c9099f17 100644 --- a/examples/1.9.x/server-rest/examples/tablesdb/upsert-rows.md +++ b/examples/1.9.x/server-rest/examples/tablesdb/upsert-rows.md @@ -2,7 +2,7 @@ PUT /v1/tablesdb/{databaseId}/tables/{tableId}/rows HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/create-membership.md b/examples/1.9.x/server-rest/examples/teams/create-membership.md index 74b8c19aa..eb8c817b2 100644 --- a/examples/1.9.x/server-rest/examples/teams/create-membership.md +++ b/examples/1.9.x/server-rest/examples/teams/create-membership.md @@ -2,7 +2,7 @@ POST /v1/teams/{teamId}/memberships HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/create.md b/examples/1.9.x/server-rest/examples/teams/create.md index 294eb82f1..46c387359 100644 --- a/examples/1.9.x/server-rest/examples/teams/create.md +++ b/examples/1.9.x/server-rest/examples/teams/create.md @@ -2,7 +2,7 @@ POST /v1/teams HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/delete-membership.md b/examples/1.9.x/server-rest/examples/teams/delete-membership.md index 28de3e60f..b23962553 100644 --- a/examples/1.9.x/server-rest/examples/teams/delete-membership.md +++ b/examples/1.9.x/server-rest/examples/teams/delete-membership.md @@ -2,7 +2,7 @@ DELETE /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/delete.md b/examples/1.9.x/server-rest/examples/teams/delete.md index db48c5559..f00de9a71 100644 --- a/examples/1.9.x/server-rest/examples/teams/delete.md +++ b/examples/1.9.x/server-rest/examples/teams/delete.md @@ -2,7 +2,7 @@ DELETE /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/get-membership.md b/examples/1.9.x/server-rest/examples/teams/get-membership.md index 96f873b5c..25f321b2a 100644 --- a/examples/1.9.x/server-rest/examples/teams/get-membership.md +++ b/examples/1.9.x/server-rest/examples/teams/get-membership.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/get-prefs.md b/examples/1.9.x/server-rest/examples/teams/get-prefs.md index f6fdda6ab..16af3d333 100644 --- a/examples/1.9.x/server-rest/examples/teams/get-prefs.md +++ b/examples/1.9.x/server-rest/examples/teams/get-prefs.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/prefs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/teams/get.md b/examples/1.9.x/server-rest/examples/teams/get.md index 7582a6388..97bcc043e 100644 --- a/examples/1.9.x/server-rest/examples/teams/get.md +++ b/examples/1.9.x/server-rest/examples/teams/get.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/list-memberships.md b/examples/1.9.x/server-rest/examples/teams/list-memberships.md index 6b2e3519c..37be86d09 100644 --- a/examples/1.9.x/server-rest/examples/teams/list-memberships.md +++ b/examples/1.9.x/server-rest/examples/teams/list-memberships.md @@ -1,7 +1,7 @@ ```http GET /v1/teams/{teamId}/memberships HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/list.md b/examples/1.9.x/server-rest/examples/teams/list.md index ab2bfdd23..ec5739097 100644 --- a/examples/1.9.x/server-rest/examples/teams/list.md +++ b/examples/1.9.x/server-rest/examples/teams/list.md @@ -1,7 +1,7 @@ ```http GET /v1/teams HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/update-membership-status.md b/examples/1.9.x/server-rest/examples/teams/update-membership-status.md index 9dacefb3c..d9f376fbb 100644 --- a/examples/1.9.x/server-rest/examples/teams/update-membership-status.md +++ b/examples/1.9.x/server-rest/examples/teams/update-membership-status.md @@ -2,7 +2,7 @@ PATCH /v1/teams/{teamId}/memberships/{membershipId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/teams/update-membership.md b/examples/1.9.x/server-rest/examples/teams/update-membership.md index 8f8455cfc..873136a15 100644 --- a/examples/1.9.x/server-rest/examples/teams/update-membership.md +++ b/examples/1.9.x/server-rest/examples/teams/update-membership.md @@ -2,7 +2,7 @@ PATCH /v1/teams/{teamId}/memberships/{membershipId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/update-name.md b/examples/1.9.x/server-rest/examples/teams/update-name.md index 52171e7f1..5ed922a6b 100644 --- a/examples/1.9.x/server-rest/examples/teams/update-name.md +++ b/examples/1.9.x/server-rest/examples/teams/update-name.md @@ -2,7 +2,7 @@ PUT /v1/teams/{teamId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/teams/update-prefs.md b/examples/1.9.x/server-rest/examples/teams/update-prefs.md index d3561e125..ec1eefacc 100644 --- a/examples/1.9.x/server-rest/examples/teams/update-prefs.md +++ b/examples/1.9.x/server-rest/examples/teams/update-prefs.md @@ -2,7 +2,7 @@ PUT /v1/teams/{teamId}/prefs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Session: X-Appwrite-JWT: diff --git a/examples/1.9.x/server-rest/examples/tokens/create-file-token.md b/examples/1.9.x/server-rest/examples/tokens/create-file-token.md index 5f66c15f9..8dc59d11c 100644 --- a/examples/1.9.x/server-rest/examples/tokens/create-file-token.md +++ b/examples/1.9.x/server-rest/examples/tokens/create-file-token.md @@ -2,7 +2,7 @@ POST /v1/tokens/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tokens/delete.md b/examples/1.9.x/server-rest/examples/tokens/delete.md index f6a87afe7..87a640cdf 100644 --- a/examples/1.9.x/server-rest/examples/tokens/delete.md +++ b/examples/1.9.x/server-rest/examples/tokens/delete.md @@ -2,7 +2,7 @@ DELETE /v1/tokens/{tokenId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/tokens/get.md b/examples/1.9.x/server-rest/examples/tokens/get.md index 0b261bb07..cc2a1c15b 100644 --- a/examples/1.9.x/server-rest/examples/tokens/get.md +++ b/examples/1.9.x/server-rest/examples/tokens/get.md @@ -1,7 +1,7 @@ ```http GET /v1/tokens/{tokenId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tokens/list.md b/examples/1.9.x/server-rest/examples/tokens/list.md index 6061e5ebd..781ce6c49 100644 --- a/examples/1.9.x/server-rest/examples/tokens/list.md +++ b/examples/1.9.x/server-rest/examples/tokens/list.md @@ -1,7 +1,7 @@ ```http GET /v1/tokens/buckets/{bucketId}/files/{fileId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/tokens/update.md b/examples/1.9.x/server-rest/examples/tokens/update.md index 228ea9086..13dfce01a 100644 --- a/examples/1.9.x/server-rest/examples/tokens/update.md +++ b/examples/1.9.x/server-rest/examples/tokens/update.md @@ -2,7 +2,7 @@ PATCH /v1/tokens/{tokenId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/usage/list-events.md b/examples/1.9.x/server-rest/examples/usage/list-events.md new file mode 100644 index 000000000..679b7e25c --- /dev/null +++ b/examples/1.9.x/server-rest/examples/usage/list-events.md @@ -0,0 +1,7 @@ +```http +GET /v1/usage/events HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/usage/list-gauges.md b/examples/1.9.x/server-rest/examples/usage/list-gauges.md new file mode 100644 index 000000000..65c2fe068 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/usage/list-gauges.md @@ -0,0 +1,7 @@ +```http +GET /v1/usage/gauges HTTP/1.1 +Host: cloud.appwrite.io +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: +X-Appwrite-Key: +``` diff --git a/examples/1.9.x/server-rest/examples/users/create-argon-2-user.md b/examples/1.9.x/server-rest/examples/users/create-argon-2-user.md index 04871436c..ec189edd3 100644 --- a/examples/1.9.x/server-rest/examples/users/create-argon-2-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-argon-2-user.md @@ -2,7 +2,7 @@ POST /v1/users/argon2 HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-bcrypt-user.md b/examples/1.9.x/server-rest/examples/users/create-bcrypt-user.md index 4b433ef7d..9c14e86ee 100644 --- a/examples/1.9.x/server-rest/examples/users/create-bcrypt-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-bcrypt-user.md @@ -2,7 +2,7 @@ POST /v1/users/bcrypt HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-jwt.md b/examples/1.9.x/server-rest/examples/users/create-jwt.md index a5fe0cd79..dc1e3efb1 100644 --- a/examples/1.9.x/server-rest/examples/users/create-jwt.md +++ b/examples/1.9.x/server-rest/examples/users/create-jwt.md @@ -2,7 +2,7 @@ POST /v1/users/{userId}/jwts HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-md-5-user.md b/examples/1.9.x/server-rest/examples/users/create-md-5-user.md index 0ec00e8e9..59d46471f 100644 --- a/examples/1.9.x/server-rest/examples/users/create-md-5-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-md-5-user.md @@ -2,7 +2,7 @@ POST /v1/users/md5 HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/users/create-mfa-recovery-codes.md index cb8a1ab73..1211c5562 100644 --- a/examples/1.9.x/server-rest/examples/users/create-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/users/create-mfa-recovery-codes.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-ph-pass-user.md b/examples/1.9.x/server-rest/examples/users/create-ph-pass-user.md index 93c923505..d5575b77c 100644 --- a/examples/1.9.x/server-rest/examples/users/create-ph-pass-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-ph-pass-user.md @@ -2,7 +2,7 @@ POST /v1/users/phpass HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-scrypt-modified-user.md b/examples/1.9.x/server-rest/examples/users/create-scrypt-modified-user.md index 78b594f50..de355024a 100644 --- a/examples/1.9.x/server-rest/examples/users/create-scrypt-modified-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-scrypt-modified-user.md @@ -2,7 +2,7 @@ POST /v1/users/scrypt-modified HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-scrypt-user.md b/examples/1.9.x/server-rest/examples/users/create-scrypt-user.md index e10e7e2a8..ecd25ca2f 100644 --- a/examples/1.9.x/server-rest/examples/users/create-scrypt-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-scrypt-user.md @@ -2,7 +2,7 @@ POST /v1/users/scrypt HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-session.md b/examples/1.9.x/server-rest/examples/users/create-session.md index 74144e417..827187976 100644 --- a/examples/1.9.x/server-rest/examples/users/create-session.md +++ b/examples/1.9.x/server-rest/examples/users/create-session.md @@ -2,7 +2,7 @@ POST /v1/users/{userId}/sessions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-sha-user.md b/examples/1.9.x/server-rest/examples/users/create-sha-user.md index c4a33f967..0e78d6cd6 100644 --- a/examples/1.9.x/server-rest/examples/users/create-sha-user.md +++ b/examples/1.9.x/server-rest/examples/users/create-sha-user.md @@ -2,7 +2,7 @@ POST /v1/users/sha HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-target.md b/examples/1.9.x/server-rest/examples/users/create-target.md index 91c49f67b..b6357e0f0 100644 --- a/examples/1.9.x/server-rest/examples/users/create-target.md +++ b/examples/1.9.x/server-rest/examples/users/create-target.md @@ -2,7 +2,7 @@ POST /v1/users/{userId}/targets HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create-token.md b/examples/1.9.x/server-rest/examples/users/create-token.md index a72a7351d..800b93be3 100644 --- a/examples/1.9.x/server-rest/examples/users/create-token.md +++ b/examples/1.9.x/server-rest/examples/users/create-token.md @@ -2,7 +2,7 @@ POST /v1/users/{userId}/tokens HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/create.md b/examples/1.9.x/server-rest/examples/users/create.md index 9cfa57c63..64af31742 100644 --- a/examples/1.9.x/server-rest/examples/users/create.md +++ b/examples/1.9.x/server-rest/examples/users/create.md @@ -2,7 +2,7 @@ POST /v1/users HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete-identity.md b/examples/1.9.x/server-rest/examples/users/delete-identity.md index acb6e9c3a..70497619c 100644 --- a/examples/1.9.x/server-rest/examples/users/delete-identity.md +++ b/examples/1.9.x/server-rest/examples/users/delete-identity.md @@ -2,7 +2,7 @@ DELETE /v1/users/identities/{identityId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete-mfa-authenticator.md b/examples/1.9.x/server-rest/examples/users/delete-mfa-authenticator.md index 64334787c..e0eb30877 100644 --- a/examples/1.9.x/server-rest/examples/users/delete-mfa-authenticator.md +++ b/examples/1.9.x/server-rest/examples/users/delete-mfa-authenticator.md @@ -2,7 +2,7 @@ DELETE /v1/users/{userId}/mfa/authenticators/{type} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete-session.md b/examples/1.9.x/server-rest/examples/users/delete-session.md index 7aef5e4c7..dfb5bdef6 100644 --- a/examples/1.9.x/server-rest/examples/users/delete-session.md +++ b/examples/1.9.x/server-rest/examples/users/delete-session.md @@ -2,7 +2,7 @@ DELETE /v1/users/{userId}/sessions/{sessionId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete-sessions.md b/examples/1.9.x/server-rest/examples/users/delete-sessions.md index b985e7933..8df4f7bb6 100644 --- a/examples/1.9.x/server-rest/examples/users/delete-sessions.md +++ b/examples/1.9.x/server-rest/examples/users/delete-sessions.md @@ -2,7 +2,7 @@ DELETE /v1/users/{userId}/sessions HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete-target.md b/examples/1.9.x/server-rest/examples/users/delete-target.md index 23ebb44eb..31b36bbc4 100644 --- a/examples/1.9.x/server-rest/examples/users/delete-target.md +++ b/examples/1.9.x/server-rest/examples/users/delete-target.md @@ -2,7 +2,7 @@ DELETE /v1/users/{userId}/targets/{targetId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/delete.md b/examples/1.9.x/server-rest/examples/users/delete.md index 95ed065ac..5094af578 100644 --- a/examples/1.9.x/server-rest/examples/users/delete.md +++ b/examples/1.9.x/server-rest/examples/users/delete.md @@ -2,7 +2,7 @@ DELETE /v1/users/{userId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/get-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/users/get-mfa-recovery-codes.md index b566252c6..22729a1ac 100644 --- a/examples/1.9.x/server-rest/examples/users/get-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/users/get-mfa-recovery-codes.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/get-prefs.md b/examples/1.9.x/server-rest/examples/users/get-prefs.md index 15e37653f..7bbb02195 100644 --- a/examples/1.9.x/server-rest/examples/users/get-prefs.md +++ b/examples/1.9.x/server-rest/examples/users/get-prefs.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/prefs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/get-target.md b/examples/1.9.x/server-rest/examples/users/get-target.md index 59fa9da30..76050b52d 100644 --- a/examples/1.9.x/server-rest/examples/users/get-target.md +++ b/examples/1.9.x/server-rest/examples/users/get-target.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/targets/{targetId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/get.md b/examples/1.9.x/server-rest/examples/users/get.md index 70de97bc2..a5fdd29de 100644 --- a/examples/1.9.x/server-rest/examples/users/get.md +++ b/examples/1.9.x/server-rest/examples/users/get.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-identities.md b/examples/1.9.x/server-rest/examples/users/list-identities.md index 55b3d0e26..96a14aecd 100644 --- a/examples/1.9.x/server-rest/examples/users/list-identities.md +++ b/examples/1.9.x/server-rest/examples/users/list-identities.md @@ -1,7 +1,7 @@ ```http GET /v1/users/identities HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-logs.md b/examples/1.9.x/server-rest/examples/users/list-logs.md index e860d45ed..b6a4b2245 100644 --- a/examples/1.9.x/server-rest/examples/users/list-logs.md +++ b/examples/1.9.x/server-rest/examples/users/list-logs.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/logs HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-memberships.md b/examples/1.9.x/server-rest/examples/users/list-memberships.md index 0861c6e70..fb4a04f78 100644 --- a/examples/1.9.x/server-rest/examples/users/list-memberships.md +++ b/examples/1.9.x/server-rest/examples/users/list-memberships.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/memberships HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-mfa-factors.md b/examples/1.9.x/server-rest/examples/users/list-mfa-factors.md index 4fb9b7d0a..f7ee17d5c 100644 --- a/examples/1.9.x/server-rest/examples/users/list-mfa-factors.md +++ b/examples/1.9.x/server-rest/examples/users/list-mfa-factors.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/mfa/factors HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-sessions.md b/examples/1.9.x/server-rest/examples/users/list-sessions.md index 3474d0785..3619bcb94 100644 --- a/examples/1.9.x/server-rest/examples/users/list-sessions.md +++ b/examples/1.9.x/server-rest/examples/users/list-sessions.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/sessions HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list-targets.md b/examples/1.9.x/server-rest/examples/users/list-targets.md index fae32bd8c..d906b8a94 100644 --- a/examples/1.9.x/server-rest/examples/users/list-targets.md +++ b/examples/1.9.x/server-rest/examples/users/list-targets.md @@ -1,7 +1,7 @@ ```http GET /v1/users/{userId}/targets HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/list.md b/examples/1.9.x/server-rest/examples/users/list.md index 94ccea1bf..ed4c67f33 100644 --- a/examples/1.9.x/server-rest/examples/users/list.md +++ b/examples/1.9.x/server-rest/examples/users/list.md @@ -1,7 +1,7 @@ ```http GET /v1/users HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/users/update-email-verification.md b/examples/1.9.x/server-rest/examples/users/update-email-verification.md index b510db8b9..3f43ac6ff 100644 --- a/examples/1.9.x/server-rest/examples/users/update-email-verification.md +++ b/examples/1.9.x/server-rest/examples/users/update-email-verification.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/verification HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-email.md b/examples/1.9.x/server-rest/examples/users/update-email.md index 8a77373d5..47c5cc156 100644 --- a/examples/1.9.x/server-rest/examples/users/update-email.md +++ b/examples/1.9.x/server-rest/examples/users/update-email.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/email HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-impersonator.md b/examples/1.9.x/server-rest/examples/users/update-impersonator.md index 48d716510..c51e88784 100644 --- a/examples/1.9.x/server-rest/examples/users/update-impersonator.md +++ b/examples/1.9.x/server-rest/examples/users/update-impersonator.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/impersonator HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-labels.md b/examples/1.9.x/server-rest/examples/users/update-labels.md index 50c7ed692..753b41a19 100644 --- a/examples/1.9.x/server-rest/examples/users/update-labels.md +++ b/examples/1.9.x/server-rest/examples/users/update-labels.md @@ -2,7 +2,7 @@ PUT /v1/users/{userId}/labels HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-mfa-recovery-codes.md b/examples/1.9.x/server-rest/examples/users/update-mfa-recovery-codes.md index 875466c67..4001d274f 100644 --- a/examples/1.9.x/server-rest/examples/users/update-mfa-recovery-codes.md +++ b/examples/1.9.x/server-rest/examples/users/update-mfa-recovery-codes.md @@ -2,7 +2,7 @@ PUT /v1/users/{userId}/mfa/recovery-codes HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-mfa.md b/examples/1.9.x/server-rest/examples/users/update-mfa.md index 3237c77f7..162dfe6f2 100644 --- a/examples/1.9.x/server-rest/examples/users/update-mfa.md +++ b/examples/1.9.x/server-rest/examples/users/update-mfa.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/mfa HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-name.md b/examples/1.9.x/server-rest/examples/users/update-name.md index 8f847c978..ab470e0db 100644 --- a/examples/1.9.x/server-rest/examples/users/update-name.md +++ b/examples/1.9.x/server-rest/examples/users/update-name.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/name HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-password.md b/examples/1.9.x/server-rest/examples/users/update-password.md index 508cfe185..d303e0bdb 100644 --- a/examples/1.9.x/server-rest/examples/users/update-password.md +++ b/examples/1.9.x/server-rest/examples/users/update-password.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/password HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-phone-verification.md b/examples/1.9.x/server-rest/examples/users/update-phone-verification.md index b9ffadfc8..f7da175d4 100644 --- a/examples/1.9.x/server-rest/examples/users/update-phone-verification.md +++ b/examples/1.9.x/server-rest/examples/users/update-phone-verification.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/verification/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-phone.md b/examples/1.9.x/server-rest/examples/users/update-phone.md index 239e4c97a..e0005c57f 100644 --- a/examples/1.9.x/server-rest/examples/users/update-phone.md +++ b/examples/1.9.x/server-rest/examples/users/update-phone.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/phone HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-prefs.md b/examples/1.9.x/server-rest/examples/users/update-prefs.md index ae4e12ae9..1e66f349e 100644 --- a/examples/1.9.x/server-rest/examples/users/update-prefs.md +++ b/examples/1.9.x/server-rest/examples/users/update-prefs.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/prefs HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-status.md b/examples/1.9.x/server-rest/examples/users/update-status.md index 813a9c7f5..4841a8cae 100644 --- a/examples/1.9.x/server-rest/examples/users/update-status.md +++ b/examples/1.9.x/server-rest/examples/users/update-status.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/status HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/users/update-target.md b/examples/1.9.x/server-rest/examples/users/update-target.md index 95f71f1e7..4d82a24fc 100644 --- a/examples/1.9.x/server-rest/examples/users/update-target.md +++ b/examples/1.9.x/server-rest/examples/users/update-target.md @@ -2,7 +2,7 @@ PATCH /v1/users/{userId}/targets/{targetId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/webhooks/create.md b/examples/1.9.x/server-rest/examples/webhooks/create.md index 47c163f65..b7f3d526d 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/create.md +++ b/examples/1.9.x/server-rest/examples/webhooks/create.md @@ -2,7 +2,7 @@ POST /v1/webhooks HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/webhooks/delete.md b/examples/1.9.x/server-rest/examples/webhooks/delete.md index 8b4a7f791..d9b01d6e8 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/delete.md +++ b/examples/1.9.x/server-rest/examples/webhooks/delete.md @@ -2,7 +2,7 @@ DELETE /v1/webhooks/{webhookId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/webhooks/get.md b/examples/1.9.x/server-rest/examples/webhooks/get.md index c13c80db1..fa845390f 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/get.md +++ b/examples/1.9.x/server-rest/examples/webhooks/get.md @@ -1,7 +1,7 @@ ```http GET /v1/webhooks/{webhookId} HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/webhooks/list.md b/examples/1.9.x/server-rest/examples/webhooks/list.md index 51951c538..555eef1fb 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/list.md +++ b/examples/1.9.x/server-rest/examples/webhooks/list.md @@ -1,7 +1,7 @@ ```http GET /v1/webhooks HTTP/1.1 Host: cloud.appwrite.io -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: ``` diff --git a/examples/1.9.x/server-rest/examples/webhooks/update-secret.md b/examples/1.9.x/server-rest/examples/webhooks/update-secret.md index 4afb9cca9..0e0b0a36c 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/update-secret.md +++ b/examples/1.9.x/server-rest/examples/webhooks/update-secret.md @@ -2,7 +2,7 @@ PATCH /v1/webhooks/{webhookId}/secret HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-rest/examples/webhooks/update.md b/examples/1.9.x/server-rest/examples/webhooks/update.md index f18fb2875..316f2894c 100644 --- a/examples/1.9.x/server-rest/examples/webhooks/update.md +++ b/examples/1.9.x/server-rest/examples/webhooks/update.md @@ -2,7 +2,7 @@ PUT /v1/webhooks/{webhookId} HTTP/1.1 Host: cloud.appwrite.io Content-Type: application/json -X-Appwrite-Response-Format: 1.9.4 +X-Appwrite-Response-Format: 1.9.5 X-Appwrite-Project: X-Appwrite-Key: diff --git a/examples/1.9.x/server-ruby/examples/account/create-push-target.md b/examples/1.9.x/server-ruby/examples/account/create-push-target.md new file mode 100644 index 000000000..e86ba0a42 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/account/create-push-target.md @@ -0,0 +1,18 @@ +```ruby +require 'appwrite' + +include Appwrite + +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 + +account = Account.new(client) + +result = account.create_push_target( + target_id: '', + identifier: '', + provider_id: '' # optional +) +``` diff --git a/examples/1.9.x/server-ruby/examples/account/delete-push-target.md b/examples/1.9.x/server-ruby/examples/account/delete-push-target.md new file mode 100644 index 000000000..331ab99dc --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/account/delete-push-target.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_session('') # The user session to authenticate with + +account = Account.new(client) + +result = account.delete_push_target( + target_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/account/update-push-target.md b/examples/1.9.x/server-ruby/examples/account/update-push-target.md new file mode 100644 index 000000000..2d89ec0f9 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/account/update-push-target.md @@ -0,0 +1,17 @@ +```ruby +require 'appwrite' + +include Appwrite + +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 + +account = Account.new(client) + +result = account.update_push_target( + target_id: '', + identifier: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/advisor/delete-report.md b/examples/1.9.x/server-ruby/examples/advisor/delete-report.md new file mode 100644 index 000000000..1139bb71e --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/advisor/delete-report.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 + +advisor = Advisor.new(client) + +result = advisor.delete_report( + report_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/advisor/get-insight.md b/examples/1.9.x/server-ruby/examples/advisor/get-insight.md new file mode 100644 index 000000000..e9fd0ac31 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/advisor/get-insight.md @@ -0,0 +1,17 @@ +```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 + +advisor = Advisor.new(client) + +result = advisor.get_insight( + report_id: '', + insight_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/advisor/get-report.md b/examples/1.9.x/server-ruby/examples/advisor/get-report.md new file mode 100644 index 000000000..919cc2850 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/advisor/get-report.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 + +advisor = Advisor.new(client) + +result = advisor.get_report( + report_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/advisor/list-insights.md b/examples/1.9.x/server-ruby/examples/advisor/list-insights.md new file mode 100644 index 000000000..59e97ad87 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/advisor/list-insights.md @@ -0,0 +1,18 @@ +```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 + +advisor = Advisor.new(client) + +result = advisor.list_insights( + report_id: '', + queries: [], # optional + total: false # optional +) +``` diff --git a/examples/1.9.x/server-ruby/examples/advisor/list-reports.md b/examples/1.9.x/server-ruby/examples/advisor/list-reports.md new file mode 100644 index 000000000..11670c30a --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/advisor/list-reports.md @@ -0,0 +1,17 @@ +```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 + +advisor = Advisor.new(client) + +result = advisor.list_reports( + queries: [], # optional + total: false # optional +) +``` 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 e129b3772..87c233f5c 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 @@ -24,7 +24,7 @@ result = avatars.get_screenshot( user_agent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', # optional fullpage: true, # optional locale: 'en-US', # optional - timezone: Timezone::AMERICA_NEW_YORK, # optional + timezone: Timezone::AFRICA_ABIDJAN, # optional latitude: 37.7749, # optional longitude: -122.4194, # optional accuracy: 100, # optional diff --git a/examples/1.9.x/server-ruby/examples/presences/delete.md b/examples/1.9.x/server-ruby/examples/presences/delete.md new file mode 100644 index 000000000..b9b015269 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/presences/delete.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 + +presences = Presences.new(client) + +result = presences.delete( + presence_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/presences/get.md b/examples/1.9.x/server-ruby/examples/presences/get.md new file mode 100644 index 000000000..18307cfd8 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/presences/get.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 + +presences = Presences.new(client) + +result = presences.get( + presence_id: '' +) +``` diff --git a/examples/1.9.x/server-ruby/examples/presences/list.md b/examples/1.9.x/server-ruby/examples/presences/list.md new file mode 100644 index 000000000..ff2ad46fe --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/presences/list.md @@ -0,0 +1,18 @@ +```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 + +presences = Presences.new(client) + +result = presences.list( + queries: [], # optional + total: false, # optional + ttl: 0 # optional +) +``` diff --git a/examples/1.9.x/server-ruby/examples/presences/update-presence.md b/examples/1.9.x/server-ruby/examples/presences/update-presence.md new file mode 100644 index 000000000..c54e6ac93 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/presences/update-presence.md @@ -0,0 +1,24 @@ +```ruby +require 'appwrite' + +include Appwrite +include Appwrite::Permission +include Appwrite::Role + +client = Client.new + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint + .set_project('') # Your project ID + .set_key('') # Your secret API key + +presences = Presences.new(client) + +result = presences.update_presence( + presence_id: '', + user_id: '', + status: '', # optional + expires_at: '2020-10-15T06:38:00.000+00:00', # optional + metadata: {}, # optional + permissions: [Permission.read(Role.any())], # optional + purge: false # optional +) +``` diff --git a/examples/1.9.x/server-ruby/examples/presences/upsert.md b/examples/1.9.x/server-ruby/examples/presences/upsert.md new file mode 100644 index 000000000..cc0801af5 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/presences/upsert.md @@ -0,0 +1,23 @@ +```ruby +require 'appwrite' + +include Appwrite +include Appwrite::Permission +include Appwrite::Role + +client = Client.new + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint + .set_project('') # Your project ID + .set_key('') # Your secret API key + +presences = Presences.new(client) + +result = presences.upsert( + presence_id: '', + user_id: '', + status: '', + permissions: [Permission.read(Role.any())], # optional + expires_at: '2020-10-15T06:38:00.000+00:00', # optional + metadata: {} # optional +) +``` diff --git a/examples/1.9.x/server-ruby/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-ruby/examples/project/create-ephemeral-key.md index 15d925de5..6f0d9b660 100644 --- a/examples/1.9.x/server-ruby/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-ruby/examples/project/create-ephemeral-key.md @@ -12,7 +12,7 @@ client = Client.new project = Project.new(client) result = project.create_ephemeral_key( - scopes: [Scopes::PROJECT_READ], + scopes: [ProjectKeyScopes::PROJECT_READ], duration: 600 ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/create-key.md b/examples/1.9.x/server-ruby/examples/project/create-key.md index f5f74b70b..0721a6b24 100644 --- a/examples/1.9.x/server-ruby/examples/project/create-key.md +++ b/examples/1.9.x/server-ruby/examples/project/create-key.md @@ -14,7 +14,7 @@ project = Project.new(client) result = project.create_key( key_id: '', name: '', - scopes: [Scopes::PROJECT_READ], + scopes: [ProjectKeyScopes::PROJECT_READ], expire: '2020-10-15T06:38:00.000+00:00' # optional ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/get-email-template.md b/examples/1.9.x/server-ruby/examples/project/get-email-template.md index 983f0512c..1bb1a4bc6 100644 --- a/examples/1.9.x/server-ruby/examples/project/get-email-template.md +++ b/examples/1.9.x/server-ruby/examples/project/get-email-template.md @@ -12,7 +12,7 @@ client = Client.new project = Project.new(client) result = project.get_email_template( - template_id: EmailTemplateType::VERIFICATION, - locale: EmailTemplateLocale::AF # optional + template_id: ProjectEmailTemplateId::VERIFICATION, + locale: ProjectEmailTemplateLocale::AF # optional ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-ruby/examples/project/get-o-auth-2-provider.md index 836143adf..d5bde47f7 100644 --- a/examples/1.9.x/server-ruby/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-ruby/examples/project/get-o-auth-2-provider.md @@ -12,6 +12,6 @@ client = Client.new project = Project.new(client) result = project.get_o_auth2_provider( - provider_id: OAuthProvider::AMAZON + provider_id: ProjectOAuthProviderId::AMAZON ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/get-policy.md b/examples/1.9.x/server-ruby/examples/project/get-policy.md index 54e44cbbe..57b186f22 100644 --- a/examples/1.9.x/server-ruby/examples/project/get-policy.md +++ b/examples/1.9.x/server-ruby/examples/project/get-policy.md @@ -12,6 +12,6 @@ client = Client.new project = Project.new(client) result = project.get_policy( - policy_id: ProjectPolicy::PASSWORD_DICTIONARY + policy_id: ProjectPolicyId::PASSWORD_DICTIONARY ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/get.md b/examples/1.9.x/server-ruby/examples/project/get.md new file mode 100644 index 000000000..3a702dec3 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/project/get.md @@ -0,0 +1,14 @@ +```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.get() +``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-auth-method.md b/examples/1.9.x/server-ruby/examples/project/update-auth-method.md index 3740622d4..a717e1051 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-ruby/examples/project/update-auth-method.md @@ -12,7 +12,7 @@ client = Client.new project = Project.new(client) result = project.update_auth_method( - method_id: AuthMethod::EMAIL_PASSWORD, + method_id: ProjectAuthMethodId::EMAIL_PASSWORD, enabled: false ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-ruby/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..f1ce424d5 --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/project/update-deny-aliased-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_aliased_email_policy( + enabled: false +) +``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-email-template.md b/examples/1.9.x/server-ruby/examples/project/update-email-template.md index a20bdeec7..d845017e9 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-email-template.md +++ b/examples/1.9.x/server-ruby/examples/project/update-email-template.md @@ -12,8 +12,8 @@ client = Client.new project = Project.new(client) result = project.update_email_template( - template_id: EmailTemplateType::VERIFICATION, - locale: EmailTemplateLocale::AF, # optional + template_id: ProjectEmailTemplateId::VERIFICATION, + locale: ProjectEmailTemplateLocale::AF, # optional subject: '', # optional message: '', # optional sender_name: '', # optional diff --git a/examples/1.9.x/server-ruby/examples/project/update-key.md b/examples/1.9.x/server-ruby/examples/project/update-key.md index 9c86320fc..b192315d7 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-key.md +++ b/examples/1.9.x/server-ruby/examples/project/update-key.md @@ -14,7 +14,7 @@ project = Project.new(client) result = project.update_key( key_id: '', name: '', - scopes: [Scopes::PROJECT_READ], + scopes: [ProjectKeyScopes::PROJECT_READ], expire: '2020-10-15T06:38:00.000+00:00' # optional ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-ruby/examples/project/update-o-auth-2-google.md index 745a8474f..be38c0f39 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-ruby/examples/project/update-o-auth-2-google.md @@ -14,7 +14,7 @@ project = Project.new(client) result = project.update_o_auth2_google( client_id: '', # optional client_secret: '', # optional - prompt: [Prompt::NONE], # optional + prompt: [ProjectOAuth2GooglePrompt::NONE], # optional enabled: false # optional ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-protocol.md b/examples/1.9.x/server-ruby/examples/project/update-protocol.md index f0a7a1531..6ff3cc123 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-protocol.md +++ b/examples/1.9.x/server-ruby/examples/project/update-protocol.md @@ -12,7 +12,7 @@ client = Client.new project = Project.new(client) result = project.update_protocol( - protocol_id: ProtocolId::REST, + protocol_id: ProjectProtocolId::REST, enabled: false ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-service.md b/examples/1.9.x/server-ruby/examples/project/update-service.md index 889d9be21..0cabe6ac5 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-service.md +++ b/examples/1.9.x/server-ruby/examples/project/update-service.md @@ -12,7 +12,7 @@ client = Client.new project = Project.new(client) result = project.update_service( - service_id: ServiceId::ACCOUNT, + service_id: ProjectServiceId::ACCOUNT, enabled: false ) ``` diff --git a/examples/1.9.x/server-ruby/examples/project/update-smtp.md b/examples/1.9.x/server-ruby/examples/project/update-smtp.md index e2ad56156..ca53c6b53 100644 --- a/examples/1.9.x/server-ruby/examples/project/update-smtp.md +++ b/examples/1.9.x/server-ruby/examples/project/update-smtp.md @@ -20,7 +20,7 @@ result = project.update_smtp( sender_name: '', # optional reply_to_email: 'email@example.com', # optional reply_to_name: '', # optional - secure: Secure::TLS, # optional + secure: ProjectSMTPSecure::TLS, # optional enabled: false # optional ) ``` 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 new file mode 100644 index 000000000..ec26a6dbd --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/usage/list-events.md @@ -0,0 +1,17 @@ +```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 + +usage = Usage.new(client) + +result = usage.list_events( + queries: [], # optional + total: false # 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 new file mode 100644 index 000000000..ba3061fbe --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/usage/list-gauges.md @@ -0,0 +1,17 @@ +```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 + +usage = Usage.new(client) + +result = usage.list_gauges( + queries: [], # optional + total: false # optional +) +``` diff --git a/examples/1.9.x/server-rust/examples/account/create-push-target.md b/examples/1.9.x/server-rust/examples/account/create-push-target.md new file mode 100644 index 000000000..2b03a1e33 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/account/create-push-target.md @@ -0,0 +1,24 @@ +```rust +use appwrite::Client; +use appwrite::services::Account; + +#[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_session(""); // The user session to authenticate with + + let account = Account::new(&client); + + let result = account.create_push_target( + "", + "", + Some("") // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/account/delete-push-target.md b/examples/1.9.x/server-rust/examples/account/delete-push-target.md new file mode 100644 index 000000000..10630fb42 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/account/delete-push-target.md @@ -0,0 +1,20 @@ +```rust +use appwrite::Client; +use appwrite::services::Account; + +#[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_session(""); // The user session to authenticate with + + let account = Account::new(&client); + + account.delete_push_target( + "" + ).await?; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/account/update-push-target.md b/examples/1.9.x/server-rust/examples/account/update-push-target.md new file mode 100644 index 000000000..f3877667e --- /dev/null +++ b/examples/1.9.x/server-rust/examples/account/update-push-target.md @@ -0,0 +1,23 @@ +```rust +use appwrite::Client; +use appwrite::services::Account; + +#[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_session(""); // The user session to authenticate with + + let account = Account::new(&client); + + let result = account.update_push_target( + "", + "" + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/advisor/delete-report.md b/examples/1.9.x/server-rust/examples/advisor/delete-report.md new file mode 100644 index 000000000..e0a205aae --- /dev/null +++ b/examples/1.9.x/server-rust/examples/advisor/delete-report.md @@ -0,0 +1,20 @@ +```rust +use appwrite::Client; +use appwrite::services::Advisor; + +#[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 advisor = Advisor::new(&client); + + advisor.delete_report( + "" + ).await?; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/advisor/get-insight.md b/examples/1.9.x/server-rust/examples/advisor/get-insight.md new file mode 100644 index 000000000..7926f5f84 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/advisor/get-insight.md @@ -0,0 +1,23 @@ +```rust +use appwrite::Client; +use appwrite::services::Advisor; + +#[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 advisor = Advisor::new(&client); + + let result = advisor.get_insight( + "", + "" + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/advisor/get-report.md b/examples/1.9.x/server-rust/examples/advisor/get-report.md new file mode 100644 index 000000000..9cfe34e79 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/advisor/get-report.md @@ -0,0 +1,22 @@ +```rust +use appwrite::Client; +use appwrite::services::Advisor; + +#[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 advisor = Advisor::new(&client); + + let result = advisor.get_report( + "" + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/advisor/list-insights.md b/examples/1.9.x/server-rust/examples/advisor/list-insights.md new file mode 100644 index 000000000..a67a7ddc3 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/advisor/list-insights.md @@ -0,0 +1,24 @@ +```rust +use appwrite::Client; +use appwrite::services::Advisor; + +#[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 advisor = Advisor::new(&client); + + let result = advisor.list_insights( + "", + Some(vec![]), // optional + Some(false) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/advisor/list-reports.md b/examples/1.9.x/server-rust/examples/advisor/list-reports.md new file mode 100644 index 000000000..f0620dc50 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/advisor/list-reports.md @@ -0,0 +1,23 @@ +```rust +use appwrite::Client; +use appwrite::services::Advisor; + +#[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 advisor = Advisor::new(&client); + + let result = advisor.list_reports( + Some(vec![]), // optional + Some(false) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` 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 7f349a3ec..7ccbc8693 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 @@ -21,7 +21,7 @@ async fn main() -> Result<(), Box> { Some("Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15"), // optional Some(true), // optional Some("en-US"), // optional - Some(appwrite::enums::Timezone::AmericaNewYork), // optional + Some(appwrite::enums::Timezone::AfricaAbidjan), // optional Some(37.7749), // optional Some(-122.4194), // optional Some(100), // optional diff --git a/examples/1.9.x/server-rust/examples/presences/delete.md b/examples/1.9.x/server-rust/examples/presences/delete.md new file mode 100644 index 000000000..6802abd1f --- /dev/null +++ b/examples/1.9.x/server-rust/examples/presences/delete.md @@ -0,0 +1,20 @@ +```rust +use appwrite::Client; +use appwrite::services::Presences; + +#[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 presences = Presences::new(&client); + + presences.delete( + "" + ).await?; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/presences/get.md b/examples/1.9.x/server-rust/examples/presences/get.md new file mode 100644 index 000000000..5bba380a3 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/presences/get.md @@ -0,0 +1,22 @@ +```rust +use appwrite::Client; +use appwrite::services::Presences; + +#[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 presences = Presences::new(&client); + + let result = presences.get( + "" + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/presences/list.md b/examples/1.9.x/server-rust/examples/presences/list.md new file mode 100644 index 000000000..413209655 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/presences/list.md @@ -0,0 +1,24 @@ +```rust +use appwrite::Client; +use appwrite::services::Presences; + +#[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 presences = Presences::new(&client); + + let result = presences.list( + Some(vec![]), // optional + Some(false), // optional + Some(0) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/presences/update-presence.md b/examples/1.9.x/server-rust/examples/presences/update-presence.md new file mode 100644 index 000000000..fe0b22301 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/presences/update-presence.md @@ -0,0 +1,30 @@ +```rust +use appwrite::Client; +use appwrite::services::Presences; +use appwrite::permission::Permission; +use appwrite::role::Role; + +#[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 presences = Presences::new(&client); + + let result = presences.update_presence( + "", + "", + Some(""), // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some(serde_json::json!({})), // optional + Some(vec![Permission::read(Role::any()).to_string()]), // optional + Some(false) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/presences/upsert.md b/examples/1.9.x/server-rust/examples/presences/upsert.md new file mode 100644 index 000000000..e1d5745f4 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/presences/upsert.md @@ -0,0 +1,29 @@ +```rust +use appwrite::Client; +use appwrite::services::Presences; +use appwrite::permission::Permission; +use appwrite::role::Role; + +#[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 presences = Presences::new(&client); + + let result = presences.upsert( + "", + "", + "", + Some(vec![Permission::read(Role::any()).to_string()]), // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some(serde_json::json!({})) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-rust/examples/project/create-ephemeral-key.md index 07d42e429..93d1dc4a1 100644 --- a/examples/1.9.x/server-rust/examples/project/create-ephemeral-key.md +++ b/examples/1.9.x/server-rust/examples/project/create-ephemeral-key.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.create_ephemeral_key( - vec![appwrite::enums::Scopes::ProjectRead], + vec![appwrite::enums::ProjectKeyScopes::ProjectRead], 600 ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/create-key.md b/examples/1.9.x/server-rust/examples/project/create-key.md index 7a9f527b1..65ba5117f 100644 --- a/examples/1.9.x/server-rust/examples/project/create-key.md +++ b/examples/1.9.x/server-rust/examples/project/create-key.md @@ -14,7 +14,7 @@ async fn main() -> Result<(), Box> { let result = project.create_key( "", "", - vec![appwrite::enums::Scopes::ProjectRead], + vec![appwrite::enums::ProjectKeyScopes::ProjectRead], Some("2020-10-15T06:38:00.000+00:00") // optional ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/get-email-template.md b/examples/1.9.x/server-rust/examples/project/get-email-template.md index 760fe40eb..b163f0f41 100644 --- a/examples/1.9.x/server-rust/examples/project/get-email-template.md +++ b/examples/1.9.x/server-rust/examples/project/get-email-template.md @@ -12,8 +12,8 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.get_email_template( - appwrite::enums::EmailTemplateType::Verification, - Some(appwrite::enums::EmailTemplateLocale::Af) // optional + appwrite::enums::ProjectEmailTemplateId::Verification, + Some(appwrite::enums::ProjectEmailTemplateLocale::Af) // optional ).await?; let _ = result; diff --git a/examples/1.9.x/server-rust/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-rust/examples/project/get-o-auth-2-provider.md index 4a6354dc3..ea5dd53bc 100644 --- a/examples/1.9.x/server-rust/examples/project/get-o-auth-2-provider.md +++ b/examples/1.9.x/server-rust/examples/project/get-o-auth-2-provider.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.get_o_auth2_provider( - appwrite::enums::OAuthProvider::Amazon + appwrite::enums::ProjectOAuthProviderId::Amazon ).await?; let _ = result; diff --git a/examples/1.9.x/server-rust/examples/project/get-policy.md b/examples/1.9.x/server-rust/examples/project/get-policy.md index 3ffce3001..53781fb9b 100644 --- a/examples/1.9.x/server-rust/examples/project/get-policy.md +++ b/examples/1.9.x/server-rust/examples/project/get-policy.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.get_policy( - appwrite::enums::ProjectPolicy::PasswordDictionary + appwrite::enums::ProjectPolicyId::PasswordDictionary ).await?; let _ = result; diff --git a/examples/1.9.x/server-rust/examples/project/get.md b/examples/1.9.x/server-rust/examples/project/get.md new file mode 100644 index 000000000..5c249b48e --- /dev/null +++ b/examples/1.9.x/server-rust/examples/project/get.md @@ -0,0 +1,20 @@ +```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.get().await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/project/update-auth-method.md b/examples/1.9.x/server-rust/examples/project/update-auth-method.md index 1a85cc894..7b8bd77ba 100644 --- a/examples/1.9.x/server-rust/examples/project/update-auth-method.md +++ b/examples/1.9.x/server-rust/examples/project/update-auth-method.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.update_auth_method( - appwrite::enums::AuthMethod::EmailPassword, + appwrite::enums::ProjectAuthMethodId::EmailPassword, false ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-rust/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..27609f346 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/project/update-deny-aliased-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_aliased_email_policy( + false + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/project/update-email-template.md b/examples/1.9.x/server-rust/examples/project/update-email-template.md index f7274bab1..4ec7ce96e 100644 --- a/examples/1.9.x/server-rust/examples/project/update-email-template.md +++ b/examples/1.9.x/server-rust/examples/project/update-email-template.md @@ -12,8 +12,8 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.update_email_template( - appwrite::enums::EmailTemplateType::Verification, - Some(appwrite::enums::EmailTemplateLocale::Af), // optional + appwrite::enums::ProjectEmailTemplateId::Verification, + Some(appwrite::enums::ProjectEmailTemplateLocale::Af), // optional Some(""), // optional Some(""), // optional Some(""), // optional diff --git a/examples/1.9.x/server-rust/examples/project/update-key.md b/examples/1.9.x/server-rust/examples/project/update-key.md index 38e0a2a4c..12b0282ab 100644 --- a/examples/1.9.x/server-rust/examples/project/update-key.md +++ b/examples/1.9.x/server-rust/examples/project/update-key.md @@ -14,7 +14,7 @@ async fn main() -> Result<(), Box> { let result = project.update_key( "", "", - vec![appwrite::enums::Scopes::ProjectRead], + vec![appwrite::enums::ProjectKeyScopes::ProjectRead], Some("2020-10-15T06:38:00.000+00:00") // optional ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-rust/examples/project/update-o-auth-2-google.md index d918b7a40..2a96b7b4f 100644 --- a/examples/1.9.x/server-rust/examples/project/update-o-auth-2-google.md +++ b/examples/1.9.x/server-rust/examples/project/update-o-auth-2-google.md @@ -14,7 +14,7 @@ async fn main() -> Result<(), Box> { let result = project.update_o_auth2_google( Some(""), // optional Some(""), // optional - Some(vec![appwrite::enums::Prompt::None]), // optional + Some(vec![appwrite::enums::ProjectOAuth2GooglePrompt::None]), // optional Some(false) // optional ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/update-protocol.md b/examples/1.9.x/server-rust/examples/project/update-protocol.md index 5ef23eb1a..935b832e3 100644 --- a/examples/1.9.x/server-rust/examples/project/update-protocol.md +++ b/examples/1.9.x/server-rust/examples/project/update-protocol.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.update_protocol( - appwrite::enums::ProtocolId::Rest, + appwrite::enums::ProjectProtocolId::Rest, false ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/update-service.md b/examples/1.9.x/server-rust/examples/project/update-service.md index af2c29d62..3e69a585b 100644 --- a/examples/1.9.x/server-rust/examples/project/update-service.md +++ b/examples/1.9.x/server-rust/examples/project/update-service.md @@ -12,7 +12,7 @@ async fn main() -> Result<(), Box> { let project = Project::new(&client); let result = project.update_service( - appwrite::enums::ServiceId::Account, + appwrite::enums::ProjectServiceId::Account, false ).await?; diff --git a/examples/1.9.x/server-rust/examples/project/update-smtp.md b/examples/1.9.x/server-rust/examples/project/update-smtp.md index 4f9d3c239..d3b7291f4 100644 --- a/examples/1.9.x/server-rust/examples/project/update-smtp.md +++ b/examples/1.9.x/server-rust/examples/project/update-smtp.md @@ -20,7 +20,7 @@ async fn main() -> Result<(), Box> { Some(""), // optional Some("email@example.com"), // optional Some(""), // optional - Some(appwrite::enums::Secure::Tls), // optional + Some(appwrite::enums::ProjectSMTPSecure::Tls), // optional Some(false) // optional ).await?; 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 new file mode 100644 index 000000000..38c8d6ead --- /dev/null +++ b/examples/1.9.x/server-rust/examples/usage/list-events.md @@ -0,0 +1,23 @@ +```rust +use appwrite::Client; +use appwrite::services::Usage; + +#[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 usage = Usage::new(&client); + + let result = usage.list_events( + Some(vec![]), // optional + Some(false) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` 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 new file mode 100644 index 000000000..c2fa2863e --- /dev/null +++ b/examples/1.9.x/server-rust/examples/usage/list-gauges.md @@ -0,0 +1,23 @@ +```rust +use appwrite::Client; +use appwrite::services::Usage; + +#[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 usage = Usage::new(&client); + + let result = usage.list_gauges( + Some(vec![]), // optional + Some(false) // optional + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-swift/examples/account/create-push-target.md b/examples/1.9.x/server-swift/examples/account/create-push-target.md new file mode 100644 index 000000000..bd64c14fe --- /dev/null +++ b/examples/1.9.x/server-swift/examples/account/create-push-target.md @@ -0,0 +1,17 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +let account = Account(client) + +let target = try await account.createPushTarget( + targetId: "", + identifier: "", + providerId: "" // optional +) + +``` diff --git a/examples/1.9.x/server-swift/examples/account/delete-push-target.md b/examples/1.9.x/server-swift/examples/account/delete-push-target.md new file mode 100644 index 000000000..55d8d9e23 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/account/delete-push-target.md @@ -0,0 +1,15 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +let account = Account(client) + +let result = try await account.deletePushTarget( + targetId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/account/update-push-target.md b/examples/1.9.x/server-swift/examples/account/update-push-target.md new file mode 100644 index 000000000..976023291 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/account/update-push-target.md @@ -0,0 +1,16 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setSession("") // The user session to authenticate with + +let account = Account(client) + +let target = try await account.updatePushTarget( + targetId: "", + identifier: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/advisor/delete-report.md b/examples/1.9.x/server-swift/examples/advisor/delete-report.md new file mode 100644 index 000000000..693968935 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/advisor/delete-report.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 advisor = Advisor(client) + +let result = try await advisor.deleteReport( + reportId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/advisor/get-insight.md b/examples/1.9.x/server-swift/examples/advisor/get-insight.md new file mode 100644 index 000000000..648d5036b --- /dev/null +++ b/examples/1.9.x/server-swift/examples/advisor/get-insight.md @@ -0,0 +1,16 @@ +```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 advisor = Advisor(client) + +let insight = try await advisor.getInsight( + reportId: "", + insightId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/advisor/get-report.md b/examples/1.9.x/server-swift/examples/advisor/get-report.md new file mode 100644 index 000000000..14682be0b --- /dev/null +++ b/examples/1.9.x/server-swift/examples/advisor/get-report.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 advisor = Advisor(client) + +let report = try await advisor.getReport( + reportId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/advisor/list-insights.md b/examples/1.9.x/server-swift/examples/advisor/list-insights.md new file mode 100644 index 000000000..73ccd6b19 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/advisor/list-insights.md @@ -0,0 +1,17 @@ +```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 advisor = Advisor(client) + +let insightList = try await advisor.listInsights( + reportId: "", + queries: [], // optional + total: false // optional +) + +``` diff --git a/examples/1.9.x/server-swift/examples/advisor/list-reports.md b/examples/1.9.x/server-swift/examples/advisor/list-reports.md new file mode 100644 index 000000000..a59bd944a --- /dev/null +++ b/examples/1.9.x/server-swift/examples/advisor/list-reports.md @@ -0,0 +1,16 @@ +```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 advisor = Advisor(client) + +let reportList = try await advisor.listReports( + queries: [], // optional + total: false // optional +) + +``` 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 d329e9527..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 @@ -22,7 +22,7 @@ let bytes = try await avatars.getScreenshot( userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // optional fullpage: true, // optional locale: "en-US", // optional - timezone: .americaNewYork, // optional + timezone: .africaAbidjan, // optional latitude: 37.7749, // optional longitude: -122.4194, // optional accuracy: 100, // optional diff --git a/examples/1.9.x/server-swift/examples/presences/delete.md b/examples/1.9.x/server-swift/examples/presences/delete.md new file mode 100644 index 000000000..80d57c887 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/presences/delete.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 presences = Presences(client) + +let result = try await presences.delete( + presenceId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/presences/get.md b/examples/1.9.x/server-swift/examples/presences/get.md new file mode 100644 index 000000000..802d74f62 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/presences/get.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 presences = Presences(client) + +let presence = try await presences.get( + presenceId: "" +) + +``` diff --git a/examples/1.9.x/server-swift/examples/presences/list.md b/examples/1.9.x/server-swift/examples/presences/list.md new file mode 100644 index 000000000..1123abd00 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/presences/list.md @@ -0,0 +1,17 @@ +```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 presences = Presences(client) + +let presenceList = try await presences.list( + queries: [], // optional + total: false, // optional + ttl: 0 // optional +) + +``` diff --git a/examples/1.9.x/server-swift/examples/presences/update-presence.md b/examples/1.9.x/server-swift/examples/presences/update-presence.md new file mode 100644 index 000000000..3ac1e7e25 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/presences/update-presence.md @@ -0,0 +1,21 @@ +```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 presences = Presences(client) + +let presence = try await presences.updatePresence( + presenceId: "", + userId: "", + status: "", // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [:], // optional + permissions: [Permission.read(Role.any())], // optional + purge: false // optional +) + +``` diff --git a/examples/1.9.x/server-swift/examples/presences/upsert.md b/examples/1.9.x/server-swift/examples/presences/upsert.md new file mode 100644 index 000000000..edba3b102 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/presences/upsert.md @@ -0,0 +1,20 @@ +```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 presences = Presences(client) + +let presence = try await presences.upsert( + presenceId: "", + userId: "", + status: "", + permissions: [Permission.read(Role.any())], // optional + expiresAt: "2020-10-15T06:38:00.000+00:00", // optional + metadata: [:] // optional +) + +``` diff --git a/examples/1.9.x/server-swift/examples/project/get.md b/examples/1.9.x/server-swift/examples/project/get.md new file mode 100644 index 000000000..6302f484a --- /dev/null +++ b/examples/1.9.x/server-swift/examples/project/get.md @@ -0,0 +1,13 @@ +```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.get() + +``` diff --git a/examples/1.9.x/server-swift/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-swift/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..712daf818 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/project/update-deny-aliased-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.updateDenyAliasedEmailPolicy( + enabled: false +) + +``` 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 new file mode 100644 index 000000000..ad7b5209e --- /dev/null +++ b/examples/1.9.x/server-swift/examples/usage/list-events.md @@ -0,0 +1,16 @@ +```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 usage = Usage(client) + +let usageEventList = try await usage.listEvents( + queries: [], // optional + total: false // 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 new file mode 100644 index 000000000..f68c1e5d1 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/usage/list-gauges.md @@ -0,0 +1,16 @@ +```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 usage = Usage(client) + +let usageGaugeList = try await usage.listGauges( + queries: [], // optional + total: false // optional +) + +``` diff --git a/examples/1.9.x/server-web/examples/account/create-anonymous-session.md b/examples/1.9.x/server-web/examples/account/create-anonymous-session.md new file mode 100644 index 000000000..d7df4a9fd --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-anonymous-session.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createAnonymousSession(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-email-password-session.md b/examples/1.9.x/server-web/examples/account/create-email-password-session.md new file mode 100644 index 000000000..b825eab9a --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-email-password-session.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createEmailPasswordSession({ + email: 'email@example.com', + password: 'password' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-email-token.md b/examples/1.9.x/server-web/examples/account/create-email-token.md new file mode 100644 index 000000000..d220d8a0c --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-email-token.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createEmailToken({ + userId: '', + email: 'email@example.com', + phrase: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-email-verification.md b/examples/1.9.x/server-web/examples/account/create-email-verification.md new file mode 100644 index 000000000..b656e0277 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-email-verification.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createEmailVerification({ + url: 'https://example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-jwt.md b/examples/1.9.x/server-web/examples/account/create-jwt.md new file mode 100644 index 000000000..4d75ed924 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-jwt.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createJWT({ + duration: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-magic-url-token.md b/examples/1.9.x/server-web/examples/account/create-magic-url-token.md new file mode 100644 index 000000000..5b7a3f78a --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-magic-url-token.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createMagicURLToken({ + userId: '', + email: 'email@example.com', + url: 'https://example.com', // optional + phrase: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-mfa-authenticator.md b/examples/1.9.x/server-web/examples/account/create-mfa-authenticator.md new file mode 100644 index 000000000..ceaf306b7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-mfa-authenticator.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account, AuthenticatorType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createMFAAuthenticator({ + type: AuthenticatorType.Totp +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-mfa-challenge.md b/examples/1.9.x/server-web/examples/account/create-mfa-challenge.md new file mode 100644 index 000000000..ee23dcc29 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-mfa-challenge.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account, AuthenticationFactor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createMFAChallenge({ + factor: AuthenticationFactor.Email +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/account/create-mfa-recovery-codes.md new file mode 100644 index 000000000..e2cf31464 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-mfa-recovery-codes.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createMFARecoveryCodes(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-o-auth-2-session.md b/examples/1.9.x/server-web/examples/account/create-o-auth-2-session.md new file mode 100644 index 000000000..f3250887a --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-o-auth-2-session.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Account, OAuthProvider } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +account.createOAuth2Session({ + provider: OAuthProvider.Amazon, + success: 'https://example.com', // optional + failure: 'https://example.com', // optional + scopes: [] // optional +}); + +``` diff --git a/examples/1.9.x/server-web/examples/account/create-o-auth-2-token.md b/examples/1.9.x/server-web/examples/account/create-o-auth-2-token.md new file mode 100644 index 000000000..9c17d4b7e --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-o-auth-2-token.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Account, OAuthProvider } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +account.createOAuth2Token({ + provider: OAuthProvider.Amazon, + success: 'https://example.com', // optional + failure: 'https://example.com', // optional + scopes: [] // optional +}); + +``` diff --git a/examples/1.9.x/server-web/examples/account/create-phone-token.md b/examples/1.9.x/server-web/examples/account/create-phone-token.md new file mode 100644 index 000000000..284b80784 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-phone-token.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createPhoneToken({ + userId: '', + phone: '+12065550100' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-phone-verification.md b/examples/1.9.x/server-web/examples/account/create-phone-verification.md new file mode 100644 index 000000000..8b862715f --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-phone-verification.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createPhoneVerification(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-push-target.md b/examples/1.9.x/server-web/examples/account/create-push-target.md new file mode 100644 index 000000000..a4f8c5bea --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-push-target.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createPushTarget({ + targetId: '', + identifier: '', + providerId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-recovery.md b/examples/1.9.x/server-web/examples/account/create-recovery.md new file mode 100644 index 000000000..6448093f9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-recovery.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createRecovery({ + email: 'email@example.com', + url: 'https://example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-session.md b/examples/1.9.x/server-web/examples/account/create-session.md new file mode 100644 index 000000000..5d7d8be66 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-session.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createSession({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create-verification.md b/examples/1.9.x/server-web/examples/account/create-verification.md new file mode 100644 index 000000000..8e983ef03 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create-verification.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.createVerification({ + url: 'https://example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/create.md b/examples/1.9.x/server-web/examples/account/create.md new file mode 100644 index 000000000..55d2b261f --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/create.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.create({ + userId: '', + email: 'email@example.com', + password: '', + name: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/delete-identity.md b/examples/1.9.x/server-web/examples/account/delete-identity.md new file mode 100644 index 000000000..6c2ae43f7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/delete-identity.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.deleteIdentity({ + identityId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/delete-mfa-authenticator.md b/examples/1.9.x/server-web/examples/account/delete-mfa-authenticator.md new file mode 100644 index 000000000..5d51b800a --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/delete-mfa-authenticator.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account, AuthenticatorType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.deleteMFAAuthenticator({ + type: AuthenticatorType.Totp +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/delete-push-target.md b/examples/1.9.x/server-web/examples/account/delete-push-target.md new file mode 100644 index 000000000..df0d36dc3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/delete-push-target.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.deletePushTarget({ + targetId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/delete-session.md b/examples/1.9.x/server-web/examples/account/delete-session.md new file mode 100644 index 000000000..c42412bd3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/delete-session.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.deleteSession({ + sessionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/delete-sessions.md b/examples/1.9.x/server-web/examples/account/delete-sessions.md new file mode 100644 index 000000000..17e829fa4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/delete-sessions.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.deleteSessions(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/get-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/account/get-mfa-recovery-codes.md new file mode 100644 index 000000000..324dda731 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/get-mfa-recovery-codes.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.getMFARecoveryCodes(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/get-prefs.md b/examples/1.9.x/server-web/examples/account/get-prefs.md new file mode 100644 index 000000000..216f3337b --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/get-prefs.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.getPrefs(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/get-session.md b/examples/1.9.x/server-web/examples/account/get-session.md new file mode 100644 index 000000000..5992c1004 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/get-session.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.getSession({ + sessionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/get.md b/examples/1.9.x/server-web/examples/account/get.md new file mode 100644 index 000000000..89021c15e --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/get.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.get(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/list-identities.md b/examples/1.9.x/server-web/examples/account/list-identities.md new file mode 100644 index 000000000..87b664aed --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/list-identities.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.listIdentities({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/list-logs.md b/examples/1.9.x/server-web/examples/account/list-logs.md new file mode 100644 index 000000000..c2097ec11 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/list-logs.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.listLogs({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/list-mfa-factors.md b/examples/1.9.x/server-web/examples/account/list-mfa-factors.md new file mode 100644 index 000000000..be51706f8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/list-mfa-factors.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.listMFAFactors(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/list-sessions.md b/examples/1.9.x/server-web/examples/account/list-sessions.md new file mode 100644 index 000000000..a7eab3f04 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/list-sessions.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.listSessions(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-email-verification.md b/examples/1.9.x/server-web/examples/account/update-email-verification.md new file mode 100644 index 000000000..33cbbeb69 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-email-verification.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateEmailVerification({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-email.md b/examples/1.9.x/server-web/examples/account/update-email.md new file mode 100644 index 000000000..d328a9397 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-email.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateEmail({ + email: 'email@example.com', + password: 'password' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-magic-url-session.md b/examples/1.9.x/server-web/examples/account/update-magic-url-session.md new file mode 100644 index 000000000..faba93449 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-magic-url-session.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateMagicURLSession({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-mfa-authenticator.md b/examples/1.9.x/server-web/examples/account/update-mfa-authenticator.md new file mode 100644 index 000000000..a71308fc5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-mfa-authenticator.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account, AuthenticatorType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateMFAAuthenticator({ + type: AuthenticatorType.Totp, + otp: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-mfa-challenge.md b/examples/1.9.x/server-web/examples/account/update-mfa-challenge.md new file mode 100644 index 000000000..a44a99546 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-mfa-challenge.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateMFAChallenge({ + challengeId: '', + otp: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/account/update-mfa-recovery-codes.md new file mode 100644 index 000000000..dd88f6928 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-mfa-recovery-codes.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateMFARecoveryCodes(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-mfa.md b/examples/1.9.x/server-web/examples/account/update-mfa.md new file mode 100644 index 000000000..cea7b2aef --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-mfa.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateMFA({ + mfa: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-name.md b/examples/1.9.x/server-web/examples/account/update-name.md new file mode 100644 index 000000000..305118df9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-name.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateName({ + name: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-password.md b/examples/1.9.x/server-web/examples/account/update-password.md new file mode 100644 index 000000000..abb7d066e --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-password.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePassword({ + password: '', + oldPassword: 'password' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-phone-session.md b/examples/1.9.x/server-web/examples/account/update-phone-session.md new file mode 100644 index 000000000..704b934e0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-phone-session.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePhoneSession({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-phone-verification.md b/examples/1.9.x/server-web/examples/account/update-phone-verification.md new file mode 100644 index 000000000..8125dd7a5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-phone-verification.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePhoneVerification({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-phone.md b/examples/1.9.x/server-web/examples/account/update-phone.md new file mode 100644 index 000000000..e46a27aa6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-phone.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePhone({ + phone: '+12065550100', + password: 'password' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-prefs.md b/examples/1.9.x/server-web/examples/account/update-prefs.md new file mode 100644 index 000000000..0ccc64ba1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-prefs.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePrefs({ + prefs: { + "language": "en", + "timezone": "UTC", + "darkTheme": true + } +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-push-target.md b/examples/1.9.x/server-web/examples/account/update-push-target.md new file mode 100644 index 000000000..1e3be9699 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-push-target.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updatePushTarget({ + targetId: '', + identifier: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-recovery.md b/examples/1.9.x/server-web/examples/account/update-recovery.md new file mode 100644 index 000000000..5eec49232 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-recovery.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateRecovery({ + userId: '', + secret: '', + password: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-session.md b/examples/1.9.x/server-web/examples/account/update-session.md new file mode 100644 index 000000000..3324081c3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-session.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateSession({ + sessionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-status.md b/examples/1.9.x/server-web/examples/account/update-status.md new file mode 100644 index 000000000..c8aab7ab0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-status.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateStatus(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/account/update-verification.md b/examples/1.9.x/server-web/examples/account/update-verification.md new file mode 100644 index 000000000..3364d117f --- /dev/null +++ b/examples/1.9.x/server-web/examples/account/update-verification.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Account } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const account = new Account(client); + +const result = await account.updateVerification({ + userId: '', + secret: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/activities/get-event.md b/examples/1.9.x/server-web/examples/activities/get-event.md new file mode 100644 index 000000000..f6c2fb281 --- /dev/null +++ b/examples/1.9.x/server-web/examples/activities/get-event.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Activities } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const activities = new Activities(client); + +const result = await activities.getEvent({ + eventId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/activities/list-events.md b/examples/1.9.x/server-web/examples/activities/list-events.md new file mode 100644 index 000000000..0ca7f5fe7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/activities/list-events.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Activities } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const activities = new Activities(client); + +const result = await activities.listEvents({ + queries: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/advisor/delete-report.md b/examples/1.9.x/server-web/examples/advisor/delete-report.md new file mode 100644 index 000000000..26d6f62ca --- /dev/null +++ b/examples/1.9.x/server-web/examples/advisor/delete-report.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Advisor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const advisor = new Advisor(client); + +const result = await advisor.deleteReport({ + reportId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/advisor/get-insight.md b/examples/1.9.x/server-web/examples/advisor/get-insight.md new file mode 100644 index 000000000..08cd87ef5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/advisor/get-insight.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Advisor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const advisor = new Advisor(client); + +const result = await advisor.getInsight({ + reportId: '', + insightId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/advisor/get-report.md b/examples/1.9.x/server-web/examples/advisor/get-report.md new file mode 100644 index 000000000..b4986be28 --- /dev/null +++ b/examples/1.9.x/server-web/examples/advisor/get-report.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Advisor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const advisor = new Advisor(client); + +const result = await advisor.getReport({ + reportId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/advisor/list-insights.md b/examples/1.9.x/server-web/examples/advisor/list-insights.md new file mode 100644 index 000000000..4b95b284b --- /dev/null +++ b/examples/1.9.x/server-web/examples/advisor/list-insights.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Advisor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const advisor = new Advisor(client); + +const result = await advisor.listInsights({ + reportId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/advisor/list-reports.md b/examples/1.9.x/server-web/examples/advisor/list-reports.md new file mode 100644 index 000000000..d01fdd091 --- /dev/null +++ b/examples/1.9.x/server-web/examples/advisor/list-reports.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Advisor } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const advisor = new Advisor(client); + +const result = await advisor.listReports({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-browser.md b/examples/1.9.x/server-web/examples/avatars/get-browser.md new file mode 100644 index 000000000..69da700fd --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-browser.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Avatars, Browser } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getBrowser({ + code: Browser.AvantBrowser, + width: 0, // optional + height: 0, // optional + quality: -1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-credit-card.md b/examples/1.9.x/server-web/examples/avatars/get-credit-card.md new file mode 100644 index 000000000..f0d07fae1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-credit-card.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Avatars, CreditCard } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getCreditCard({ + code: CreditCard.AmericanExpress, + width: 0, // optional + height: 0, // optional + quality: -1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-favicon.md b/examples/1.9.x/server-web/examples/avatars/get-favicon.md new file mode 100644 index 000000000..8f9831e74 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-favicon.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Avatars } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getFavicon({ + url: 'https://example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-flag.md b/examples/1.9.x/server-web/examples/avatars/get-flag.md new file mode 100644 index 000000000..2460f36c0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-flag.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Avatars, Flag } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getFlag({ + code: Flag.Afghanistan, + width: 0, // optional + height: 0, // optional + quality: -1 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-image.md b/examples/1.9.x/server-web/examples/avatars/get-image.md new file mode 100644 index 000000000..d0fee491d --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-image.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Avatars } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getImage({ + url: 'https://example.com', + width: 0, // optional + height: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-initials.md b/examples/1.9.x/server-web/examples/avatars/get-initials.md new file mode 100644 index 000000000..c038261a5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-initials.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Avatars } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getInitials({ + name: '', // optional + width: 0, // optional + height: 0, // optional + background: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-qr.md b/examples/1.9.x/server-web/examples/avatars/get-qr.md new file mode 100644 index 000000000..e7ad12c16 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-qr.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Avatars } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getQR({ + text: '', + size: 1, // optional + margin: 0, // optional + download: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/avatars/get-screenshot.md b/examples/1.9.x/server-web/examples/avatars/get-screenshot.md new file mode 100644 index 000000000..5ad3c9959 --- /dev/null +++ b/examples/1.9.x/server-web/examples/avatars/get-screenshot.md @@ -0,0 +1,38 @@ +```javascript +import { Client, Avatars, Theme, Timezone, BrowserPermission, ImageFormat } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const avatars = new Avatars(client); + +const result = avatars.getScreenshot({ + url: 'https://example.com', + headers: { + "Authorization": "Bearer token123", + "X-Custom-Header": "value" + }, // optional + viewportWidth: 1920, // optional + viewportHeight: 1080, // optional + scale: 2, // optional + theme: Theme.Dark, // optional + userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', // optional + fullpage: true, // optional + locale: 'en-US', // optional + timezone: Timezone.AfricaAbidjan, // optional + latitude: 37.7749, // optional + longitude: -122.4194, // optional + accuracy: 100, // optional + touch: true, // optional + permissions: [BrowserPermission.Geolocation, BrowserPermission.Notifications], // optional + sleep: 3, // optional + width: 800, // optional + height: 600, // optional + quality: 85, // optional + output: ImageFormat.Jpeg // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/create-archive.md b/examples/1.9.x/server-web/examples/backups/create-archive.md new file mode 100644 index 000000000..cd437957f --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/create-archive.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Backups, BackupServices } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.createArchive({ + services: [BackupServices.Databases], + resourceId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/create-policy.md b/examples/1.9.x/server-web/examples/backups/create-policy.md new file mode 100644 index 000000000..0c4d48c9f --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/create-policy.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Backups, BackupServices } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.createPolicy({ + policyId: '', + services: [BackupServices.Databases], + retention: 1, + schedule: '', + name: '', // optional + resourceId: '', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/create-restoration.md b/examples/1.9.x/server-web/examples/backups/create-restoration.md new file mode 100644 index 000000000..9e4f05f8b --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/create-restoration.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Backups, BackupServices } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.createRestoration({ + archiveId: '', + services: [BackupServices.Databases], + newResourceId: '', // optional + newResourceName: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/delete-archive.md b/examples/1.9.x/server-web/examples/backups/delete-archive.md new file mode 100644 index 000000000..6bcd50e56 --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/delete-archive.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.deleteArchive({ + archiveId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/delete-policy.md b/examples/1.9.x/server-web/examples/backups/delete-policy.md new file mode 100644 index 000000000..f94cecc5e --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/delete-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.deletePolicy({ + policyId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/get-archive.md b/examples/1.9.x/server-web/examples/backups/get-archive.md new file mode 100644 index 000000000..13a6bf8bc --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/get-archive.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.getArchive({ + archiveId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/get-policy.md b/examples/1.9.x/server-web/examples/backups/get-policy.md new file mode 100644 index 000000000..33f8e829f --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/get-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.getPolicy({ + policyId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/get-restoration.md b/examples/1.9.x/server-web/examples/backups/get-restoration.md new file mode 100644 index 000000000..9638a2220 --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/get-restoration.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.getRestoration({ + restorationId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/list-archives.md b/examples/1.9.x/server-web/examples/backups/list-archives.md new file mode 100644 index 000000000..42bd84187 --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/list-archives.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.listArchives({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/list-policies.md b/examples/1.9.x/server-web/examples/backups/list-policies.md new file mode 100644 index 000000000..cb4fb20af --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/list-policies.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.listPolicies({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/list-restorations.md b/examples/1.9.x/server-web/examples/backups/list-restorations.md new file mode 100644 index 000000000..9b10280d1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/list-restorations.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.listRestorations({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/backups/update-policy.md b/examples/1.9.x/server-web/examples/backups/update-policy.md new file mode 100644 index 000000000..c8dfb9c0c --- /dev/null +++ b/examples/1.9.x/server-web/examples/backups/update-policy.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Backups } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const backups = new Backups(client); + +const result = await backups.updatePolicy({ + policyId: '', + name: '', // optional + retention: 1, // optional + schedule: '', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-big-int-attribute.md b/examples/1.9.x/server-web/examples/databases/create-big-int-attribute.md new file mode 100644 index 000000000..5211fbb7e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-big-int-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createBigIntAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-boolean-attribute.md b/examples/1.9.x/server-web/examples/databases/create-boolean-attribute.md new file mode 100644 index 000000000..22db05b07 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-boolean-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createBooleanAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: false, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-collection.md b/examples/1.9.x/server-web/examples/databases/create-collection.md new file mode 100644 index 000000000..b10f661aa --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-collection.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createCollection({ + databaseId: '', + collectionId: '', + name: '', + permissions: [Permission.read(Role.any())], // optional + documentSecurity: false, // optional + enabled: false, // optional + attributes: [], // optional + indexes: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-datetime-attribute.md b/examples/1.9.x/server-web/examples/databases/create-datetime-attribute.md new file mode 100644 index 000000000..07da44651 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-datetime-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createDatetimeAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '2020-10-15T06:38:00.000+00:00', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-document.md b/examples/1.9.x/server-web/examples/databases/create-document.md new file mode 100644 index 000000000..d7f5d94ae --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-document.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Databases, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.createDocument({ + databaseId: '', + collectionId: '', + documentId: '', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 30, + "isAdmin": false + }, + permissions: [Permission.read(Role.any())], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-documents.md b/examples/1.9.x/server-web/examples/databases/create-documents.md new file mode 100644 index 000000000..f25f90651 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-documents.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createDocuments({ + databaseId: '', + collectionId: '', + documents: [], + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-email-attribute.md b/examples/1.9.x/server-web/examples/databases/create-email-attribute.md new file mode 100644 index 000000000..7e131f879 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-email-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createEmailAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: 'email@example.com', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-enum-attribute.md b/examples/1.9.x/server-web/examples/databases/create-enum-attribute.md new file mode 100644 index 000000000..9a8c23edc --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-enum-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createEnumAttribute({ + databaseId: '', + collectionId: '', + key: '', + elements: [], + required: false, + xdefault: '', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-float-attribute.md b/examples/1.9.x/server-web/examples/databases/create-float-attribute.md new file mode 100644 index 000000000..8b2a53720 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-float-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createFloatAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-index.md b/examples/1.9.x/server-web/examples/databases/create-index.md new file mode 100644 index 000000000..dfba1599d --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-index.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases, DatabasesIndexType, OrderBy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createIndex({ + databaseId: '', + collectionId: '', + key: '', + type: DatabasesIndexType.Key, + attributes: [], + orders: [OrderBy.Asc], // optional + lengths: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-integer-attribute.md b/examples/1.9.x/server-web/examples/databases/create-integer-attribute.md new file mode 100644 index 000000000..fbc15919e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-integer-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createIntegerAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-ip-attribute.md b/examples/1.9.x/server-web/examples/databases/create-ip-attribute.md new file mode 100644 index 000000000..7a368a9dc --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-ip-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createIpAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-line-attribute.md b/examples/1.9.x/server-web/examples/databases/create-line-attribute.md new file mode 100644 index 000000000..4dbb91db4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-line-attribute.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createLineAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [[1, 2], [3, 4], [5, 6]] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-longtext-attribute.md b/examples/1.9.x/server-web/examples/databases/create-longtext-attribute.md new file mode 100644 index 000000000..4bbb6f480 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-longtext-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createLongtextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-mediumtext-attribute.md b/examples/1.9.x/server-web/examples/databases/create-mediumtext-attribute.md new file mode 100644 index 000000000..e8e72cece --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-mediumtext-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createMediumtextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-operations.md b/examples/1.9.x/server-web/examples/databases/create-operations.md new file mode 100644 index 000000000..6aba1cf74 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-operations.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createOperations({ + transactionId: '', + operations: [ + { + "action": "create", + "databaseId": "", + "collectionId": "", + "documentId": "", + "data": { + "name": "Walter O'Brien" + } + } + ] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-point-attribute.md b/examples/1.9.x/server-web/examples/databases/create-point-attribute.md new file mode 100644 index 000000000..ae0010175 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-point-attribute.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createPointAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [1, 2] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-polygon-attribute.md b/examples/1.9.x/server-web/examples/databases/create-polygon-attribute.md new file mode 100644 index 000000000..cc4ca0b0e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-polygon-attribute.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createPolygonAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-relationship-attribute.md b/examples/1.9.x/server-web/examples/databases/create-relationship-attribute.md new file mode 100644 index 000000000..638d097c2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-relationship-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases, RelationshipType, RelationMutate } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createRelationshipAttribute({ + databaseId: '', + collectionId: '', + relatedCollectionId: '', + type: RelationshipType.OneToOne, + twoWay: false, // optional + key: '', // optional + twoWayKey: '', // optional + onDelete: RelationMutate.Cascade // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-string-attribute.md b/examples/1.9.x/server-web/examples/databases/create-string-attribute.md new file mode 100644 index 000000000..f542d7189 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-string-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createStringAttribute({ + databaseId: '', + collectionId: '', + key: '', + size: 1, + required: false, + xdefault: '', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-text-attribute.md b/examples/1.9.x/server-web/examples/databases/create-text-attribute.md new file mode 100644 index 000000000..66275d523 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-text-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createTextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-transaction.md b/examples/1.9.x/server-web/examples/databases/create-transaction.md new file mode 100644 index 000000000..4c5265cbc --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createTransaction({ + ttl: 60 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-url-attribute.md b/examples/1.9.x/server-web/examples/databases/create-url-attribute.md new file mode 100644 index 000000000..db970a9e2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-url-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createUrlAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: 'https://example.com', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create-varchar-attribute.md b/examples/1.9.x/server-web/examples/databases/create-varchar-attribute.md new file mode 100644 index 000000000..fede13c83 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create-varchar-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.createVarcharAttribute({ + databaseId: '', + collectionId: '', + key: '', + size: 1, + required: false, + xdefault: '', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/create.md b/examples/1.9.x/server-web/examples/databases/create.md new file mode 100644 index 000000000..996365e27 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/create.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.create({ + databaseId: '', + name: '', + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/decrement-document-attribute.md b/examples/1.9.x/server-web/examples/databases/decrement-document-attribute.md new file mode 100644 index 000000000..739859a02 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/decrement-document-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.decrementDocumentAttribute({ + databaseId: '', + collectionId: '', + documentId: '', + attribute: '', + value: null, // optional + min: null, // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-attribute.md b/examples/1.9.x/server-web/examples/databases/delete-attribute.md new file mode 100644 index 000000000..eb426f887 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-attribute.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.deleteAttribute({ + databaseId: '', + collectionId: '', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-collection.md b/examples/1.9.x/server-web/examples/databases/delete-collection.md new file mode 100644 index 000000000..6a77b190b --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-collection.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.deleteCollection({ + databaseId: '', + collectionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-document.md b/examples/1.9.x/server-web/examples/databases/delete-document.md new file mode 100644 index 000000000..a7c963ece --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-document.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.deleteDocument({ + databaseId: '', + collectionId: '', + documentId: '', + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-documents.md b/examples/1.9.x/server-web/examples/databases/delete-documents.md new file mode 100644 index 000000000..1d164615e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-documents.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.deleteDocuments({ + databaseId: '', + collectionId: '', + queries: [], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-index.md b/examples/1.9.x/server-web/examples/databases/delete-index.md new file mode 100644 index 000000000..cd181aba8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-index.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.deleteIndex({ + databaseId: '', + collectionId: '', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete-transaction.md b/examples/1.9.x/server-web/examples/databases/delete-transaction.md new file mode 100644 index 000000000..cdbccd4bd --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.deleteTransaction({ + transactionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/delete.md b/examples/1.9.x/server-web/examples/databases/delete.md new file mode 100644 index 000000000..00477de23 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.delete({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get-attribute.md b/examples/1.9.x/server-web/examples/databases/get-attribute.md new file mode 100644 index 000000000..6d3620b1a --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get-attribute.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.getAttribute({ + databaseId: '', + collectionId: '', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get-collection.md b/examples/1.9.x/server-web/examples/databases/get-collection.md new file mode 100644 index 000000000..537e15b5e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get-collection.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.getCollection({ + databaseId: '', + collectionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get-document.md b/examples/1.9.x/server-web/examples/databases/get-document.md new file mode 100644 index 000000000..5efbd4c78 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get-document.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.getDocument({ + databaseId: '', + collectionId: '', + documentId: '', + queries: [], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get-index.md b/examples/1.9.x/server-web/examples/databases/get-index.md new file mode 100644 index 000000000..3dbd33bb1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get-index.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.getIndex({ + databaseId: '', + collectionId: '', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get-transaction.md b/examples/1.9.x/server-web/examples/databases/get-transaction.md new file mode 100644 index 000000000..766821f13 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.getTransaction({ + transactionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/get.md b/examples/1.9.x/server-web/examples/databases/get.md new file mode 100644 index 000000000..c15844bf9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.get({ + databaseId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/increment-document-attribute.md b/examples/1.9.x/server-web/examples/databases/increment-document-attribute.md new file mode 100644 index 000000000..b83798972 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/increment-document-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.incrementDocumentAttribute({ + databaseId: '', + collectionId: '', + documentId: '', + attribute: '', + value: null, // optional + max: null, // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list-attributes.md b/examples/1.9.x/server-web/examples/databases/list-attributes.md new file mode 100644 index 000000000..a1990ca1e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list-attributes.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.listAttributes({ + databaseId: '', + collectionId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list-collections.md b/examples/1.9.x/server-web/examples/databases/list-collections.md new file mode 100644 index 000000000..d1d68782e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list-collections.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.listCollections({ + databaseId: '', + queries: [], // optional + search: '', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list-documents.md b/examples/1.9.x/server-web/examples/databases/list-documents.md new file mode 100644 index 000000000..947814e12 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list-documents.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.listDocuments({ + databaseId: '', + collectionId: '', + queries: [], // optional + transactionId: '', // optional + total: false, // optional + ttl: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list-indexes.md b/examples/1.9.x/server-web/examples/databases/list-indexes.md new file mode 100644 index 000000000..3dfb00b35 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list-indexes.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.listIndexes({ + databaseId: '', + collectionId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list-transactions.md b/examples/1.9.x/server-web/examples/databases/list-transactions.md new file mode 100644 index 000000000..a8742d632 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list-transactions.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.listTransactions({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/list.md b/examples/1.9.x/server-web/examples/databases/list.md new file mode 100644 index 000000000..b6880df9b --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.list({ + queries: [], // optional + search: '', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-big-int-attribute.md b/examples/1.9.x/server-web/examples/databases/update-big-int-attribute.md new file mode 100644 index 000000000..f2963c744 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-big-int-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateBigIntAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-boolean-attribute.md b/examples/1.9.x/server-web/examples/databases/update-boolean-attribute.md new file mode 100644 index 000000000..6f778dc7f --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-boolean-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateBooleanAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: false, + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-collection.md b/examples/1.9.x/server-web/examples/databases/update-collection.md new file mode 100644 index 000000000..66cb382f3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-collection.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateCollection({ + databaseId: '', + collectionId: '', + name: '', // optional + permissions: [Permission.read(Role.any())], // optional + documentSecurity: false, // optional + enabled: false, // optional + purge: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-datetime-attribute.md b/examples/1.9.x/server-web/examples/databases/update-datetime-attribute.md new file mode 100644 index 000000000..19a99e27d --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-datetime-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateDatetimeAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '2020-10-15T06:38:00.000+00:00', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-document.md b/examples/1.9.x/server-web/examples/databases/update-document.md new file mode 100644 index 000000000..8421a7cdc --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-document.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Databases, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.updateDocument({ + databaseId: '', + collectionId: '', + documentId: '', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 33, + "isAdmin": false + }, // optional + permissions: [Permission.read(Role.any())], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-documents.md b/examples/1.9.x/server-web/examples/databases/update-documents.md new file mode 100644 index 000000000..ec49e33e9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-documents.md @@ -0,0 +1,26 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateDocuments({ + databaseId: '', + collectionId: '', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 33, + "isAdmin": false + }, // optional + queries: [], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-email-attribute.md b/examples/1.9.x/server-web/examples/databases/update-email-attribute.md new file mode 100644 index 000000000..e93167bb7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-email-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateEmailAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: 'email@example.com', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-enum-attribute.md b/examples/1.9.x/server-web/examples/databases/update-enum-attribute.md new file mode 100644 index 000000000..4c8b47cbe --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-enum-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateEnumAttribute({ + databaseId: '', + collectionId: '', + key: '', + elements: [], + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-float-attribute.md b/examples/1.9.x/server-web/examples/databases/update-float-attribute.md new file mode 100644 index 000000000..02965892e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-float-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateFloatAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-integer-attribute.md b/examples/1.9.x/server-web/examples/databases/update-integer-attribute.md new file mode 100644 index 000000000..93e125095 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-integer-attribute.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateIntegerAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-ip-attribute.md b/examples/1.9.x/server-web/examples/databases/update-ip-attribute.md new file mode 100644 index 000000000..7a6c92988 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-ip-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateIpAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-line-attribute.md b/examples/1.9.x/server-web/examples/databases/update-line-attribute.md new file mode 100644 index 000000000..2c0e8b00d --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-line-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateLineAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [[1, 2], [3, 4], [5, 6]], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-longtext-attribute.md b/examples/1.9.x/server-web/examples/databases/update-longtext-attribute.md new file mode 100644 index 000000000..af9fe7477 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-longtext-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateLongtextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-mediumtext-attribute.md b/examples/1.9.x/server-web/examples/databases/update-mediumtext-attribute.md new file mode 100644 index 000000000..0203e6cc6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-mediumtext-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateMediumtextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-point-attribute.md b/examples/1.9.x/server-web/examples/databases/update-point-attribute.md new file mode 100644 index 000000000..f53faa5c7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-point-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updatePointAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [1, 2], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-polygon-attribute.md b/examples/1.9.x/server-web/examples/databases/update-polygon-attribute.md new file mode 100644 index 000000000..bf3b4acc9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-polygon-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updatePolygonAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-relationship-attribute.md b/examples/1.9.x/server-web/examples/databases/update-relationship-attribute.md new file mode 100644 index 000000000..05951b5a2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-relationship-attribute.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Databases, RelationMutate } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateRelationshipAttribute({ + databaseId: '', + collectionId: '', + key: '', + onDelete: RelationMutate.Cascade, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-string-attribute.md b/examples/1.9.x/server-web/examples/databases/update-string-attribute.md new file mode 100644 index 000000000..f4495fcbd --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-string-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateStringAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + size: 1, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-text-attribute.md b/examples/1.9.x/server-web/examples/databases/update-text-attribute.md new file mode 100644 index 000000000..4a5dee9c3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-text-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateTextAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-transaction.md b/examples/1.9.x/server-web/examples/databases/update-transaction.md new file mode 100644 index 000000000..1e068b9c3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-transaction.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateTransaction({ + transactionId: '', + commit: false, // optional + rollback: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-url-attribute.md b/examples/1.9.x/server-web/examples/databases/update-url-attribute.md new file mode 100644 index 000000000..efc001e86 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-url-attribute.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateUrlAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: 'https://example.com', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update-varchar-attribute.md b/examples/1.9.x/server-web/examples/databases/update-varchar-attribute.md new file mode 100644 index 000000000..a72de3a65 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update-varchar-attribute.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.updateVarcharAttribute({ + databaseId: '', + collectionId: '', + key: '', + required: false, + xdefault: '', + size: 1, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/update.md b/examples/1.9.x/server-web/examples/databases/update.md new file mode 100644 index 000000000..a3274f23e --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/update.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.update({ + databaseId: '', + name: '', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/upsert-document.md b/examples/1.9.x/server-web/examples/databases/upsert-document.md new file mode 100644 index 000000000..47e384eb7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/upsert-document.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Databases, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const databases = new Databases(client); + +const result = await databases.upsertDocument({ + databaseId: '', + collectionId: '', + documentId: '', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 30, + "isAdmin": false + }, // optional + permissions: [Permission.read(Role.any())], // optional + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/databases/upsert-documents.md b/examples/1.9.x/server-web/examples/databases/upsert-documents.md new file mode 100644 index 000000000..a21a78237 --- /dev/null +++ b/examples/1.9.x/server-web/examples/databases/upsert-documents.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Databases } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const databases = new Databases(client); + +const result = await databases.upsertDocuments({ + databaseId: '', + collectionId: '', + documents: [], + transactionId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-deployment.md b/examples/1.9.x/server-web/examples/functions/create-deployment.md new file mode 100644 index 000000000..c1e9e899a --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-deployment.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.createDeployment({ + functionId: '', + code: document.getElementById('uploader').files[0], + activate: false, + entrypoint: '', // optional + commands: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-duplicate-deployment.md b/examples/1.9.x/server-web/examples/functions/create-duplicate-deployment.md new file mode 100644 index 000000000..fc0717924 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-duplicate-deployment.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.createDuplicateDeployment({ + functionId: '', + deploymentId: '', + buildId: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-execution.md b/examples/1.9.x/server-web/examples/functions/create-execution.md new file mode 100644 index 000000000..dd1d9c2b6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-execution.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Functions, ExecutionMethod } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const functions = new Functions(client); + +const result = await functions.createExecution({ + functionId: '', + body: '', // optional + async: false, // optional + xpath: '', // optional + method: ExecutionMethod.GET, // optional + headers: {}, // optional + scheduledAt: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-template-deployment.md b/examples/1.9.x/server-web/examples/functions/create-template-deployment.md new file mode 100644 index 000000000..644459b76 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-template-deployment.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Functions, TemplateReferenceType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.createTemplateDeployment({ + functionId: '', + repository: '', + owner: '', + rootDirectory: '', + type: TemplateReferenceType.Commit, + reference: '', + activate: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-variable.md b/examples/1.9.x/server-web/examples/functions/create-variable.md new file mode 100644 index 000000000..2046356e5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-variable.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.createVariable({ + functionId: '', + variableId: '', + key: '', + value: '', + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create-vcs-deployment.md b/examples/1.9.x/server-web/examples/functions/create-vcs-deployment.md new file mode 100644 index 000000000..5ab2bd02b --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create-vcs-deployment.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Functions, VCSReferenceType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.createVcsDeployment({ + functionId: '', + type: VCSReferenceType.Branch, + reference: '', + activate: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/create.md b/examples/1.9.x/server-web/examples/functions/create.md new file mode 100644 index 000000000..914637c0a --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/create.md @@ -0,0 +1,35 @@ +```javascript +import { Client, Functions, Runtime, Scopes } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.create({ + functionId: '', + name: '', + runtime: Runtime.Node145, + execute: ["any"], // optional + events: [], // optional + schedule: '', // optional + timeout: 1, // optional + enabled: false, // optional + logging: false, // optional + entrypoint: '', // optional + commands: '', // optional + scopes: [Scopes.ProjectRead], // optional + installationId: '', // optional + providerRepositoryId: '', // optional + providerBranch: '', // optional + providerSilentMode: false, // optional + providerRootDirectory: '', // optional + buildSpecification: '', // optional + runtimeSpecification: '', // optional + deploymentRetention: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/delete-deployment.md b/examples/1.9.x/server-web/examples/functions/delete-deployment.md new file mode 100644 index 000000000..188ca62d6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/delete-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.deleteDeployment({ + functionId: '', + deploymentId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/delete-execution.md b/examples/1.9.x/server-web/examples/functions/delete-execution.md new file mode 100644 index 000000000..0f175e358 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/delete-execution.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.deleteExecution({ + functionId: '', + executionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/delete-variable.md b/examples/1.9.x/server-web/examples/functions/delete-variable.md new file mode 100644 index 000000000..ac367b34f --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/delete-variable.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.deleteVariable({ + functionId: '', + variableId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/delete.md b/examples/1.9.x/server-web/examples/functions/delete.md new file mode 100644 index 000000000..1fe830492 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.delete({ + functionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/get-deployment-download.md b/examples/1.9.x/server-web/examples/functions/get-deployment-download.md new file mode 100644 index 000000000..3bfcbf6ff --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/get-deployment-download.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Functions, DeploymentDownloadType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = functions.getDeploymentDownload({ + functionId: '', + deploymentId: '', + type: DeploymentDownloadType.Source // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/get-deployment.md b/examples/1.9.x/server-web/examples/functions/get-deployment.md new file mode 100644 index 000000000..c200162e6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/get-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.getDeployment({ + functionId: '', + deploymentId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/get-execution.md b/examples/1.9.x/server-web/examples/functions/get-execution.md new file mode 100644 index 000000000..14839a095 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/get-execution.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const functions = new Functions(client); + +const result = await functions.getExecution({ + functionId: '', + executionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/get-variable.md b/examples/1.9.x/server-web/examples/functions/get-variable.md new file mode 100644 index 000000000..2e78c6a54 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/get-variable.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.getVariable({ + functionId: '', + variableId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/get.md b/examples/1.9.x/server-web/examples/functions/get.md new file mode 100644 index 000000000..d430fec6f --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.get({ + functionId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list-deployments.md b/examples/1.9.x/server-web/examples/functions/list-deployments.md new file mode 100644 index 000000000..e83ea6f6d --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list-deployments.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.listDeployments({ + functionId: '', + queries: [], // optional + search: '', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list-executions.md b/examples/1.9.x/server-web/examples/functions/list-executions.md new file mode 100644 index 000000000..6f021c4f1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list-executions.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const functions = new Functions(client); + +const result = await functions.listExecutions({ + functionId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list-runtimes.md b/examples/1.9.x/server-web/examples/functions/list-runtimes.md new file mode 100644 index 000000000..c10e3eccf --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list-runtimes.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.listRuntimes(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list-specifications.md b/examples/1.9.x/server-web/examples/functions/list-specifications.md new file mode 100644 index 000000000..060a71934 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list-specifications.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.listSpecifications(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list-variables.md b/examples/1.9.x/server-web/examples/functions/list-variables.md new file mode 100644 index 000000000..213212051 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list-variables.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.listVariables({ + functionId: '', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/list.md b/examples/1.9.x/server-web/examples/functions/list.md new file mode 100644 index 000000000..6cc31f595 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.list({ + queries: [], // optional + search: '', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/update-deployment-status.md b/examples/1.9.x/server-web/examples/functions/update-deployment-status.md new file mode 100644 index 000000000..9d6aa151e --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/update-deployment-status.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.updateDeploymentStatus({ + functionId: '', + deploymentId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/update-function-deployment.md b/examples/1.9.x/server-web/examples/functions/update-function-deployment.md new file mode 100644 index 000000000..39479dee9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/update-function-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.updateFunctionDeployment({ + functionId: '', + deploymentId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/update-variable.md b/examples/1.9.x/server-web/examples/functions/update-variable.md new file mode 100644 index 000000000..f1c7c694d --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/update-variable.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Functions } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.updateVariable({ + functionId: '', + variableId: '', + key: '', // optional + value: '', // optional + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/functions/update.md b/examples/1.9.x/server-web/examples/functions/update.md new file mode 100644 index 000000000..0900fc5b0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/functions/update.md @@ -0,0 +1,35 @@ +```javascript +import { Client, Functions, Runtime, Scopes } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const functions = new Functions(client); + +const result = await functions.update({ + functionId: '', + name: '', + runtime: Runtime.Node145, // optional + execute: ["any"], // optional + events: [], // optional + schedule: '', // optional + timeout: 1, // optional + enabled: false, // optional + logging: false, // optional + entrypoint: '', // optional + commands: '', // optional + scopes: [Scopes.ProjectRead], // optional + installationId: '', // optional + providerRepositoryId: '', // optional + providerBranch: '', // optional + providerSilentMode: false, // optional + providerRootDirectory: '', // optional + buildSpecification: '', // optional + runtimeSpecification: '', // optional + deploymentRetention: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/graphql/mutation.md b/examples/1.9.x/server-web/examples/graphql/mutation.md new file mode 100644 index 000000000..979a108d9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/graphql/mutation.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Graphql } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const graphql = new Graphql(client); + +const result = await graphql.mutation({ + query: {} +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/graphql/query.md b/examples/1.9.x/server-web/examples/graphql/query.md new file mode 100644 index 000000000..62f278157 --- /dev/null +++ b/examples/1.9.x/server-web/examples/graphql/query.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Graphql } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const graphql = new Graphql(client); + +const result = await graphql.query({ + query: {} +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-antivirus.md b/examples/1.9.x/server-web/examples/health/get-antivirus.md new file mode 100644 index 000000000..b6cc32995 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-antivirus.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getAntivirus(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-cache.md b/examples/1.9.x/server-web/examples/health/get-cache.md new file mode 100644 index 000000000..9f0bafbb2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-cache.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getCache(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-certificate.md b/examples/1.9.x/server-web/examples/health/get-certificate.md new file mode 100644 index 000000000..a5764407f --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-certificate.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getCertificate({ + domain: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-console-pausing.md b/examples/1.9.x/server-web/examples/health/get-console-pausing.md new file mode 100644 index 000000000..7bc69ea44 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-console-pausing.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getConsolePausing({ + threshold: null, // optional + inactivityDays: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-db.md b/examples/1.9.x/server-web/examples/health/get-db.md new file mode 100644 index 000000000..ae3a9d513 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-db.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getDB(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-failed-jobs.md b/examples/1.9.x/server-web/examples/health/get-failed-jobs.md new file mode 100644 index 000000000..0c77a73c5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-failed-jobs.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Health, Name } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getFailedJobs({ + name: Name.V1Database, + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-pub-sub.md b/examples/1.9.x/server-web/examples/health/get-pub-sub.md new file mode 100644 index 000000000..d77916b4c --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-pub-sub.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getPubSub(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-audits.md b/examples/1.9.x/server-web/examples/health/get-queue-audits.md new file mode 100644 index 000000000..1ad7f4e99 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-audits.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueAudits({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-builds.md b/examples/1.9.x/server-web/examples/health/get-queue-builds.md new file mode 100644 index 000000000..73cc76930 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-builds.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueBuilds({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-certificates.md b/examples/1.9.x/server-web/examples/health/get-queue-certificates.md new file mode 100644 index 000000000..7c6e56e18 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-certificates.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueCertificates({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-databases.md b/examples/1.9.x/server-web/examples/health/get-queue-databases.md new file mode 100644 index 000000000..2cf4d7699 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-databases.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueDatabases({ + name: '', // optional + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-deletes.md b/examples/1.9.x/server-web/examples/health/get-queue-deletes.md new file mode 100644 index 000000000..bdf63c75b --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-deletes.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueDeletes({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-functions.md b/examples/1.9.x/server-web/examples/health/get-queue-functions.md new file mode 100644 index 000000000..e140e4d13 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-functions.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueFunctions({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-logs.md b/examples/1.9.x/server-web/examples/health/get-queue-logs.md new file mode 100644 index 000000000..61d4457ab --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-logs.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueLogs({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-mails.md b/examples/1.9.x/server-web/examples/health/get-queue-mails.md new file mode 100644 index 000000000..5d327c998 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-mails.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueMails({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-messaging.md b/examples/1.9.x/server-web/examples/health/get-queue-messaging.md new file mode 100644 index 000000000..5705d9e54 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-messaging.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueMessaging({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-migrations.md b/examples/1.9.x/server-web/examples/health/get-queue-migrations.md new file mode 100644 index 000000000..16a6aa375 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-migrations.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueMigrations({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-stats-resources.md b/examples/1.9.x/server-web/examples/health/get-queue-stats-resources.md new file mode 100644 index 000000000..b3eaec8e2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-stats-resources.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueStatsResources({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-usage.md b/examples/1.9.x/server-web/examples/health/get-queue-usage.md new file mode 100644 index 000000000..d6642e885 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-usage.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueUsage({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-queue-webhooks.md b/examples/1.9.x/server-web/examples/health/get-queue-webhooks.md new file mode 100644 index 000000000..9caa23ebe --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-queue-webhooks.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getQueueWebhooks({ + threshold: null // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-storage-local.md b/examples/1.9.x/server-web/examples/health/get-storage-local.md new file mode 100644 index 000000000..d8635c014 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-storage-local.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getStorageLocal(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-storage.md b/examples/1.9.x/server-web/examples/health/get-storage.md new file mode 100644 index 000000000..8dfa152ab --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-storage.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getStorage(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get-time.md b/examples/1.9.x/server-web/examples/health/get-time.md new file mode 100644 index 000000000..b5a5d99e2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get-time.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.getTime(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/health/get.md b/examples/1.9.x/server-web/examples/health/get.md new file mode 100644 index 000000000..b146a5cc6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/health/get.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Health } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const health = new Health(client); + +const result = await health.get(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/get.md b/examples/1.9.x/server-web/examples/locale/get.md new file mode 100644 index 000000000..20035e4fa --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/get.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.get(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-codes.md b/examples/1.9.x/server-web/examples/locale/list-codes.md new file mode 100644 index 000000000..e00ac0e8c --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-codes.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listCodes(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-continents.md b/examples/1.9.x/server-web/examples/locale/list-continents.md new file mode 100644 index 000000000..beadd6e80 --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-continents.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listContinents(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-countries-eu.md b/examples/1.9.x/server-web/examples/locale/list-countries-eu.md new file mode 100644 index 000000000..647a28644 --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-countries-eu.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listCountriesEU(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-countries-phones.md b/examples/1.9.x/server-web/examples/locale/list-countries-phones.md new file mode 100644 index 000000000..ba27ba71d --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-countries-phones.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listCountriesPhones(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-countries.md b/examples/1.9.x/server-web/examples/locale/list-countries.md new file mode 100644 index 000000000..4f4306e67 --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-countries.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listCountries(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-currencies.md b/examples/1.9.x/server-web/examples/locale/list-currencies.md new file mode 100644 index 000000000..46aed9ccf --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-currencies.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listCurrencies(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/locale/list-languages.md b/examples/1.9.x/server-web/examples/locale/list-languages.md new file mode 100644 index 000000000..57e5ee151 --- /dev/null +++ b/examples/1.9.x/server-web/examples/locale/list-languages.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Locale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setSession(''); // The user session to authenticate with + +const locale = new Locale(client); + +const result = await locale.listLanguages(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-apns-provider.md b/examples/1.9.x/server-web/examples/messaging/create-apns-provider.md new file mode 100644 index 000000000..1d1f985f4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-apns-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createAPNSProvider({ + providerId: '', + name: '', + authKey: '', // optional + authKeyId: '', // optional + teamId: '', // optional + bundleId: '', // optional + sandbox: false, // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-email.md b/examples/1.9.x/server-web/examples/messaging/create-email.md new file mode 100644 index 000000000..cd8c26ecf --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-email.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createEmail({ + messageId: '', + subject: '', + content: '', + topics: [], // optional + users: [], // optional + targets: [], // optional + cc: [], // optional + bcc: [], // optional + attachments: [], // optional + draft: false, // optional + html: false, // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-fcm-provider.md b/examples/1.9.x/server-web/examples/messaging/create-fcm-provider.md new file mode 100644 index 000000000..86b2608b9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-fcm-provider.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createFCMProvider({ + providerId: '', + name: '', + serviceAccountJSON: {}, // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-mailgun-provider.md b/examples/1.9.x/server-web/examples/messaging/create-mailgun-provider.md new file mode 100644 index 000000000..9eb7464bc --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-mailgun-provider.md @@ -0,0 +1,25 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createMailgunProvider({ + providerId: '', + name: '', + apiKey: '', // optional + domain: '', // optional + isEuRegion: false, // optional + fromName: '', // optional + fromEmail: 'email@example.com', // optional + replyToName: '', // optional + replyToEmail: 'email@example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-msg-91-provider.md b/examples/1.9.x/server-web/examples/messaging/create-msg-91-provider.md new file mode 100644 index 000000000..db002142e --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-msg-91-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createMsg91Provider({ + providerId: '', + name: '', + templateId: '', // optional + senderId: '', // optional + authKey: '', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-push.md b/examples/1.9.x/server-web/examples/messaging/create-push.md new file mode 100644 index 000000000..d14b1d475 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-push.md @@ -0,0 +1,34 @@ +```javascript +import { Client, Messaging, MessagePriority } from "appwrite"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createPush({ + messageId: '', + title: '', // optional + body: '<BODY>', // optional + topics: [], // optional + users: [], // optional + targets: [], // optional + data: {}, // optional + action: '<ACTION>', // optional + image: '<ID1:ID2>', // optional + icon: '<ICON>', // optional + sound: '<SOUND>', // optional + color: '<COLOR>', // optional + tag: '<TAG>', // optional + badge: null, // optional + draft: false, // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00', // optional + contentAvailable: false, // optional + critical: false, // optional + priority: MessagePriority.Normal // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-resend-provider.md b/examples/1.9.x/server-web/examples/messaging/create-resend-provider.md new file mode 100644 index 000000000..dae8c132c --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-resend-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createResendProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + apiKey: '<API_KEY>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: 'email@example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-sendgrid-provider.md b/examples/1.9.x/server-web/examples/messaging/create-sendgrid-provider.md new file mode 100644 index 000000000..904505df0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-sendgrid-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createSendgridProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + apiKey: '<API_KEY>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: 'email@example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-sms.md b/examples/1.9.x/server-web/examples/messaging/create-sms.md new file mode 100644 index 000000000..e3a528d13 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-sms.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createSMS({ + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], // optional + users: [], // optional + targets: [], // optional + draft: false, // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-smtp-provider.md b/examples/1.9.x/server-web/examples/messaging/create-smtp-provider.md new file mode 100644 index 000000000..7d7238275 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-smtp-provider.md @@ -0,0 +1,29 @@ +```javascript +import { Client, Messaging, SmtpEncryption } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createSMTPProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + host: '<HOST>', + port: 1, // optional + username: '<USERNAME>', // optional + password: '<PASSWORD>', // optional + encryption: SmtpEncryption.None, // optional + autoTLS: false, // optional + mailer: '<MAILER>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: 'email@example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-subscriber.md b/examples/1.9.x/server-web/examples/messaging/create-subscriber.md new file mode 100644 index 000000000..6106649d5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-subscriber.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setJWT('<YOUR_JWT>'); // Your secret JSON Web Token + +const messaging = new Messaging(client); + +const result = await messaging.createSubscriber({ + topicId: '<TOPIC_ID>', + subscriberId: '<SUBSCRIBER_ID>', + targetId: '<TARGET_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-telesign-provider.md b/examples/1.9.x/server-web/examples/messaging/create-telesign-provider.md new file mode 100644 index 000000000..1b4a133b9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-telesign-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createTelesignProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + from: '+12065550100', // optional + customerId: '<CUSTOMER_ID>', // optional + apiKey: '<API_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-textmagic-provider.md b/examples/1.9.x/server-web/examples/messaging/create-textmagic-provider.md new file mode 100644 index 000000000..83852c555 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-textmagic-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createTextmagicProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + from: '+12065550100', // optional + username: '<USERNAME>', // optional + apiKey: '<API_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-topic.md b/examples/1.9.x/server-web/examples/messaging/create-topic.md new file mode 100644 index 000000000..e64f0fdb6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-topic.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createTopic({ + topicId: '<TOPIC_ID>', + name: '<NAME>', + subscribe: ["any"] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-twilio-provider.md b/examples/1.9.x/server-web/examples/messaging/create-twilio-provider.md new file mode 100644 index 000000000..762384974 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-twilio-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createTwilioProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + from: '+12065550100', // optional + accountSid: '<ACCOUNT_SID>', // optional + authToken: '<AUTH_TOKEN>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/create-vonage-provider.md b/examples/1.9.x/server-web/examples/messaging/create-vonage-provider.md new file mode 100644 index 000000000..91ffd2889 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/create-vonage-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.createVonageProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + from: '+12065550100', // optional + apiKey: '<API_KEY>', // optional + apiSecret: '<API_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/delete-provider.md b/examples/1.9.x/server-web/examples/messaging/delete-provider.md new file mode 100644 index 000000000..d822d08b7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/delete-provider.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.deleteProvider({ + providerId: '<PROVIDER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/delete-subscriber.md b/examples/1.9.x/server-web/examples/messaging/delete-subscriber.md new file mode 100644 index 000000000..2eee33673 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/delete-subscriber.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setJWT('<YOUR_JWT>'); // Your secret JSON Web Token + +const messaging = new Messaging(client); + +const result = await messaging.deleteSubscriber({ + topicId: '<TOPIC_ID>', + subscriberId: '<SUBSCRIBER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/delete-topic.md b/examples/1.9.x/server-web/examples/messaging/delete-topic.md new file mode 100644 index 000000000..8d93de2f1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/delete-topic.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.deleteTopic({ + topicId: '<TOPIC_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/delete.md b/examples/1.9.x/server-web/examples/messaging/delete.md new file mode 100644 index 000000000..d9022c372 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.delete({ + messageId: '<MESSAGE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/get-message.md b/examples/1.9.x/server-web/examples/messaging/get-message.md new file mode 100644 index 000000000..7f92930f0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/get-message.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.getMessage({ + messageId: '<MESSAGE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/get-provider.md b/examples/1.9.x/server-web/examples/messaging/get-provider.md new file mode 100644 index 000000000..4375fc3c5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/get-provider.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.getProvider({ + providerId: '<PROVIDER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/get-subscriber.md b/examples/1.9.x/server-web/examples/messaging/get-subscriber.md new file mode 100644 index 000000000..daa3294db --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/get-subscriber.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.getSubscriber({ + topicId: '<TOPIC_ID>', + subscriberId: '<SUBSCRIBER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/get-topic.md b/examples/1.9.x/server-web/examples/messaging/get-topic.md new file mode 100644 index 000000000..025f874ff --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/get-topic.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.getTopic({ + topicId: '<TOPIC_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-message-logs.md b/examples/1.9.x/server-web/examples/messaging/list-message-logs.md new file mode 100644 index 000000000..887d4e3ae --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-message-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listMessageLogs({ + messageId: '<MESSAGE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-messages.md b/examples/1.9.x/server-web/examples/messaging/list-messages.md new file mode 100644 index 000000000..5e2cfc439 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-messages.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listMessages({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-provider-logs.md b/examples/1.9.x/server-web/examples/messaging/list-provider-logs.md new file mode 100644 index 000000000..f8dab61b4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-provider-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listProviderLogs({ + providerId: '<PROVIDER_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-providers.md b/examples/1.9.x/server-web/examples/messaging/list-providers.md new file mode 100644 index 000000000..010bd9aff --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-providers.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listProviders({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-subscriber-logs.md b/examples/1.9.x/server-web/examples/messaging/list-subscriber-logs.md new file mode 100644 index 000000000..addd6f359 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-subscriber-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listSubscriberLogs({ + subscriberId: '<SUBSCRIBER_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-subscribers.md b/examples/1.9.x/server-web/examples/messaging/list-subscribers.md new file mode 100644 index 000000000..eb73937d6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-subscribers.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listSubscribers({ + topicId: '<TOPIC_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-targets.md b/examples/1.9.x/server-web/examples/messaging/list-targets.md new file mode 100644 index 000000000..528131a0e --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-targets.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listTargets({ + messageId: '<MESSAGE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-topic-logs.md b/examples/1.9.x/server-web/examples/messaging/list-topic-logs.md new file mode 100644 index 000000000..0fa825c7d --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-topic-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listTopicLogs({ + topicId: '<TOPIC_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/list-topics.md b/examples/1.9.x/server-web/examples/messaging/list-topics.md new file mode 100644 index 000000000..51d10b0b4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/list-topics.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.listTopics({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-apns-provider.md b/examples/1.9.x/server-web/examples/messaging/update-apns-provider.md new file mode 100644 index 000000000..45b1d6e14 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-apns-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateAPNSProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + authKey: '<AUTH_KEY>', // optional + authKeyId: '<AUTH_KEY_ID>', // optional + teamId: '<TEAM_ID>', // optional + bundleId: '<BUNDLE_ID>', // optional + sandbox: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-email.md b/examples/1.9.x/server-web/examples/messaging/update-email.md new file mode 100644 index 000000000..c56e78c01 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-email.md @@ -0,0 +1,27 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateEmail({ + messageId: '<MESSAGE_ID>', + topics: [], // optional + users: [], // optional + targets: [], // optional + subject: '<SUBJECT>', // optional + content: '<CONTENT>', // optional + draft: false, // optional + html: false, // optional + cc: [], // optional + bcc: [], // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00', // optional + attachments: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-fcm-provider.md b/examples/1.9.x/server-web/examples/messaging/update-fcm-provider.md new file mode 100644 index 000000000..392f2c76c --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-fcm-provider.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateFCMProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + serviceAccountJSON: {} // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-mailgun-provider.md b/examples/1.9.x/server-web/examples/messaging/update-mailgun-provider.md new file mode 100644 index 000000000..2eed0f2e7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-mailgun-provider.md @@ -0,0 +1,25 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateMailgunProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + apiKey: '<API_KEY>', // optional + domain: '<DOMAIN>', // optional + isEuRegion: false, // optional + enabled: false, // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: '<REPLY_TO_EMAIL>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-msg-91-provider.md b/examples/1.9.x/server-web/examples/messaging/update-msg-91-provider.md new file mode 100644 index 000000000..1f5485bcf --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-msg-91-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateMsg91Provider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + templateId: '<TEMPLATE_ID>', // optional + senderId: '<SENDER_ID>', // optional + authKey: '<AUTH_KEY>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-push.md b/examples/1.9.x/server-web/examples/messaging/update-push.md new file mode 100644 index 000000000..0eee4147b --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-push.md @@ -0,0 +1,34 @@ +```javascript +import { Client, Messaging, MessagePriority } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updatePush({ + messageId: '<MESSAGE_ID>', + topics: [], // optional + users: [], // optional + targets: [], // optional + title: '<TITLE>', // optional + body: '<BODY>', // optional + data: {}, // optional + action: '<ACTION>', // optional + image: '<ID1:ID2>', // optional + icon: '<ICON>', // optional + sound: '<SOUND>', // optional + color: '<COLOR>', // optional + tag: '<TAG>', // optional + badge: null, // optional + draft: false, // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00', // optional + contentAvailable: false, // optional + critical: false, // optional + priority: MessagePriority.Normal // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-resend-provider.md b/examples/1.9.x/server-web/examples/messaging/update-resend-provider.md new file mode 100644 index 000000000..c1a5fe9dd --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-resend-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateResendProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + apiKey: '<API_KEY>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: '<REPLY_TO_EMAIL>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-sendgrid-provider.md b/examples/1.9.x/server-web/examples/messaging/update-sendgrid-provider.md new file mode 100644 index 000000000..847f6c4b2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-sendgrid-provider.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateSendgridProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + apiKey: '<API_KEY>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: '<REPLY_TO_EMAIL>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-sms.md b/examples/1.9.x/server-web/examples/messaging/update-sms.md new file mode 100644 index 000000000..da7feb973 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-sms.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateSMS({ + messageId: '<MESSAGE_ID>', + topics: [], // optional + users: [], // optional + targets: [], // optional + content: '<CONTENT>', // optional + draft: false, // optional + scheduledAt: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-smtp-provider.md b/examples/1.9.x/server-web/examples/messaging/update-smtp-provider.md new file mode 100644 index 000000000..f199dc216 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-smtp-provider.md @@ -0,0 +1,29 @@ +```javascript +import { Client, Messaging, SmtpEncryption } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateSMTPProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + host: '<HOST>', // optional + port: 1, // optional + username: '<USERNAME>', // optional + password: '<PASSWORD>', // optional + encryption: SmtpEncryption.None, // optional + autoTLS: false, // optional + mailer: '<MAILER>', // optional + fromName: '<FROM_NAME>', // optional + fromEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + replyToEmail: '<REPLY_TO_EMAIL>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-telesign-provider.md b/examples/1.9.x/server-web/examples/messaging/update-telesign-provider.md new file mode 100644 index 000000000..95e999969 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-telesign-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateTelesignProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + customerId: '<CUSTOMER_ID>', // optional + apiKey: '<API_KEY>', // optional + from: '<FROM>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-textmagic-provider.md b/examples/1.9.x/server-web/examples/messaging/update-textmagic-provider.md new file mode 100644 index 000000000..800bed367 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-textmagic-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateTextmagicProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + username: '<USERNAME>', // optional + apiKey: '<API_KEY>', // optional + from: '<FROM>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-topic.md b/examples/1.9.x/server-web/examples/messaging/update-topic.md new file mode 100644 index 000000000..bf26e1565 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-topic.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateTopic({ + topicId: '<TOPIC_ID>', + name: '<NAME>', // optional + subscribe: ["any"] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-twilio-provider.md b/examples/1.9.x/server-web/examples/messaging/update-twilio-provider.md new file mode 100644 index 000000000..a3abc88a1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-twilio-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateTwilioProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + accountSid: '<ACCOUNT_SID>', // optional + authToken: '<AUTH_TOKEN>', // optional + from: '<FROM>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/messaging/update-vonage-provider.md b/examples/1.9.x/server-web/examples/messaging/update-vonage-provider.md new file mode 100644 index 000000000..d4961833f --- /dev/null +++ b/examples/1.9.x/server-web/examples/messaging/update-vonage-provider.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Messaging } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const messaging = new Messaging(client); + +const result = await messaging.updateVonageProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', // optional + enabled: false, // optional + apiKey: '<API_KEY>', // optional + apiSecret: '<API_SECRET>', // optional + from: '<FROM>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/presences/delete.md b/examples/1.9.x/server-web/examples/presences/delete.md new file mode 100644 index 000000000..0d043818e --- /dev/null +++ b/examples/1.9.x/server-web/examples/presences/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Presences } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const presences = new Presences(client); + +const result = await presences.delete({ + presenceId: '<PRESENCE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/presences/get.md b/examples/1.9.x/server-web/examples/presences/get.md new file mode 100644 index 000000000..34701a983 --- /dev/null +++ b/examples/1.9.x/server-web/examples/presences/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Presences } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const presences = new Presences(client); + +const result = await presences.get({ + presenceId: '<PRESENCE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/presences/list.md b/examples/1.9.x/server-web/examples/presences/list.md new file mode 100644 index 000000000..52d5a76e6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/presences/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Presences } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const presences = new Presences(client); + +const result = await presences.list({ + queries: [], // optional + total: false, // optional + ttl: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/presences/update-presence.md b/examples/1.9.x/server-web/examples/presences/update-presence.md new file mode 100644 index 000000000..71e80f370 --- /dev/null +++ b/examples/1.9.x/server-web/examples/presences/update-presence.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Presences, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const presences = new Presences(client); + +const result = await presences.updatePresence({ + presenceId: '<PRESENCE_ID>', + userId: '<USER_ID>', + status: '<STATUS>', // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {}, // optional + permissions: [Permission.read(Role.any())], // optional + purge: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/presences/upsert.md b/examples/1.9.x/server-web/examples/presences/upsert.md new file mode 100644 index 000000000..57a201f55 --- /dev/null +++ b/examples/1.9.x/server-web/examples/presences/upsert.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Presences, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const presences = new Presences(client); + +const result = await presences.upsert({ + presenceId: '<PRESENCE_ID>', + userId: '<USER_ID>', + status: '<STATUS>', + permissions: [Permission.read(Role.any())], // optional + expiresAt: '2020-10-15T06:38:00.000+00:00', // optional + metadata: {} // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-android-platform.md b/examples/1.9.x/server-web/examples/project/create-android-platform.md new file mode 100644 index 000000000..4f5b93e49 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-android-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createAndroidPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + applicationId: '<APPLICATION_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-apple-platform.md b/examples/1.9.x/server-web/examples/project/create-apple-platform.md new file mode 100644 index 000000000..bbb7cff00 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-apple-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createApplePlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + bundleIdentifier: '<BUNDLE_IDENTIFIER>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-ephemeral-key.md b/examples/1.9.x/server-web/examples/project/create-ephemeral-key.md new file mode 100644 index 000000000..d26bd1c63 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-ephemeral-key.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project, ProjectKeyScopes } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createEphemeralKey({ + scopes: [ProjectKeyScopes.ProjectRead], + duration: 600 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-key.md b/examples/1.9.x/server-web/examples/project/create-key.md new file mode 100644 index 000000000..c1f7a0b0d --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-key.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project, ProjectKeyScopes } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createKey({ + keyId: '<KEY_ID>', + name: '<NAME>', + scopes: [ProjectKeyScopes.ProjectRead], + expire: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-linux-platform.md b/examples/1.9.x/server-web/examples/project/create-linux-platform.md new file mode 100644 index 000000000..85a0051a8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-linux-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createLinuxPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + packageName: '<PACKAGE_NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-mock-phone.md b/examples/1.9.x/server-web/examples/project/create-mock-phone.md new file mode 100644 index 000000000..1f5759367 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-mock-phone.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createMockPhone({ + number: '+12065550100', + otp: '<OTP>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-smtp-test.md b/examples/1.9.x/server-web/examples/project/create-smtp-test.md new file mode 100644 index 000000000..cc5af1609 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-smtp-test.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createSMTPTest({ + emails: [] +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-variable.md b/examples/1.9.x/server-web/examples/project/create-variable.md new file mode 100644 index 000000000..d8c4406e2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-variable.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createVariable({ + variableId: '<VARIABLE_ID>', + key: '<KEY>', + value: '<VALUE>', + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-web-platform.md b/examples/1.9.x/server-web/examples/project/create-web-platform.md new file mode 100644 index 000000000..577065da4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-web-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createWebPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + hostname: 'app.example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/create-windows-platform.md b/examples/1.9.x/server-web/examples/project/create-windows-platform.md new file mode 100644 index 000000000..a7e7d539d --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/create-windows-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.createWindowsPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + packageIdentifierName: '<PACKAGE_IDENTIFIER_NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/delete-key.md b/examples/1.9.x/server-web/examples/project/delete-key.md new file mode 100644 index 000000000..3d66d97e3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/delete-key.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.deleteKey({ + keyId: '<KEY_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/delete-mock-phone.md b/examples/1.9.x/server-web/examples/project/delete-mock-phone.md new file mode 100644 index 000000000..711123fb5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/delete-mock-phone.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.deleteMockPhone({ + number: '+12065550100' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/delete-platform.md b/examples/1.9.x/server-web/examples/project/delete-platform.md new file mode 100644 index 000000000..16dc5ddfd --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/delete-platform.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.deletePlatform({ + platformId: '<PLATFORM_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/delete-variable.md b/examples/1.9.x/server-web/examples/project/delete-variable.md new file mode 100644 index 000000000..a3eb41a2a --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/delete-variable.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.deleteVariable({ + variableId: '<VARIABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/delete.md b/examples/1.9.x/server-web/examples/project/delete.md new file mode 100644 index 000000000..c6b7efee4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/delete.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.delete(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-email-template.md b/examples/1.9.x/server-web/examples/project/get-email-template.md new file mode 100644 index 000000000..12da4b4f8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-email-template.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project, ProjectEmailTemplateId, ProjectEmailTemplateLocale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getEmailTemplate({ + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-key.md b/examples/1.9.x/server-web/examples/project/get-key.md new file mode 100644 index 000000000..db0be3918 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-key.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getKey({ + keyId: '<KEY_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-mock-phone.md b/examples/1.9.x/server-web/examples/project/get-mock-phone.md new file mode 100644 index 000000000..dadfda25c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-mock-phone.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getMockPhone({ + number: '+12065550100' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-o-auth-2-provider.md b/examples/1.9.x/server-web/examples/project/get-o-auth-2-provider.md new file mode 100644 index 000000000..77d412834 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-o-auth-2-provider.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project, ProjectOAuthProviderId } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getOAuth2Provider({ + providerId: ProjectOAuthProviderId.Amazon +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-platform.md b/examples/1.9.x/server-web/examples/project/get-platform.md new file mode 100644 index 000000000..56d738932 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-platform.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getPlatform({ + platformId: '<PLATFORM_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-policy.md b/examples/1.9.x/server-web/examples/project/get-policy.md new file mode 100644 index 000000000..61ea02acd --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project, ProjectPolicyId } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getPolicy({ + policyId: ProjectPolicyId.PasswordDictionary +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get-variable.md b/examples/1.9.x/server-web/examples/project/get-variable.md new file mode 100644 index 000000000..6e1250a13 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get-variable.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.getVariable({ + variableId: '<VARIABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/get.md b/examples/1.9.x/server-web/examples/project/get.md new file mode 100644 index 000000000..84d26c519 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/get.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.get(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-email-templates.md b/examples/1.9.x/server-web/examples/project/list-email-templates.md new file mode 100644 index 000000000..f9ca49342 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-email-templates.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listEmailTemplates({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-keys.md b/examples/1.9.x/server-web/examples/project/list-keys.md new file mode 100644 index 000000000..3fdd792ad --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-keys.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listKeys({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-mock-phones.md b/examples/1.9.x/server-web/examples/project/list-mock-phones.md new file mode 100644 index 000000000..1431ac999 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-mock-phones.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listMockPhones({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-o-auth-2-providers.md b/examples/1.9.x/server-web/examples/project/list-o-auth-2-providers.md new file mode 100644 index 000000000..ac9318305 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-o-auth-2-providers.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listOAuth2Providers({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-platforms.md b/examples/1.9.x/server-web/examples/project/list-platforms.md new file mode 100644 index 000000000..57186cdd8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-platforms.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listPlatforms({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-policies.md b/examples/1.9.x/server-web/examples/project/list-policies.md new file mode 100644 index 000000000..a71dbd3d5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-policies.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listPolicies({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/list-variables.md b/examples/1.9.x/server-web/examples/project/list-variables.md new file mode 100644 index 000000000..7f2f413b5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/list-variables.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.listVariables({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-android-platform.md b/examples/1.9.x/server-web/examples/project/update-android-platform.md new file mode 100644 index 000000000..b763954ff --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-android-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateAndroidPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + applicationId: '<APPLICATION_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-apple-platform.md b/examples/1.9.x/server-web/examples/project/update-apple-platform.md new file mode 100644 index 000000000..9d8d4e845 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-apple-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateApplePlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + bundleIdentifier: '<BUNDLE_IDENTIFIER>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-auth-method.md b/examples/1.9.x/server-web/examples/project/update-auth-method.md new file mode 100644 index 000000000..940cc2622 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-auth-method.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project, ProjectAuthMethodId } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateAuthMethod({ + methodId: ProjectAuthMethodId.EmailPassword, + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-deny-aliased-email-policy.md b/examples/1.9.x/server-web/examples/project/update-deny-aliased-email-policy.md new file mode 100644 index 000000000..7b68d8d7f --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-deny-aliased-email-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateDenyAliasedEmailPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-deny-disposable-email-policy.md b/examples/1.9.x/server-web/examples/project/update-deny-disposable-email-policy.md new file mode 100644 index 000000000..7018f4942 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-deny-disposable-email-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateDenyDisposableEmailPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-deny-free-email-policy.md b/examples/1.9.x/server-web/examples/project/update-deny-free-email-policy.md new file mode 100644 index 000000000..e6a223d7e --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-deny-free-email-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateDenyFreeEmailPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-email-template.md b/examples/1.9.x/server-web/examples/project/update-email-template.md new file mode 100644 index 000000000..28c85a487 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-email-template.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Project, ProjectEmailTemplateId, ProjectEmailTemplateLocale } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateEmailTemplate({ + templateId: ProjectEmailTemplateId.Verification, + locale: ProjectEmailTemplateLocale.Af, // optional + subject: '<SUBJECT>', // optional + message: '<MESSAGE>', // optional + senderName: '<SENDER_NAME>', // optional + senderEmail: 'email@example.com', // optional + replyToEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-key.md b/examples/1.9.x/server-web/examples/project/update-key.md new file mode 100644 index 000000000..b88e1485d --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-key.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project, ProjectKeyScopes } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateKey({ + keyId: '<KEY_ID>', + name: '<NAME>', + scopes: [ProjectKeyScopes.ProjectRead], + expire: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-labels.md b/examples/1.9.x/server-web/examples/project/update-labels.md new file mode 100644 index 000000000..67f33ac1c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-labels.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateLabels({ + labels: [] +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-linux-platform.md b/examples/1.9.x/server-web/examples/project/update-linux-platform.md new file mode 100644 index 000000000..92156ecb7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-linux-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateLinuxPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + packageName: '<PACKAGE_NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-membership-privacy-policy.md b/examples/1.9.x/server-web/examples/project/update-membership-privacy-policy.md new file mode 100644 index 000000000..2919e5ee7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-membership-privacy-policy.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateMembershipPrivacyPolicy({ + userId: false, // optional + userEmail: false, // optional + userPhone: false, // optional + userName: false, // optional + userMFA: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-mock-phone.md b/examples/1.9.x/server-web/examples/project/update-mock-phone.md new file mode 100644 index 000000000..64afb02f1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-mock-phone.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateMockPhone({ + number: '+12065550100', + otp: '<OTP>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-amazon.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-amazon.md new file mode 100644 index 000000000..54ba34cd6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-amazon.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Amazon({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-apple.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-apple.md new file mode 100644 index 000000000..79abec830 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-apple.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Apple({ + serviceId: '<SERVICE_ID>', // optional + keyId: '<KEY_ID>', // optional + teamId: '<TEAM_ID>', // optional + p8File: '<P8_FILE>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-auth-0.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-auth-0.md new file mode 100644 index 000000000..b0e14b38f --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-auth-0.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Auth0({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + endpoint: '<ENDPOINT>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-authentik.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-authentik.md new file mode 100644 index 000000000..934587ef9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-authentik.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Authentik({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + endpoint: '<ENDPOINT>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-autodesk.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-autodesk.md new file mode 100644 index 000000000..46d1c2a15 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-autodesk.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Autodesk({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitbucket.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitbucket.md new file mode 100644 index 000000000..5dfeafe1c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitbucket.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Bitbucket({ + key: '<KEY>', // optional + secret: '<SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitly.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitly.md new file mode 100644 index 000000000..b50d2c40c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-bitly.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Bitly({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-box.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-box.md new file mode 100644 index 000000000..2075de350 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-box.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Box({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-dailymotion.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-dailymotion.md new file mode 100644 index 000000000..5684566d8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-dailymotion.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Dailymotion({ + apiKey: '<API_KEY>', // optional + apiSecret: '<API_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-discord.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-discord.md new file mode 100644 index 000000000..599cbc018 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-discord.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Discord({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-disqus.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-disqus.md new file mode 100644 index 000000000..9f9251483 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-disqus.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Disqus({ + publicKey: '<PUBLIC_KEY>', // optional + secretKey: '<SECRET_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-dropbox.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-dropbox.md new file mode 100644 index 000000000..720fb7318 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-dropbox.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Dropbox({ + appKey: '<APP_KEY>', // optional + appSecret: '<APP_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-etsy.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-etsy.md new file mode 100644 index 000000000..b01acffb9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-etsy.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Etsy({ + keyString: '<KEY_STRING>', // optional + sharedSecret: '<SHARED_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-facebook.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-facebook.md new file mode 100644 index 000000000..b96867deb --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-facebook.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Facebook({ + appId: '<APP_ID>', // optional + appSecret: '<APP_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-figma.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-figma.md new file mode 100644 index 000000000..b22912e28 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-figma.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Figma({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-fusion-auth.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-fusion-auth.md new file mode 100644 index 000000000..ca64f4dd4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-fusion-auth.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2FusionAuth({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + endpoint: '<ENDPOINT>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-git-hub.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-git-hub.md new file mode 100644 index 000000000..25fd6e124 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-git-hub.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2GitHub({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-gitlab.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-gitlab.md new file mode 100644 index 000000000..06a0a71fc --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-gitlab.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Gitlab({ + applicationId: '<APPLICATION_ID>', // optional + secret: '<SECRET>', // optional + endpoint: 'https://example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-google.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-google.md new file mode 100644 index 000000000..a693a1798 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-google.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project, ProjectOAuth2GooglePrompt } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Google({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + prompt: [ProjectOAuth2GooglePrompt.None], // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-keycloak.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-keycloak.md new file mode 100644 index 000000000..ed69fcfdb --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-keycloak.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Keycloak({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + endpoint: '<ENDPOINT>', // optional + realmName: '<REALM_NAME>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-kick.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-kick.md new file mode 100644 index 000000000..22e0b7a8b --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-kick.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Kick({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-linkedin.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-linkedin.md new file mode 100644 index 000000000..c3949782d --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-linkedin.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Linkedin({ + clientId: '<CLIENT_ID>', // optional + primaryClientSecret: '<PRIMARY_CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-microsoft.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-microsoft.md new file mode 100644 index 000000000..98d75a12e --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-microsoft.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Microsoft({ + applicationId: '<APPLICATION_ID>', // optional + applicationSecret: '<APPLICATION_SECRET>', // optional + tenant: '<TENANT>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-notion.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-notion.md new file mode 100644 index 000000000..24391ce92 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-notion.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Notion({ + oauthClientId: '<OAUTH_CLIENT_ID>', // optional + oauthClientSecret: '<OAUTH_CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-oidc.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-oidc.md new file mode 100644 index 000000000..75da5672e --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-oidc.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Oidc({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + wellKnownURL: 'https://example.com', // optional + authorizationURL: 'https://example.com', // optional + tokenURL: 'https://example.com', // optional + userInfoURL: 'https://example.com', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-okta.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-okta.md new file mode 100644 index 000000000..406382afc --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-okta.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Okta({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + domain: '', // optional + authorizationServerId: '<AUTHORIZATION_SERVER_ID>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal-sandbox.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal-sandbox.md new file mode 100644 index 000000000..dcc2959dc --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal-sandbox.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2PaypalSandbox({ + clientId: '<CLIENT_ID>', // optional + secretKey: '<SECRET_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal.md new file mode 100644 index 000000000..6f0650ef9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-paypal.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Paypal({ + clientId: '<CLIENT_ID>', // optional + secretKey: '<SECRET_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-podio.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-podio.md new file mode 100644 index 000000000..ba2de8e6b --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-podio.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Podio({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-salesforce.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-salesforce.md new file mode 100644 index 000000000..41cecbbcb --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-salesforce.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Salesforce({ + customerKey: '<CUSTOMER_KEY>', // optional + customerSecret: '<CUSTOMER_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-slack.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-slack.md new file mode 100644 index 000000000..3ed48cb07 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-slack.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Slack({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-spotify.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-spotify.md new file mode 100644 index 000000000..63e3f67ec --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-spotify.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Spotify({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-stripe.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-stripe.md new file mode 100644 index 000000000..2fb44b1df --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-stripe.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Stripe({ + clientId: '<CLIENT_ID>', // optional + apiSecretKey: '<API_SECRET_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift-sandbox.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift-sandbox.md new file mode 100644 index 000000000..2db30540a --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift-sandbox.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2TradeshiftSandbox({ + oauth2ClientId: '<OAUTH2_CLIENT_ID>', // optional + oauth2ClientSecret: '<OAUTH2_CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift.md new file mode 100644 index 000000000..0ff91adad --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-tradeshift.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Tradeshift({ + oauth2ClientId: '<OAUTH2_CLIENT_ID>', // optional + oauth2ClientSecret: '<OAUTH2_CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-twitch.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-twitch.md new file mode 100644 index 000000000..243e9c15b --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-twitch.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Twitch({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-word-press.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-word-press.md new file mode 100644 index 000000000..74c99a5c9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-word-press.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2WordPress({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-yahoo.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-yahoo.md new file mode 100644 index 000000000..341f827da --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-yahoo.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Yahoo({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-yandex.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-yandex.md new file mode 100644 index 000000000..a98b6b5d5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-yandex.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Yandex({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoho.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoho.md new file mode 100644 index 000000000..1bbb53e7b --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoho.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Zoho({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoom.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoom.md new file mode 100644 index 000000000..8dd33d6d3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2-zoom.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2Zoom({ + clientId: '<CLIENT_ID>', // optional + clientSecret: '<CLIENT_SECRET>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-o-auth-2x.md b/examples/1.9.x/server-web/examples/project/update-o-auth-2x.md new file mode 100644 index 000000000..d8e9f514c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-o-auth-2x.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateOAuth2X({ + customerKey: '<CUSTOMER_KEY>', // optional + secretKey: '<SECRET_KEY>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-password-dictionary-policy.md b/examples/1.9.x/server-web/examples/project/update-password-dictionary-policy.md new file mode 100644 index 000000000..7174d60af --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-password-dictionary-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updatePasswordDictionaryPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-password-history-policy.md b/examples/1.9.x/server-web/examples/project/update-password-history-policy.md new file mode 100644 index 000000000..89f56e226 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-password-history-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updatePasswordHistoryPolicy({ + total: 1 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-password-personal-data-policy.md b/examples/1.9.x/server-web/examples/project/update-password-personal-data-policy.md new file mode 100644 index 000000000..35039c4d2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-password-personal-data-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updatePasswordPersonalDataPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-protocol.md b/examples/1.9.x/server-web/examples/project/update-protocol.md new file mode 100644 index 000000000..0f6db282c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-protocol.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project, ProjectProtocolId } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateProtocol({ + protocolId: ProjectProtocolId.Rest, + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-service.md b/examples/1.9.x/server-web/examples/project/update-service.md new file mode 100644 index 000000000..ee836d8bf --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-service.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Project, ProjectServiceId } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateService({ + serviceId: ProjectServiceId.Account, + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-session-alert-policy.md b/examples/1.9.x/server-web/examples/project/update-session-alert-policy.md new file mode 100644 index 000000000..99c3d4378 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-session-alert-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateSessionAlertPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-session-duration-policy.md b/examples/1.9.x/server-web/examples/project/update-session-duration-policy.md new file mode 100644 index 000000000..b17eda439 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-session-duration-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateSessionDurationPolicy({ + duration: 5 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-session-invalidation-policy.md b/examples/1.9.x/server-web/examples/project/update-session-invalidation-policy.md new file mode 100644 index 000000000..17e1e367b --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-session-invalidation-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateSessionInvalidationPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-session-limit-policy.md b/examples/1.9.x/server-web/examples/project/update-session-limit-policy.md new file mode 100644 index 000000000..df33c446d --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-session-limit-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateSessionLimitPolicy({ + total: 1 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-smtp.md b/examples/1.9.x/server-web/examples/project/update-smtp.md new file mode 100644 index 000000000..9adede407 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-smtp.md @@ -0,0 +1,25 @@ +```javascript +import { Client, Project, ProjectSMTPSecure } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateSMTP({ + host: '', // optional + port: null, // optional + username: '<USERNAME>', // optional + password: '<PASSWORD>', // optional + senderEmail: 'email@example.com', // optional + senderName: '<SENDER_NAME>', // optional + replyToEmail: 'email@example.com', // optional + replyToName: '<REPLY_TO_NAME>', // optional + secure: ProjectSMTPSecure.Tls, // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-user-limit-policy.md b/examples/1.9.x/server-web/examples/project/update-user-limit-policy.md new file mode 100644 index 000000000..a21f30e0c --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-user-limit-policy.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateUserLimitPolicy({ + total: 1 +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-variable.md b/examples/1.9.x/server-web/examples/project/update-variable.md new file mode 100644 index 000000000..c7a542d04 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-variable.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateVariable({ + variableId: '<VARIABLE_ID>', + key: '<KEY>', // optional + value: '<VALUE>', // optional + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-web-platform.md b/examples/1.9.x/server-web/examples/project/update-web-platform.md new file mode 100644 index 000000000..7b0e74f13 --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-web-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateWebPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + hostname: 'app.example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/project/update-windows-platform.md b/examples/1.9.x/server-web/examples/project/update-windows-platform.md new file mode 100644 index 000000000..6fdb62b6a --- /dev/null +++ b/examples/1.9.x/server-web/examples/project/update-windows-platform.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Project } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const project = new Project(client); + +const result = await project.updateWindowsPlatform({ + platformId: '<PLATFORM_ID>', + name: '<NAME>', + packageIdentifierName: '<PACKAGE_IDENTIFIER_NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/create-api-rule.md b/examples/1.9.x/server-web/examples/proxy/create-api-rule.md new file mode 100644 index 000000000..69c7459a4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/create-api-rule.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.createAPIRule({ + domain: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/create-function-rule.md b/examples/1.9.x/server-web/examples/proxy/create-function-rule.md new file mode 100644 index 000000000..5491f0901 --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/create-function-rule.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.createFunctionRule({ + domain: '', + functionId: '<FUNCTION_ID>', + branch: '<BRANCH>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/create-redirect-rule.md b/examples/1.9.x/server-web/examples/proxy/create-redirect-rule.md new file mode 100644 index 000000000..7cca57c65 --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/create-redirect-rule.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Proxy, StatusCode, ProxyResourceType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.createRedirectRule({ + domain: '', + url: 'https://example.com', + statusCode: StatusCode.MovedPermanently301, + resourceId: '<RESOURCE_ID>', + resourceType: ProxyResourceType.Site +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/create-site-rule.md b/examples/1.9.x/server-web/examples/proxy/create-site-rule.md new file mode 100644 index 000000000..ca443e1dc --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/create-site-rule.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.createSiteRule({ + domain: '', + siteId: '<SITE_ID>', + branch: '<BRANCH>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/delete-rule.md b/examples/1.9.x/server-web/examples/proxy/delete-rule.md new file mode 100644 index 000000000..414d0636c --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/delete-rule.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.deleteRule({ + ruleId: '<RULE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/get-rule.md b/examples/1.9.x/server-web/examples/proxy/get-rule.md new file mode 100644 index 000000000..217982062 --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/get-rule.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.getRule({ + ruleId: '<RULE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/list-rules.md b/examples/1.9.x/server-web/examples/proxy/list-rules.md new file mode 100644 index 000000000..e119ccd7a --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/list-rules.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.listRules({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/proxy/update-rule-status.md b/examples/1.9.x/server-web/examples/proxy/update-rule-status.md new file mode 100644 index 000000000..912a8c74f --- /dev/null +++ b/examples/1.9.x/server-web/examples/proxy/update-rule-status.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Proxy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const proxy = new Proxy(client); + +const result = await proxy.updateRuleStatus({ + ruleId: '<RULE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create-deployment.md b/examples/1.9.x/server-web/examples/sites/create-deployment.md new file mode 100644 index 000000000..92c3ed833 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create-deployment.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.createDeployment({ + siteId: '<SITE_ID>', + code: document.getElementById('uploader').files[0], + installCommand: '<INSTALL_COMMAND>', // optional + buildCommand: '<BUILD_COMMAND>', // optional + outputDirectory: '<OUTPUT_DIRECTORY>', // optional + activate: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create-duplicate-deployment.md b/examples/1.9.x/server-web/examples/sites/create-duplicate-deployment.md new file mode 100644 index 000000000..44b28e9b1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create-duplicate-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.createDuplicateDeployment({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create-template-deployment.md b/examples/1.9.x/server-web/examples/sites/create-template-deployment.md new file mode 100644 index 000000000..a0b65d3c9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create-template-deployment.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Sites, TemplateReferenceType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.createTemplateDeployment({ + siteId: '<SITE_ID>', + repository: '<REPOSITORY>', + owner: '<OWNER>', + rootDirectory: '<ROOT_DIRECTORY>', + type: TemplateReferenceType.Branch, + reference: '<REFERENCE>', + activate: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create-variable.md b/examples/1.9.x/server-web/examples/sites/create-variable.md new file mode 100644 index 000000000..ac097f08b --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create-variable.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.createVariable({ + siteId: '<SITE_ID>', + variableId: '<VARIABLE_ID>', + key: '<KEY>', + value: '<VALUE>', + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create-vcs-deployment.md b/examples/1.9.x/server-web/examples/sites/create-vcs-deployment.md new file mode 100644 index 000000000..29c7e9a08 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create-vcs-deployment.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Sites, VCSReferenceType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.createVcsDeployment({ + siteId: '<SITE_ID>', + type: VCSReferenceType.Branch, + reference: '<REFERENCE>', + activate: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/create.md b/examples/1.9.x/server-web/examples/sites/create.md new file mode 100644 index 000000000..077ff02be --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/create.md @@ -0,0 +1,36 @@ +```javascript +import { Client, Sites, Framework, BuildRuntime, Adapter } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.create({ + siteId: '<SITE_ID>', + name: '<NAME>', + framework: Framework.Analog, + buildRuntime: BuildRuntime.Node145, + enabled: false, // optional + logging: false, // optional + timeout: 1, // optional + installCommand: '<INSTALL_COMMAND>', // optional + buildCommand: '<BUILD_COMMAND>', // optional + startCommand: '<START_COMMAND>', // optional + outputDirectory: '<OUTPUT_DIRECTORY>', // optional + adapter: Adapter.Static, // optional + installationId: '<INSTALLATION_ID>', // optional + fallbackFile: '<FALLBACK_FILE>', // optional + providerRepositoryId: '<PROVIDER_REPOSITORY_ID>', // optional + providerBranch: '<PROVIDER_BRANCH>', // optional + providerSilentMode: false, // optional + providerRootDirectory: '<PROVIDER_ROOT_DIRECTORY>', // optional + buildSpecification: '', // optional + runtimeSpecification: '', // optional + deploymentRetention: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/delete-deployment.md b/examples/1.9.x/server-web/examples/sites/delete-deployment.md new file mode 100644 index 000000000..4946b4103 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/delete-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.deleteDeployment({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/delete-log.md b/examples/1.9.x/server-web/examples/sites/delete-log.md new file mode 100644 index 000000000..70b9c5b6e --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/delete-log.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.deleteLog({ + siteId: '<SITE_ID>', + logId: '<LOG_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/delete-variable.md b/examples/1.9.x/server-web/examples/sites/delete-variable.md new file mode 100644 index 000000000..b9765373a --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/delete-variable.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.deleteVariable({ + siteId: '<SITE_ID>', + variableId: '<VARIABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/delete.md b/examples/1.9.x/server-web/examples/sites/delete.md new file mode 100644 index 000000000..536787c27 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.delete({ + siteId: '<SITE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/get-deployment-download.md b/examples/1.9.x/server-web/examples/sites/get-deployment-download.md new file mode 100644 index 000000000..11e8f1b75 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/get-deployment-download.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Sites, DeploymentDownloadType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = sites.getDeploymentDownload({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>', + type: DeploymentDownloadType.Source // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/get-deployment.md b/examples/1.9.x/server-web/examples/sites/get-deployment.md new file mode 100644 index 000000000..4a2a09e48 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/get-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.getDeployment({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/get-log.md b/examples/1.9.x/server-web/examples/sites/get-log.md new file mode 100644 index 000000000..3b659154b --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/get-log.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.getLog({ + siteId: '<SITE_ID>', + logId: '<LOG_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/get-variable.md b/examples/1.9.x/server-web/examples/sites/get-variable.md new file mode 100644 index 000000000..3f76531a7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/get-variable.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.getVariable({ + siteId: '<SITE_ID>', + variableId: '<VARIABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/get.md b/examples/1.9.x/server-web/examples/sites/get.md new file mode 100644 index 000000000..5a932f862 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.get({ + siteId: '<SITE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list-deployments.md b/examples/1.9.x/server-web/examples/sites/list-deployments.md new file mode 100644 index 000000000..6550104bd --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list-deployments.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.listDeployments({ + siteId: '<SITE_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list-frameworks.md b/examples/1.9.x/server-web/examples/sites/list-frameworks.md new file mode 100644 index 000000000..cc97c4647 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list-frameworks.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.listFrameworks(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list-logs.md b/examples/1.9.x/server-web/examples/sites/list-logs.md new file mode 100644 index 000000000..4e6d399bf --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.listLogs({ + siteId: '<SITE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list-specifications.md b/examples/1.9.x/server-web/examples/sites/list-specifications.md new file mode 100644 index 000000000..49542d33a --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list-specifications.md @@ -0,0 +1,14 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.listSpecifications(); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list-variables.md b/examples/1.9.x/server-web/examples/sites/list-variables.md new file mode 100644 index 000000000..debe474b8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list-variables.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.listVariables({ + siteId: '<SITE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/list.md b/examples/1.9.x/server-web/examples/sites/list.md new file mode 100644 index 000000000..f23917ffc --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.list({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/update-deployment-status.md b/examples/1.9.x/server-web/examples/sites/update-deployment-status.md new file mode 100644 index 000000000..1c0cf9ac2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/update-deployment-status.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.updateDeploymentStatus({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/update-site-deployment.md b/examples/1.9.x/server-web/examples/sites/update-site-deployment.md new file mode 100644 index 000000000..e0d9b8157 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/update-site-deployment.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.updateSiteDeployment({ + siteId: '<SITE_ID>', + deploymentId: '<DEPLOYMENT_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/update-variable.md b/examples/1.9.x/server-web/examples/sites/update-variable.md new file mode 100644 index 000000000..7d38c44b3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/update-variable.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Sites } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.updateVariable({ + siteId: '<SITE_ID>', + variableId: '<VARIABLE_ID>', + key: '<KEY>', // optional + value: '<VALUE>', // optional + secret: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/sites/update.md b/examples/1.9.x/server-web/examples/sites/update.md new file mode 100644 index 000000000..3e112a493 --- /dev/null +++ b/examples/1.9.x/server-web/examples/sites/update.md @@ -0,0 +1,36 @@ +```javascript +import { Client, Sites, Framework, BuildRuntime, Adapter } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const sites = new Sites(client); + +const result = await sites.update({ + siteId: '<SITE_ID>', + name: '<NAME>', + framework: Framework.Analog, + enabled: false, // optional + logging: false, // optional + timeout: 1, // optional + installCommand: '<INSTALL_COMMAND>', // optional + buildCommand: '<BUILD_COMMAND>', // optional + startCommand: '<START_COMMAND>', // optional + outputDirectory: '<OUTPUT_DIRECTORY>', // optional + buildRuntime: BuildRuntime.Node145, // optional + adapter: Adapter.Static, // optional + fallbackFile: '<FALLBACK_FILE>', // optional + installationId: '<INSTALLATION_ID>', // optional + providerRepositoryId: '<PROVIDER_REPOSITORY_ID>', // optional + providerBranch: '<PROVIDER_BRANCH>', // optional + providerSilentMode: false, // optional + providerRootDirectory: '<PROVIDER_ROOT_DIRECTORY>', // optional + buildSpecification: '', // optional + runtimeSpecification: '', // optional + deploymentRetention: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/create-bucket.md b/examples/1.9.x/server-web/examples/storage/create-bucket.md new file mode 100644 index 000000000..caa0f5f47 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/create-bucket.md @@ -0,0 +1,26 @@ +```javascript +import { Client, Storage, Compression, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const storage = new Storage(client); + +const result = await storage.createBucket({ + bucketId: '<BUCKET_ID>', + name: '<NAME>', + permissions: [Permission.read(Role.any())], // optional + fileSecurity: false, // optional + enabled: false, // optional + maximumFileSize: 1, // optional + allowedFileExtensions: [], // optional + compression: Compression.None, // optional + encryption: false, // optional + antivirus: false, // optional + transformations: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/create-file.md b/examples/1.9.x/server-web/examples/storage/create-file.md new file mode 100644 index 000000000..58cb7cdfd --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/create-file.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Storage, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = await storage.createFile({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + file: document.getElementById('uploader').files[0], + permissions: [Permission.read(Role.any())] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/delete-bucket.md b/examples/1.9.x/server-web/examples/storage/delete-bucket.md new file mode 100644 index 000000000..dcdd5b9d8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/delete-bucket.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const storage = new Storage(client); + +const result = await storage.deleteBucket({ + bucketId: '<BUCKET_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/delete-file.md b/examples/1.9.x/server-web/examples/storage/delete-file.md new file mode 100644 index 000000000..de5be7bac --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/delete-file.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = await storage.deleteFile({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/get-bucket.md b/examples/1.9.x/server-web/examples/storage/get-bucket.md new file mode 100644 index 000000000..34209f739 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/get-bucket.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const storage = new Storage(client); + +const result = await storage.getBucket({ + bucketId: '<BUCKET_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/get-file-download.md b/examples/1.9.x/server-web/examples/storage/get-file-download.md new file mode 100644 index 000000000..5aad168ab --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/get-file-download.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = storage.getFileDownload({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + token: '<TOKEN>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/get-file-preview.md b/examples/1.9.x/server-web/examples/storage/get-file-preview.md new file mode 100644 index 000000000..ca28c6d2c --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/get-file-preview.md @@ -0,0 +1,29 @@ +```javascript +import { Client, Storage, ImageGravity, ImageFormat } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = storage.getFilePreview({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + width: 0, // optional + height: 0, // optional + gravity: ImageGravity.Center, // optional + quality: -1, // optional + borderWidth: 0, // optional + borderColor: '', // optional + borderRadius: 0, // optional + opacity: 0, // optional + rotation: -360, // optional + background: '', // optional + output: ImageFormat.Jpg, // optional + token: '<TOKEN>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/get-file-view.md b/examples/1.9.x/server-web/examples/storage/get-file-view.md new file mode 100644 index 000000000..5e7df1397 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/get-file-view.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = storage.getFileView({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + token: '<TOKEN>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/get-file.md b/examples/1.9.x/server-web/examples/storage/get-file.md new file mode 100644 index 000000000..7542ff531 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/get-file.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = await storage.getFile({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/list-buckets.md b/examples/1.9.x/server-web/examples/storage/list-buckets.md new file mode 100644 index 000000000..213f49fb0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/list-buckets.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const storage = new Storage(client); + +const result = await storage.listBuckets({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/list-files.md b/examples/1.9.x/server-web/examples/storage/list-files.md new file mode 100644 index 000000000..5d97d6e2c --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/list-files.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = await storage.listFiles({ + bucketId: '<BUCKET_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/update-bucket.md b/examples/1.9.x/server-web/examples/storage/update-bucket.md new file mode 100644 index 000000000..d1d3d217a --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/update-bucket.md @@ -0,0 +1,26 @@ +```javascript +import { Client, Storage, Compression, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const storage = new Storage(client); + +const result = await storage.updateBucket({ + bucketId: '<BUCKET_ID>', + name: '<NAME>', + permissions: [Permission.read(Role.any())], // optional + fileSecurity: false, // optional + enabled: false, // optional + maximumFileSize: 1, // optional + allowedFileExtensions: [], // optional + compression: Compression.None, // optional + encryption: false, // optional + antivirus: false, // optional + transformations: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/storage/update-file.md b/examples/1.9.x/server-web/examples/storage/update-file.md new file mode 100644 index 000000000..4c41be57f --- /dev/null +++ b/examples/1.9.x/server-web/examples/storage/update-file.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Storage, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const storage = new Storage(client); + +const result = await storage.updateFile({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + name: '<NAME>', // optional + permissions: [Permission.read(Role.any())] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-big-int-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-big-int-column.md new file mode 100644 index 000000000..4e6de6e44 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-big-int-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createBigIntColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-boolean-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-boolean-column.md new file mode 100644 index 000000000..465876339 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-boolean-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createBooleanColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: false, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-datetime-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-datetime-column.md new file mode 100644 index 000000000..0fa4bf541 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-datetime-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createDatetimeColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '2020-10-15T06:38:00.000+00:00', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-email-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-email-column.md new file mode 100644 index 000000000..b0e8f556c --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-email-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createEmailColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: 'email@example.com', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-enum-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-enum-column.md new file mode 100644 index 000000000..38b8a1e10 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-enum-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createEnumColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + elements: [], + required: false, + xdefault: '<DEFAULT>', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-float-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-float-column.md new file mode 100644 index 000000000..b79de08a3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-float-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createFloatColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-index.md b/examples/1.9.x/server-web/examples/tablesdb/create-index.md new file mode 100644 index 000000000..577b42980 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-index.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB, TablesDBIndexType, OrderBy } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createIndex({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + type: TablesDBIndexType.Key, + columns: [], + orders: [OrderBy.Asc], // optional + lengths: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-integer-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-integer-column.md new file mode 100644 index 000000000..aebb42d9f --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-integer-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createIntegerColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + min: null, // optional + max: null, // optional + xdefault: null, // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-ip-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-ip-column.md new file mode 100644 index 000000000..8f3b9b9c9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-ip-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createIpColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-line-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-line-column.md new file mode 100644 index 000000000..b75db329c --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-line-column.md @@ -0,0 +1,20 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createLineColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [[1, 2], [3, 4], [5, 6]] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-longtext-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-longtext-column.md new file mode 100644 index 000000000..32d8c1557 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-longtext-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createLongtextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-mediumtext-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-mediumtext-column.md new file mode 100644 index 000000000..1ba3db8ad --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-mediumtext-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createMediumtextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-operations.md b/examples/1.9.x/server-web/examples/tablesdb/create-operations.md new file mode 100644 index 000000000..f73f91c4e --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-operations.md @@ -0,0 +1,27 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createOperations({ + transactionId: '<TRANSACTION_ID>', + operations: [ + { + "action": "create", + "databaseId": "<DATABASE_ID>", + "tableId": "<TABLE_ID>", + "rowId": "<ROW_ID>", + "data": { + "name": "Walter O'Brien" + } + } + ] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-point-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-point-column.md new file mode 100644 index 000000000..388d2b7f1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-point-column.md @@ -0,0 +1,20 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createPointColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [1, 2] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-polygon-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-polygon-column.md new file mode 100644 index 000000000..932c9eb82 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-polygon-column.md @@ -0,0 +1,20 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createPolygonColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-relationship-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-relationship-column.md new file mode 100644 index 000000000..3fce5eebd --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-relationship-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB, RelationshipType, RelationMutate } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createRelationshipColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + relatedTableId: '<RELATED_TABLE_ID>', + type: RelationshipType.OneToOne, + twoWay: false, // optional + key: '', // optional + twoWayKey: '', // optional + onDelete: RelationMutate.Cascade // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-row.md b/examples/1.9.x/server-web/examples/tablesdb/create-row.md new file mode 100644 index 000000000..46f09b4e2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-row.md @@ -0,0 +1,27 @@ +```javascript +import { Client, TablesDB, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 30, + "isAdmin": false + }, + permissions: [Permission.read(Role.any())], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-rows.md b/examples/1.9.x/server-web/examples/tablesdb/create-rows.md new file mode 100644 index 000000000..8b6497502 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-rows.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createRows({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rows: [], + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-string-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-string-column.md new file mode 100644 index 000000000..fa49a7e1b --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-string-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createStringColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + size: 1, + required: false, + xdefault: '<DEFAULT>', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-table.md b/examples/1.9.x/server-web/examples/tablesdb/create-table.md new file mode 100644 index 000000000..573e4029e --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-table.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createTable({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + name: '<NAME>', + permissions: [Permission.read(Role.any())], // optional + rowSecurity: false, // optional + enabled: false, // optional + columns: [], // optional + indexes: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-text-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-text-column.md new file mode 100644 index 000000000..a0ef32691 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-text-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createTextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-transaction.md b/examples/1.9.x/server-web/examples/tablesdb/create-transaction.md new file mode 100644 index 000000000..199d150ac --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createTransaction({ + ttl: 60 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-url-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-url-column.md new file mode 100644 index 000000000..860f53c4d --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-url-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createUrlColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: 'https://example.com', // optional + array: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create-varchar-column.md b/examples/1.9.x/server-web/examples/tablesdb/create-varchar-column.md new file mode 100644 index 000000000..b1a1c1ecb --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create-varchar-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.createVarcharColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + size: 1, + required: false, + xdefault: '<DEFAULT>', // optional + array: false, // optional + encrypt: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/create.md b/examples/1.9.x/server-web/examples/tablesdb/create.md new file mode 100644 index 000000000..b9e8a4267 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/create.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.create({ + databaseId: '<DATABASE_ID>', + name: '<NAME>', + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/decrement-row-column.md b/examples/1.9.x/server-web/examples/tablesdb/decrement-row-column.md new file mode 100644 index 000000000..faffbcf33 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/decrement-row-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.decrementRowColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + column: '', + value: null, // optional + min: null, // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-column.md b/examples/1.9.x/server-web/examples/tablesdb/delete-column.md new file mode 100644 index 000000000..3ea6ea65f --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-column.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-index.md b/examples/1.9.x/server-web/examples/tablesdb/delete-index.md new file mode 100644 index 000000000..b63150078 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-index.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteIndex({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-row.md b/examples/1.9.x/server-web/examples/tablesdb/delete-row.md new file mode 100644 index 000000000..5d47e8ecf --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-row.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-rows.md b/examples/1.9.x/server-web/examples/tablesdb/delete-rows.md new file mode 100644 index 000000000..7b5ba0a58 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-rows.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteRows({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + queries: [], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-table.md b/examples/1.9.x/server-web/examples/tablesdb/delete-table.md new file mode 100644 index 000000000..672c7d4b8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-table.md @@ -0,0 +1,17 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteTable({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete-transaction.md b/examples/1.9.x/server-web/examples/tablesdb/delete-transaction.md new file mode 100644 index 000000000..f2c498102 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.deleteTransaction({ + transactionId: '<TRANSACTION_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/delete.md b/examples/1.9.x/server-web/examples/tablesdb/delete.md new file mode 100644 index 000000000..1356ff936 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.delete({ + databaseId: '<DATABASE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get-column.md b/examples/1.9.x/server-web/examples/tablesdb/get-column.md new file mode 100644 index 000000000..ae1c9eb7c --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get-column.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.getColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get-index.md b/examples/1.9.x/server-web/examples/tablesdb/get-index.md new file mode 100644 index 000000000..621debdec --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get-index.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.getIndex({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get-row.md b/examples/1.9.x/server-web/examples/tablesdb/get-row.md new file mode 100644 index 000000000..688b96df2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get-row.md @@ -0,0 +1,20 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.getRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + queries: [], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get-table.md b/examples/1.9.x/server-web/examples/tablesdb/get-table.md new file mode 100644 index 000000000..aa0994132 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get-table.md @@ -0,0 +1,17 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.getTable({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get-transaction.md b/examples/1.9.x/server-web/examples/tablesdb/get-transaction.md new file mode 100644 index 000000000..7f8a50df1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get-transaction.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.getTransaction({ + transactionId: '<TRANSACTION_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/get.md b/examples/1.9.x/server-web/examples/tablesdb/get.md new file mode 100644 index 000000000..08460715d --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.get({ + databaseId: '<DATABASE_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/increment-row-column.md b/examples/1.9.x/server-web/examples/tablesdb/increment-row-column.md new file mode 100644 index 000000000..d671cbc51 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/increment-row-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.incrementRowColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + column: '', + value: null, // optional + max: null, // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list-columns.md b/examples/1.9.x/server-web/examples/tablesdb/list-columns.md new file mode 100644 index 000000000..a314e1d88 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list-columns.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.listColumns({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list-indexes.md b/examples/1.9.x/server-web/examples/tablesdb/list-indexes.md new file mode 100644 index 000000000..fcddddb8b --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list-indexes.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.listIndexes({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list-rows.md b/examples/1.9.x/server-web/examples/tablesdb/list-rows.md new file mode 100644 index 000000000..3259ce0ed --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list-rows.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.listRows({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + queries: [], // optional + transactionId: '<TRANSACTION_ID>', // optional + total: false, // optional + ttl: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list-tables.md b/examples/1.9.x/server-web/examples/tablesdb/list-tables.md new file mode 100644 index 000000000..4c4396575 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list-tables.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.listTables({ + databaseId: '<DATABASE_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list-transactions.md b/examples/1.9.x/server-web/examples/tablesdb/list-transactions.md new file mode 100644 index 000000000..c575a7fc2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list-transactions.md @@ -0,0 +1,16 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.listTransactions({ + queries: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/list.md b/examples/1.9.x/server-web/examples/tablesdb/list.md new file mode 100644 index 000000000..607e5b5e3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.list({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-big-int-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-big-int-column.md new file mode 100644 index 000000000..1ef1adf31 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-big-int-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateBigIntColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-boolean-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-boolean-column.md new file mode 100644 index 000000000..7059d7113 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-boolean-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateBooleanColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: false, + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-datetime-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-datetime-column.md new file mode 100644 index 000000000..62c4135f4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-datetime-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateDatetimeColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '2020-10-15T06:38:00.000+00:00', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-email-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-email-column.md new file mode 100644 index 000000000..5a844ea1b --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-email-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateEmailColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: 'email@example.com', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-enum-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-enum-column.md new file mode 100644 index 000000000..694faa502 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-enum-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateEnumColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + elements: [], + required: false, + xdefault: '<DEFAULT>', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-float-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-float-column.md new file mode 100644 index 000000000..8fbb32260 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-float-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateFloatColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-integer-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-integer-column.md new file mode 100644 index 000000000..686df6d8f --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-integer-column.md @@ -0,0 +1,23 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateIntegerColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: null, + min: null, // optional + max: null, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-ip-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-ip-column.md new file mode 100644 index 000000000..471f213eb --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-ip-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateIpColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-line-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-line-column.md new file mode 100644 index 000000000..ba7cb5494 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-line-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateLineColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [[1, 2], [3, 4], [5, 6]], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-longtext-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-longtext-column.md new file mode 100644 index 000000000..f87f93989 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-longtext-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateLongtextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-mediumtext-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-mediumtext-column.md new file mode 100644 index 000000000..6bcfef3af --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-mediumtext-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateMediumtextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-point-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-point-column.md new file mode 100644 index 000000000..3ce5186d2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-point-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updatePointColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [1, 2], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-polygon-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-polygon-column.md new file mode 100644 index 000000000..997bf18c9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-polygon-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updatePolygonColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-relationship-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-relationship-column.md new file mode 100644 index 000000000..89cca3d43 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-relationship-column.md @@ -0,0 +1,20 @@ +```javascript +import { Client, TablesDB, RelationMutate } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateRelationshipColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + onDelete: RelationMutate.Cascade, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-row.md b/examples/1.9.x/server-web/examples/tablesdb/update-row.md new file mode 100644 index 000000000..ee7c44409 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-row.md @@ -0,0 +1,27 @@ +```javascript +import { Client, TablesDB, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 33, + "isAdmin": false + }, // optional + permissions: [Permission.read(Role.any())], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-rows.md b/examples/1.9.x/server-web/examples/tablesdb/update-rows.md new file mode 100644 index 000000000..73b59c2c9 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-rows.md @@ -0,0 +1,26 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateRows({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 33, + "isAdmin": false + }, // optional + queries: [], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-string-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-string-column.md new file mode 100644 index 000000000..870d0ca06 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-string-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateStringColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', + size: 1, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-table.md b/examples/1.9.x/server-web/examples/tablesdb/update-table.md new file mode 100644 index 000000000..0cdda11b0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-table.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateTable({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + name: '<NAME>', // optional + permissions: [Permission.read(Role.any())], // optional + rowSecurity: false, // optional + enabled: false, // optional + purge: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-text-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-text-column.md new file mode 100644 index 000000000..6071843ba --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-text-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateTextColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-transaction.md b/examples/1.9.x/server-web/examples/tablesdb/update-transaction.md new file mode 100644 index 000000000..323adc7b1 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-transaction.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateTransaction({ + transactionId: '<TRANSACTION_ID>', + commit: false, // optional + rollback: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-url-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-url-column.md new file mode 100644 index 000000000..c300f6a1e --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-url-column.md @@ -0,0 +1,21 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateUrlColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: 'https://example.com', + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update-varchar-column.md b/examples/1.9.x/server-web/examples/tablesdb/update-varchar-column.md new file mode 100644 index 000000000..652abf199 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update-varchar-column.md @@ -0,0 +1,22 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.updateVarcharColumn({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + key: '', + required: false, + xdefault: '<DEFAULT>', + size: 1, // optional + newKey: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/update.md b/examples/1.9.x/server-web/examples/tablesdb/update.md new file mode 100644 index 000000000..e618ce900 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/update.md @@ -0,0 +1,18 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.update({ + databaseId: '<DATABASE_ID>', + name: '<NAME>', // optional + enabled: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/upsert-row.md b/examples/1.9.x/server-web/examples/tablesdb/upsert-row.md new file mode 100644 index 000000000..46a8f9d44 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/upsert-row.md @@ -0,0 +1,27 @@ +```javascript +import { Client, TablesDB, Permission, Role } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.upsertRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: '<ROW_ID>', + data: { + "username": "walter.obrien", + "email": "walter.obrien@example.com", + "fullName": "Walter O'Brien", + "age": 33, + "isAdmin": false + }, // optional + permissions: [Permission.read(Role.any())], // optional + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tablesdb/upsert-rows.md b/examples/1.9.x/server-web/examples/tablesdb/upsert-rows.md new file mode 100644 index 000000000..edf4e3bdb --- /dev/null +++ b/examples/1.9.x/server-web/examples/tablesdb/upsert-rows.md @@ -0,0 +1,19 @@ +```javascript +import { Client, TablesDB } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tablesDB = new TablesDB(client); + +const result = await tablesDB.upsertRows({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rows: [], + transactionId: '<TRANSACTION_ID>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/create-membership.md b/examples/1.9.x/server-web/examples/teams/create-membership.md new file mode 100644 index 000000000..4b55200ba --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/create-membership.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.createMembership({ + teamId: '<TEAM_ID>', + roles: [], + email: 'email@example.com', // optional + userId: '<USER_ID>', // optional + phone: '+12065550100', // optional + url: 'https://example.com', // optional + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/create.md b/examples/1.9.x/server-web/examples/teams/create.md new file mode 100644 index 000000000..7c996a2d0 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/create.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.create({ + teamId: '<TEAM_ID>', + name: '<NAME>', + roles: [] // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/delete-membership.md b/examples/1.9.x/server-web/examples/teams/delete-membership.md new file mode 100644 index 000000000..52c2e7735 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/delete-membership.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.deleteMembership({ + teamId: '<TEAM_ID>', + membershipId: '<MEMBERSHIP_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/delete.md b/examples/1.9.x/server-web/examples/teams/delete.md new file mode 100644 index 000000000..053dac1aa --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.delete({ + teamId: '<TEAM_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/get-membership.md b/examples/1.9.x/server-web/examples/teams/get-membership.md new file mode 100644 index 000000000..3d0b92a0e --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/get-membership.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.getMembership({ + teamId: '<TEAM_ID>', + membershipId: '<MEMBERSHIP_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/get-prefs.md b/examples/1.9.x/server-web/examples/teams/get-prefs.md new file mode 100644 index 000000000..7142bbbcf --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/get-prefs.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.getPrefs({ + teamId: '<TEAM_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/get.md b/examples/1.9.x/server-web/examples/teams/get.md new file mode 100644 index 000000000..7def82d91 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.get({ + teamId: '<TEAM_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/list-memberships.md b/examples/1.9.x/server-web/examples/teams/list-memberships.md new file mode 100644 index 000000000..004da4c32 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/list-memberships.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.listMemberships({ + teamId: '<TEAM_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/list.md b/examples/1.9.x/server-web/examples/teams/list.md new file mode 100644 index 000000000..e5ed2c9ee --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.list({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/update-membership-status.md b/examples/1.9.x/server-web/examples/teams/update-membership-status.md new file mode 100644 index 000000000..0f7dacc61 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/update-membership-status.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.updateMembershipStatus({ + teamId: '<TEAM_ID>', + membershipId: '<MEMBERSHIP_ID>', + userId: '<USER_ID>', + secret: '<SECRET>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/update-membership.md b/examples/1.9.x/server-web/examples/teams/update-membership.md new file mode 100644 index 000000000..9fac38ab7 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/update-membership.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.updateMembership({ + teamId: '<TEAM_ID>', + membershipId: '<MEMBERSHIP_ID>', + roles: [] +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/update-name.md b/examples/1.9.x/server-web/examples/teams/update-name.md new file mode 100644 index 000000000..f78ed579a --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/update-name.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.updateName({ + teamId: '<TEAM_ID>', + name: '<NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/teams/update-prefs.md b/examples/1.9.x/server-web/examples/teams/update-prefs.md new file mode 100644 index 000000000..32404b3a2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/teams/update-prefs.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Teams } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setSession(''); // The user session to authenticate with + +const teams = new Teams(client); + +const result = await teams.updatePrefs({ + teamId: '<TEAM_ID>', + prefs: {} +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tokens/create-file-token.md b/examples/1.9.x/server-web/examples/tokens/create-file-token.md new file mode 100644 index 000000000..f57ecd3c8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tokens/create-file-token.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Tokens } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tokens = new Tokens(client); + +const result = await tokens.createFileToken({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + expire: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tokens/delete.md b/examples/1.9.x/server-web/examples/tokens/delete.md new file mode 100644 index 000000000..eaffe5d88 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tokens/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Tokens } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tokens = new Tokens(client); + +const result = await tokens.delete({ + tokenId: '<TOKEN_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tokens/get.md b/examples/1.9.x/server-web/examples/tokens/get.md new file mode 100644 index 000000000..b7d1caabd --- /dev/null +++ b/examples/1.9.x/server-web/examples/tokens/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Tokens } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tokens = new Tokens(client); + +const result = await tokens.get({ + tokenId: '<TOKEN_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tokens/list.md b/examples/1.9.x/server-web/examples/tokens/list.md new file mode 100644 index 000000000..ff3270aba --- /dev/null +++ b/examples/1.9.x/server-web/examples/tokens/list.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Tokens } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tokens = new Tokens(client); + +const result = await tokens.list({ + bucketId: '<BUCKET_ID>', + fileId: '<FILE_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/tokens/update.md b/examples/1.9.x/server-web/examples/tokens/update.md new file mode 100644 index 000000000..6e2c08b10 --- /dev/null +++ b/examples/1.9.x/server-web/examples/tokens/update.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Tokens } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const tokens = new Tokens(client); + +const result = await tokens.update({ + tokenId: '<TOKEN_ID>', + expire: '2020-10-15T06:38:00.000+00:00' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/usage/list-events.md b/examples/1.9.x/server-web/examples/usage/list-events.md new file mode 100644 index 000000000..bb746bf8c --- /dev/null +++ b/examples/1.9.x/server-web/examples/usage/list-events.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Usage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const usage = new Usage(client); + +const result = await usage.listEvents({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/usage/list-gauges.md b/examples/1.9.x/server-web/examples/usage/list-gauges.md new file mode 100644 index 000000000..a01ddfd81 --- /dev/null +++ b/examples/1.9.x/server-web/examples/usage/list-gauges.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Usage } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const usage = new Usage(client); + +const result = await usage.listGauges({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-argon-2-user.md b/examples/1.9.x/server-web/examples/users/create-argon-2-user.md new file mode 100644 index 000000000..0b76d58b6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-argon-2-user.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createArgon2User({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-bcrypt-user.md b/examples/1.9.x/server-web/examples/users/create-bcrypt-user.md new file mode 100644 index 000000000..99338d265 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-bcrypt-user.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createBcryptUser({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-jwt.md b/examples/1.9.x/server-web/examples/users/create-jwt.md new file mode 100644 index 000000000..b22d0621a --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-jwt.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createJWT({ + userId: '<USER_ID>', + sessionId: '<SESSION_ID>', // optional + duration: 0 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-md-5-user.md b/examples/1.9.x/server-web/examples/users/create-md-5-user.md new file mode 100644 index 000000000..e26104c0d --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-md-5-user.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createMD5User({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/users/create-mfa-recovery-codes.md new file mode 100644 index 000000000..1a2cefeec --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-mfa-recovery-codes.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createMFARecoveryCodes({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-ph-pass-user.md b/examples/1.9.x/server-web/examples/users/create-ph-pass-user.md new file mode 100644 index 000000000..a9e066677 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-ph-pass-user.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createPHPassUser({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-scrypt-modified-user.md b/examples/1.9.x/server-web/examples/users/create-scrypt-modified-user.md new file mode 100644 index 000000000..9cdbc8a18 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-scrypt-modified-user.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createScryptModifiedUser({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + passwordSalt: '<PASSWORD_SALT>', + passwordSaltSeparator: '<PASSWORD_SALT_SEPARATOR>', + passwordSignerKey: '<PASSWORD_SIGNER_KEY>', + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-scrypt-user.md b/examples/1.9.x/server-web/examples/users/create-scrypt-user.md new file mode 100644 index 000000000..073c6f9e8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-scrypt-user.md @@ -0,0 +1,24 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createScryptUser({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + passwordSalt: '<PASSWORD_SALT>', + passwordCpu: null, + passwordMemory: null, + passwordParallel: null, + passwordLength: null, + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-session.md b/examples/1.9.x/server-web/examples/users/create-session.md new file mode 100644 index 000000000..cae7a143c --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-session.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createSession({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-sha-user.md b/examples/1.9.x/server-web/examples/users/create-sha-user.md new file mode 100644 index 000000000..d383ac0e5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-sha-user.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Users, PasswordHash } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createSHAUser({ + userId: '<USER_ID>', + email: 'email@example.com', + password: 'password', + passwordVersion: PasswordHash.Sha1, // optional + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-target.md b/examples/1.9.x/server-web/examples/users/create-target.md new file mode 100644 index 000000000..f5e61468b --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-target.md @@ -0,0 +1,21 @@ +```javascript +import { Client, Users, MessagingProviderType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createTarget({ + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + providerType: MessagingProviderType.Email, + identifier: '<IDENTIFIER>', + providerId: '<PROVIDER_ID>', // optional + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create-token.md b/examples/1.9.x/server-web/examples/users/create-token.md new file mode 100644 index 000000000..da96054ab --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create-token.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.createToken({ + userId: '<USER_ID>', + length: 4, // optional + expire: 60 // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/create.md b/examples/1.9.x/server-web/examples/users/create.md new file mode 100644 index 000000000..e5ea5d678 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/create.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.create({ + userId: '<USER_ID>', + email: 'email@example.com', // optional + phone: '+12065550100', // optional + password: '', // optional + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete-identity.md b/examples/1.9.x/server-web/examples/users/delete-identity.md new file mode 100644 index 000000000..4c6455367 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete-identity.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.deleteIdentity({ + identityId: '<IDENTITY_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete-mfa-authenticator.md b/examples/1.9.x/server-web/examples/users/delete-mfa-authenticator.md new file mode 100644 index 000000000..f9a331a9a --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete-mfa-authenticator.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users, AuthenticatorType } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.deleteMFAAuthenticator({ + userId: '<USER_ID>', + type: AuthenticatorType.Totp +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete-session.md b/examples/1.9.x/server-web/examples/users/delete-session.md new file mode 100644 index 000000000..e0d1d7399 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete-session.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.deleteSession({ + userId: '<USER_ID>', + sessionId: '<SESSION_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete-sessions.md b/examples/1.9.x/server-web/examples/users/delete-sessions.md new file mode 100644 index 000000000..5d511070c --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete-sessions.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.deleteSessions({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete-target.md b/examples/1.9.x/server-web/examples/users/delete-target.md new file mode 100644 index 000000000..bec3a1033 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete-target.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.deleteTarget({ + userId: '<USER_ID>', + targetId: '<TARGET_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/delete.md b/examples/1.9.x/server-web/examples/users/delete.md new file mode 100644 index 000000000..1b4cab053 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.delete({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/get-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/users/get-mfa-recovery-codes.md new file mode 100644 index 000000000..044951a14 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/get-mfa-recovery-codes.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.getMFARecoveryCodes({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/get-prefs.md b/examples/1.9.x/server-web/examples/users/get-prefs.md new file mode 100644 index 000000000..75c951c51 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/get-prefs.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.getPrefs({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/get-target.md b/examples/1.9.x/server-web/examples/users/get-target.md new file mode 100644 index 000000000..dd0096477 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/get-target.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.getTarget({ + userId: '<USER_ID>', + targetId: '<TARGET_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/get.md b/examples/1.9.x/server-web/examples/users/get.md new file mode 100644 index 000000000..a18fc14ac --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.get({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-identities.md b/examples/1.9.x/server-web/examples/users/list-identities.md new file mode 100644 index 000000000..9c94b7934 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-identities.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listIdentities({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-logs.md b/examples/1.9.x/server-web/examples/users/list-logs.md new file mode 100644 index 000000000..0797e1600 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-logs.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listLogs({ + userId: '<USER_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-memberships.md b/examples/1.9.x/server-web/examples/users/list-memberships.md new file mode 100644 index 000000000..a477e7290 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-memberships.md @@ -0,0 +1,19 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listMemberships({ + userId: '<USER_ID>', + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-mfa-factors.md b/examples/1.9.x/server-web/examples/users/list-mfa-factors.md new file mode 100644 index 000000000..ca68b56bf --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-mfa-factors.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listMFAFactors({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-sessions.md b/examples/1.9.x/server-web/examples/users/list-sessions.md new file mode 100644 index 000000000..2d77cb574 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-sessions.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listSessions({ + userId: '<USER_ID>', + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list-targets.md b/examples/1.9.x/server-web/examples/users/list-targets.md new file mode 100644 index 000000000..beb7f0eb4 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list-targets.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.listTargets({ + userId: '<USER_ID>', + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/list.md b/examples/1.9.x/server-web/examples/users/list.md new file mode 100644 index 000000000..44d7b581a --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/list.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.list({ + queries: [], // optional + search: '<SEARCH>', // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-email-verification.md b/examples/1.9.x/server-web/examples/users/update-email-verification.md new file mode 100644 index 000000000..5e72d67c8 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-email-verification.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateEmailVerification({ + userId: '<USER_ID>', + emailVerification: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-email.md b/examples/1.9.x/server-web/examples/users/update-email.md new file mode 100644 index 000000000..a3d185957 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-email.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateEmail({ + userId: '<USER_ID>', + email: 'email@example.com' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-impersonator.md b/examples/1.9.x/server-web/examples/users/update-impersonator.md new file mode 100644 index 000000000..9edd8207e --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-impersonator.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateImpersonator({ + userId: '<USER_ID>', + impersonator: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-labels.md b/examples/1.9.x/server-web/examples/users/update-labels.md new file mode 100644 index 000000000..5b1147129 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-labels.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateLabels({ + userId: '<USER_ID>', + labels: [] +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-mfa-recovery-codes.md b/examples/1.9.x/server-web/examples/users/update-mfa-recovery-codes.md new file mode 100644 index 000000000..7060547ee --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-mfa-recovery-codes.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateMFARecoveryCodes({ + userId: '<USER_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-mfa.md b/examples/1.9.x/server-web/examples/users/update-mfa.md new file mode 100644 index 000000000..48b08fc59 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-mfa.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateMFA({ + userId: '<USER_ID>', + mfa: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-name.md b/examples/1.9.x/server-web/examples/users/update-name.md new file mode 100644 index 000000000..3ff688882 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-name.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateName({ + userId: '<USER_ID>', + name: '<NAME>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-password.md b/examples/1.9.x/server-web/examples/users/update-password.md new file mode 100644 index 000000000..018c726d5 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-password.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updatePassword({ + userId: '<USER_ID>', + password: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-phone-verification.md b/examples/1.9.x/server-web/examples/users/update-phone-verification.md new file mode 100644 index 000000000..3cea6d9a3 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-phone-verification.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updatePhoneVerification({ + userId: '<USER_ID>', + phoneVerification: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-phone.md b/examples/1.9.x/server-web/examples/users/update-phone.md new file mode 100644 index 000000000..d58be7532 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-phone.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updatePhone({ + userId: '<USER_ID>', + number: '+12065550100' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-prefs.md b/examples/1.9.x/server-web/examples/users/update-prefs.md new file mode 100644 index 000000000..ead7a0b46 --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-prefs.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updatePrefs({ + userId: '<USER_ID>', + prefs: {} +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-status.md b/examples/1.9.x/server-web/examples/users/update-status.md new file mode 100644 index 000000000..2d04e672f --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-status.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateStatus({ + userId: '<USER_ID>', + status: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/users/update-target.md b/examples/1.9.x/server-web/examples/users/update-target.md new file mode 100644 index 000000000..350b4b66a --- /dev/null +++ b/examples/1.9.x/server-web/examples/users/update-target.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Users } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const users = new Users(client); + +const result = await users.updateTarget({ + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + identifier: '<IDENTIFIER>', // optional + providerId: '<PROVIDER_ID>', // optional + name: '<NAME>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/create.md b/examples/1.9.x/server-web/examples/webhooks/create.md new file mode 100644 index 000000000..3158cbcf6 --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/create.md @@ -0,0 +1,24 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.create({ + webhookId: '<WEBHOOK_ID>', + url: '', + name: '<NAME>', + events: [], + enabled: false, // optional + tls: false, // optional + authUsername: '<AUTH_USERNAME>', // optional + authPassword: '<AUTH_PASSWORD>', // optional + secret: '<SECRET>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/delete.md b/examples/1.9.x/server-web/examples/webhooks/delete.md new file mode 100644 index 000000000..35a061c8c --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/delete.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.delete({ + webhookId: '<WEBHOOK_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/get.md b/examples/1.9.x/server-web/examples/webhooks/get.md new file mode 100644 index 000000000..915cffe1c --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/get.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.get({ + webhookId: '<WEBHOOK_ID>' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/list.md b/examples/1.9.x/server-web/examples/webhooks/list.md new file mode 100644 index 000000000..a4826aa9d --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/list.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.list({ + queries: [], // optional + total: false // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/update-secret.md b/examples/1.9.x/server-web/examples/webhooks/update-secret.md new file mode 100644 index 000000000..4830a12aa --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/update-secret.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.updateSecret({ + webhookId: '<WEBHOOK_ID>', + secret: '<SECRET>' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/server-web/examples/webhooks/update.md b/examples/1.9.x/server-web/examples/webhooks/update.md new file mode 100644 index 000000000..58b6dc3f2 --- /dev/null +++ b/examples/1.9.x/server-web/examples/webhooks/update.md @@ -0,0 +1,23 @@ +```javascript +import { Client, Webhooks } from "appwrite"; + +const client = new Client() + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('<YOUR_PROJECT_ID>') // Your project ID + .setKey('<YOUR_API_KEY>'); // Your secret API key + +const webhooks = new Webhooks(client); + +const result = await webhooks.update({ + webhookId: '<WEBHOOK_ID>', + name: '<NAME>', + url: '', + events: [], + enabled: false, // optional + tls: false, // optional + authUsername: '<AUTH_USERNAME>', // optional + authPassword: '<AUTH_PASSWORD>' // optional +}); + +console.log(result); +``` 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 3eba047ea..07296e62e 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 @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,12 +17,23 @@ }, "servers": [ { - "url": "https:\/\/cloud.appwrite.io\/v1" + "url": "https:\/\/cloud.appwrite.io\/v1", + "description": "Appwrite Cloud endpoint." }, { - "url": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + "url": "https:\/\/{region}.cloud.appwrite.io\/v1", + "description": "Appwrite Cloud regional endpoint. Replace `{region}` with your project region.", + "variables": { + "region": { + "default": "fra", + "description": "Appwrite Cloud region." + } + } } ], + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "paths": { "\/account": { "get": { @@ -555,7 +566,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -627,7 +638,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -751,7 +762,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -891,7 +902,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -1015,7 +1026,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -1149,7 +1160,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -1287,7 +1298,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -1388,7 +1399,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -1487,7 +1498,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -1586,7 +1597,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -3066,7 +3077,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3078,7 +3090,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3147,7 +3160,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3159,7 +3173,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3220,7 +3235,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3232,7 +3248,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -4059,7 +4076,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -4187,7 +4204,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -4321,7 +4338,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -4381,7 +4398,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -4871,7 +4888,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -4955,7 +4972,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -5049,7 +5066,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -5143,7 +5160,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -5286,7 +5303,7 @@ "required": false, "schema": { "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -5709,8 +5726,7 @@ "utc" ], "x-enum-name": null, - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" }, @@ -5864,8 +5880,7 @@ "gif" ], "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" } @@ -5896,7 +5911,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 761, + "weight": 774, "cookies": false, "type": "", "demo": "databases\/list-transactions.md", @@ -5963,7 +5978,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 757, + "weight": 770, "cookies": false, "type": "", "demo": "databases\/create-transaction.md", @@ -6034,7 +6049,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 758, + "weight": 771, "cookies": false, "type": "", "demo": "databases\/get-transaction.md", @@ -6098,7 +6113,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 759, + "weight": 772, "cookies": false, "type": "", "demo": "databases\/update-transaction.md", @@ -6176,7 +6191,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 760, + "weight": 773, "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", @@ -6242,7 +6257,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 762, + "weight": 775, "cookies": false, "type": "", "demo": "databases\/create-operations.md", @@ -6327,7 +6342,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 905, + "weight": 918, "cookies": false, "type": "", "demo": "databases\/list-documents.md", @@ -6451,7 +6466,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 702, + "weight": 715, "cookies": false, "type": "", "demo": "databases\/create-document.md", @@ -6612,7 +6627,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 703, + "weight": 716, "cookies": false, "type": "", "demo": "databases\/get-document.md", @@ -6723,7 +6738,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 706, + "weight": 719, "cookies": false, "type": "", "demo": "databases\/upsert-document.md", @@ -6878,7 +6893,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 704, + "weight": 717, "cookies": false, "type": "", "demo": "databases\/update-document.md", @@ -6990,7 +7005,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 708, + "weight": 721, "cookies": false, "type": "", "demo": "databases\/delete-document.md", @@ -7097,7 +7112,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 713, + "weight": 726, "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", @@ -7226,7 +7241,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 712, + "weight": 725, "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", @@ -7355,7 +7370,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 870, + "weight": 883, "cookies": false, "type": "", "demo": "documentsdb\/list-transactions.md", @@ -7422,7 +7437,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 866, + "weight": 879, "cookies": false, "type": "", "demo": "documentsdb\/create-transaction.md", @@ -7493,7 +7508,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 867, + "weight": 880, "cookies": false, "type": "", "demo": "documentsdb\/get-transaction.md", @@ -7557,7 +7572,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 868, + "weight": 881, "cookies": false, "type": "", "demo": "documentsdb\/update-transaction.md", @@ -7635,7 +7650,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 869, + "weight": 882, "cookies": false, "type": "", "demo": "documentsdb\/delete-transaction.md", @@ -7701,7 +7716,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 871, + "weight": 884, "cookies": false, "type": "", "demo": "documentsdb\/create-operations.md", @@ -7785,7 +7800,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 906, + "weight": 921, "cookies": false, "type": "", "demo": "documentsdb\/list-documents.md", @@ -7905,7 +7920,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 855, + "weight": 868, "cookies": false, "type": "", "demo": "documentsdb\/create-document.md", @@ -8082,7 +8097,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 856, + "weight": 869, "cookies": false, "type": "", "demo": "documentsdb\/get-document.md", @@ -8189,7 +8204,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 859, + "weight": 872, "cookies": false, "type": "", "demo": "documentsdb\/upsert-document.md", @@ -8334,7 +8349,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 857, + "weight": 870, "cookies": false, "type": "", "demo": "documentsdb\/update-document.md", @@ -8440,7 +8455,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 861, + "weight": 874, "cookies": false, "type": "", "demo": "documentsdb\/delete-document.md", @@ -8542,7 +8557,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 865, + "weight": 878, "cookies": false, "type": "", "demo": "documentsdb\/decrement-document-attribute.md", @@ -8665,7 +8680,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 864, + "weight": 877, "cookies": false, "type": "", "demo": "documentsdb\/increment-document-attribute.md", @@ -8788,7 +8803,7 @@ "x-appwrite": { "method": "listExecutions", "group": "executions", - "weight": 436, + "weight": 441, "cookies": false, "type": "", "demo": "functions\/list-executions.md", @@ -8878,7 +8893,7 @@ "x-appwrite": { "method": "createExecution", "group": "executions", - "weight": 434, + "weight": 439, "cookies": false, "type": "", "demo": "functions\/create-execution.md", @@ -8999,7 +9014,7 @@ "x-appwrite": { "method": "getExecution", "group": "executions", - "weight": 435, + "weight": 440, "cookies": false, "type": "", "demo": "functions\/get-execution.md", @@ -9077,7 +9092,7 @@ "x-appwrite": { "method": "query", "group": "graphql", - "weight": 117, + "weight": 116, "cookies": false, "type": "graphql", "demo": "graphql\/query.md", @@ -9131,7 +9146,7 @@ "x-appwrite": { "method": "mutation", "group": "graphql", - "weight": 116, + "weight": 115, "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", @@ -9617,7 +9632,7 @@ "x-appwrite": { "method": "createSubscriber", "group": "subscribers", - "weight": 150, + "weight": 149, "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", @@ -9701,7 +9716,7 @@ "x-appwrite": { "method": "deleteSubscriber", "group": "subscribers", - "weight": 154, + "weight": 153, "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", @@ -9753,21 +9768,21 @@ ] } }, - "\/storage\/buckets\/{bucketId}\/files": { + "\/presences": { "get": { - "summary": "List files", - "operationId": "storageListFiles", + "summary": "List presences", + "operationId": "presencesList", "tags": [ - "storage" + "presences" ], - "description": "Get a list of all the user files. You can use the query params to filter your results.", + "description": "List presence logs. Expired entries are filtered out automatically.\n", "responses": { "200": { - "description": "Files List", + "description": "Presences List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/fileList" + "$ref": "#\/components\/schemas\/presenceList" } } } @@ -9775,25 +9790,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "listFiles", - "group": "files", - "weight": 548, + "method": "list", + "group": "presences", + "weight": 419, "cookies": false, "type": "", - "demo": "storage\/list-files.md", + "demo": "presences\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "presences.read", "platforms": [ "console", - "client", "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", "auth": { "Project": [] } @@ -9806,19 +9821,9 @@ } ], "parameters": [ - { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "schema": { - "type": "string", - "x-example": "<BUCKET_ID>" - }, - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "description": "Array of query strings generated using the Query class provided by the SDK.", "required": false, "schema": { "type": "array", @@ -9830,43 +9835,46 @@ "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } ] - }, - "post": { - "summary": "Create file", - "operationId": "storageCreateFile", + } + }, + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", "tags": [ - "storage" + "presences" ], - "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", "responses": { - "201": { - "description": "File", + "200": { + "description": "Presence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/file" + "$ref": "#\/components\/schemas\/presence" } } } @@ -9874,25 +9882,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createFile", - "group": "files", - "weight": 1195, + "method": "get", + "group": "presences", + "weight": 418, "cookies": false, - "type": "upload", - "demo": "storage\/create-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", - "scope": "files.write", + "type": "", + "demo": "presences\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", "platforms": [ "console", - "client", "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", "auth": { "Project": [] } @@ -9906,69 +9914,164 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "presenceId", + "description": "Presence unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ] + }, + "put": { + "summary": "Upsert presence", + "operationId": "presencesUpsert", + "tags": [ + "presences" + ], + "description": "Create or update a presence log by its user ID.\n", + "responses": { + "200": { + "description": "Presence", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/presence" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsert", + "group": "presences", + "weight": 416, + "cookies": false, + "type": "", + "demo": "presences\/upsert.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" }, "in": "path" } ], "requestBody": { "content": { - "multipart\/form-data": { + "application\/json": { "schema": { "type": "object", "properties": { - "fileId": { + "userId": { "type": "string", - "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<FILE_ID>", - "x-upload-id": true + "description": "User ID.", + "x-example": "<USER_ID>" }, - "file": { + "status": { "type": "string", - "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", - "x-example": null, - "format": "binary" + "description": "Presence status.", + "x-example": "<STATUS>" }, "permissions": { "type": "array", - "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - }, - "x-nullable": true + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" } }, "required": [ - "fileId", - "file" + "status" ] } } } } - } - }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { - "get": { - "summary": "Get file", - "operationId": "storageGetFile", + }, + "patch": { + "summary": "Update presence", + "operationId": "presencesUpdate", "tags": [ - "storage" + "presences" ], - "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", "responses": { "200": { - "description": "File", + "description": "Presence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/file" + "$ref": "#\/components\/schemas\/presence" } } } @@ -9976,19 +10079,414 @@ }, "deprecated": false, "x-appwrite": { - "method": "getFile", - "group": "files", - "weight": 547, + "method": "update", + "group": "presences", + "weight": 420, "cookies": false, "type": "", - "demo": "storage\/get-file.md", + "demo": "presences\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "presences.write", "platforms": [ - "console", - "client", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "update", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { + "type": "boolean", + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", + "tags": [ + "presences" + ], + "description": "Delete a presence log by its unique ID.\n", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "presences", + "weight": 421, + "cookies": false, + "type": "", + "demo": "presences\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ] + } + }, + "\/storage\/buckets\/{bucketId}\/files": { + "get": { + "summary": "List files", + "operationId": "storageListFiles", + "tags": [ + "storage" + ], + "description": "Get a list of all the user files. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Files List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/fileList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listFiles", + "group": "files", + "weight": 555, + "cookies": false, + "type": "", + "demo": "storage\/list-files.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "schema": { + "type": "string", + "x-example": "<BUCKET_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create file", + "operationId": "storageCreateFile", + "tags": [ + "storage" + ], + "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", + "responses": { + "201": { + "description": "File", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/file" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createFile", + "group": "files", + "weight": 1260, + "cookies": false, + "type": "upload", + "demo": "storage\/create-file.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", + "scope": "files.write", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "schema": { + "type": "string", + "x-example": "<BUCKET_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "multipart\/form-data": { + "schema": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<FILE_ID>", + "x-upload-id": true + }, + "file": { + "type": "string", + "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", + "x-example": null, + "format": "binary" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + } + }, + "required": [ + "fileId", + "file" + ] + } + } + } + } + } + }, + "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { + "get": { + "summary": "Get file", + "operationId": "storageGetFile", + "tags": [ + "storage" + ], + "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "responses": { + "200": { + "description": "File", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/file" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getFile", + "group": "files", + "weight": 554, + "cookies": false, + "type": "", + "demo": "storage\/get-file.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", + "platforms": [ + "console", + "client", "server", "server" ], @@ -10052,7 +10550,7 @@ "x-appwrite": { "method": "updateFile", "group": "files", - "weight": 549, + "weight": 556, "cookies": false, "type": "", "demo": "storage\/update-file.md", @@ -10144,7 +10642,7 @@ "x-appwrite": { "method": "deleteFile", "group": "files", - "weight": 550, + "weight": 557, "cookies": false, "type": "", "demo": "storage\/delete-file.md", @@ -10213,7 +10711,7 @@ "x-appwrite": { "method": "getFileDownload", "group": "files", - "weight": 552, + "weight": 559, "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", @@ -10293,7 +10791,7 @@ "x-appwrite": { "method": "getFilePreview", "group": "files", - "weight": 551, + "weight": 558, "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", @@ -10487,8 +10985,7 @@ "gif" ], "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" }, @@ -10523,7 +11020,7 @@ "x-appwrite": { "method": "getFileView", "group": "files", - "weight": 553, + "weight": 560, "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", @@ -10610,7 +11107,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 836, + "weight": 849, "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", @@ -10680,7 +11177,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 832, + "weight": 845, "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", @@ -10754,7 +11251,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 833, + "weight": 846, "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", @@ -10821,7 +11318,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 834, + "weight": 847, "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", @@ -10902,7 +11399,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 835, + "weight": 848, "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", @@ -10971,7 +11468,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 837, + "weight": 850, "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", @@ -11059,7 +11556,7 @@ "x-appwrite": { "method": "listRows", "group": "rows", - "weight": 907, + "weight": 919, "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", @@ -11182,7 +11679,7 @@ "x-appwrite": { "method": "createRow", "group": "rows", - "weight": 820, + "weight": 833, "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", @@ -11338,7 +11835,7 @@ "x-appwrite": { "method": "getRow", "group": "rows", - "weight": 821, + "weight": 834, "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", @@ -11448,7 +11945,7 @@ "x-appwrite": { "method": "upsertRow", "group": "rows", - "weight": 824, + "weight": 837, "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", @@ -11598,7 +12095,7 @@ "x-appwrite": { "method": "updateRow", "group": "rows", - "weight": 822, + "weight": 835, "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", @@ -11709,7 +12206,7 @@ "x-appwrite": { "method": "deleteRow", "group": "rows", - "weight": 826, + "weight": 839, "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", @@ -11815,7 +12312,7 @@ "x-appwrite": { "method": "decrementRowColumn", "group": "rows", - "weight": 831, + "weight": 844, "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", @@ -11943,7 +12440,7 @@ "x-appwrite": { "method": "incrementRowColumn", "group": "rows", - "weight": 830, + "weight": 843, "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", @@ -12071,7 +12568,7 @@ "x-appwrite": { "method": "list", "group": "teams", - "weight": 524, + "weight": 531, "cookies": false, "type": "", "demo": "teams\/list.md", @@ -12160,7 +12657,7 @@ "x-appwrite": { "method": "create", "group": "teams", - "weight": 522, + "weight": 529, "cookies": false, "type": "", "demo": "teams\/create.md", @@ -12247,7 +12744,7 @@ "x-appwrite": { "method": "get", "group": "teams", - "weight": 523, + "weight": 530, "cookies": false, "type": "", "demo": "teams\/get.md", @@ -12311,7 +12808,7 @@ "x-appwrite": { "method": "updateName", "group": "teams", - "weight": 526, + "weight": 533, "cookies": false, "type": "", "demo": "teams\/update-name.md", @@ -12387,7 +12884,7 @@ "x-appwrite": { "method": "delete", "group": "teams", - "weight": 525, + "weight": 532, "cookies": false, "type": "", "demo": "teams\/delete.md", @@ -12453,7 +12950,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 531, + "weight": 538, "cookies": false, "type": "", "demo": "teams\/list-memberships.md", @@ -12552,7 +13049,7 @@ "x-appwrite": { "method": "createMembership", "group": "memberships", - "weight": 529, + "weight": 536, "cookies": false, "type": "", "demo": "teams\/create-membership.md", @@ -12668,7 +13165,7 @@ "x-appwrite": { "method": "getMembership", "group": "memberships", - "weight": 530, + "weight": 537, "cookies": false, "type": "", "demo": "teams\/get-membership.md", @@ -12742,7 +13239,7 @@ "x-appwrite": { "method": "updateMembership", "group": "memberships", - "weight": 532, + "weight": 539, "cookies": false, "type": "", "demo": "teams\/update-membership.md", @@ -12831,7 +13328,7 @@ "x-appwrite": { "method": "deleteMembership", "group": "memberships", - "weight": 1196, + "weight": 1261, "cookies": false, "type": "", "demo": "teams\/delete-membership.md", @@ -12907,7 +13404,7 @@ "x-appwrite": { "method": "updateMembershipStatus", "group": "memberships", - "weight": 534, + "weight": 541, "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", @@ -13007,7 +13504,7 @@ "x-appwrite": { "method": "getPrefs", "group": "teams", - "weight": 527, + "weight": 534, "cookies": false, "type": "", "demo": "teams\/get-prefs.md", @@ -13070,7 +13567,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "teams", - "weight": 528, + "weight": 535, "cookies": false, "type": "", "demo": "teams\/update-prefs.md", @@ -13154,7 +13651,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 903, + "weight": 916, "cookies": false, "type": "", "demo": "vectorsdb\/list-transactions.md", @@ -13221,7 +13718,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 899, + "weight": 912, "cookies": false, "type": "", "demo": "vectorsdb\/create-transaction.md", @@ -13292,7 +13789,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 900, + "weight": 913, "cookies": false, "type": "", "demo": "vectorsdb\/get-transaction.md", @@ -13356,7 +13853,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 901, + "weight": 914, "cookies": false, "type": "", "demo": "vectorsdb\/update-transaction.md", @@ -13434,7 +13931,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 902, + "weight": 915, "cookies": false, "type": "", "demo": "vectorsdb\/delete-transaction.md", @@ -13500,7 +13997,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 904, + "weight": 917, "cookies": false, "type": "", "demo": "vectorsdb\/create-operations.md", @@ -13585,7 +14082,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 893, + "weight": 906, "cookies": false, "type": "", "demo": "vectorsdb\/list-documents.md", @@ -13705,7 +14202,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 889, + "weight": 902, "cookies": false, "type": "", "demo": "vectorsdb\/create-document.md", @@ -13855,7 +14352,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 892, + "weight": 905, "cookies": false, "type": "", "demo": "vectorsdb\/get-document.md", @@ -13962,7 +14459,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 891, + "weight": 904, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-document.md", @@ -14107,7 +14604,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 890, + "weight": 903, "cookies": false, "type": "", "demo": "vectorsdb\/update-document.md", @@ -14213,7 +14710,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 894, + "weight": 907, "cookies": false, "type": "", "demo": "vectorsdb\/delete-document.md", @@ -14468,6 +14965,34 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "$ref": "#\/components\/schemas\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "sessionList": { "description": "Sessions List", "type": "object", @@ -15005,6 +15530,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -16095,6 +16695,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -16128,6 +16734,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -16145,6 +16752,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": 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 c4ebcc744..638ed2692 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 @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,12 +17,23 @@ }, "servers": [ { - "url": "https:\/\/cloud.appwrite.io\/v1" + "url": "https:\/\/cloud.appwrite.io\/v1", + "description": "Appwrite Cloud endpoint." }, { - "url": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + "url": "https:\/\/{region}.cloud.appwrite.io\/v1", + "description": "Appwrite Cloud regional endpoint. Replace `{region}` with your project region.", + "variables": { + "region": { + "default": "fra", + "description": "Appwrite Cloud region." + } + } } ], + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "paths": { "\/account": { "get": { @@ -229,7 +240,7 @@ "x-appwrite": { "method": "listBillingAddresses", "group": null, - "weight": 1084, + "weight": 1148, "cookies": false, "type": "", "demo": "account\/list-billing-addresses.md", @@ -277,7 +288,7 @@ "description": "Add a new billing address to a user's account.", "responses": { "201": { - "description": "BillingAddress", + "description": "Address", "content": { "application\/json": { "schema": { @@ -291,7 +302,7 @@ "x-appwrite": { "method": "createBillingAddress", "group": null, - "weight": 1082, + "weight": 1146, "cookies": false, "type": "", "demo": "account\/create-billing-address.md", @@ -372,7 +383,7 @@ "description": "Get a specific billing address for a user using it's ID.", "responses": { "200": { - "description": "BillingAddress", + "description": "Address", "content": { "application\/json": { "schema": { @@ -386,7 +397,7 @@ "x-appwrite": { "method": "getBillingAddress", "group": null, - "weight": 1083, + "weight": 1147, "cookies": false, "type": "", "demo": "account\/get-billing-address.md", @@ -431,7 +442,7 @@ "description": "Update a specific billing address using it's ID.", "responses": { "200": { - "description": "BillingAddress", + "description": "Address", "content": { "application\/json": { "schema": { @@ -445,7 +456,7 @@ "x-appwrite": { "method": "updateBillingAddress", "group": null, - "weight": 1085, + "weight": 1149, "cookies": false, "type": "", "demo": "account\/update-billing-address.md", @@ -543,7 +554,7 @@ "x-appwrite": { "method": "deleteBillingAddress", "group": null, - "weight": 1086, + "weight": 1150, "cookies": false, "type": "", "demo": "account\/delete-billing-address.md", @@ -604,7 +615,7 @@ "x-appwrite": { "method": "getCoupon", "group": null, - "weight": 1088, + "weight": 1152, "cookies": false, "type": "", "demo": "account\/get-coupon.md", @@ -882,7 +893,7 @@ "x-appwrite": { "method": "listInvoices", "group": null, - "weight": 1087, + "weight": 1151, "cookies": false, "type": "", "demo": "account\/list-invoices.md", @@ -1016,7 +1027,7 @@ "x-appwrite": { "method": "listKeys", "group": "keys", - "weight": 1070, + "weight": 1134, "cookies": false, "type": "", "demo": "account\/list-keys.md", @@ -1075,7 +1086,7 @@ "x-appwrite": { "method": "createKey", "group": "keys", - "weight": 1071, + "weight": 1135, "cookies": false, "type": "", "demo": "account\/create-key.md", @@ -1165,7 +1176,7 @@ "x-appwrite": { "method": "getKey", "group": "keys", - "weight": 1074, + "weight": 1138, "cookies": false, "type": "", "demo": "account\/get-key.md", @@ -1223,7 +1234,7 @@ "x-appwrite": { "method": "updateKey", "group": "keys", - "weight": 1073, + "weight": 1137, "cookies": false, "type": "", "demo": "account\/update-key.md", @@ -1316,7 +1327,7 @@ "x-appwrite": { "method": "deleteKey", "group": "keys", - "weight": 1072, + "weight": 1136, "cookies": false, "type": "", "demo": "account\/delete-key.md", @@ -1455,7 +1466,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -1527,7 +1538,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -1651,7 +1662,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -1791,7 +1802,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -1915,7 +1926,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -2049,7 +2060,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -2187,7 +2198,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -2288,7 +2299,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -2387,7 +2398,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -2486,7 +2497,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -2737,7 +2748,7 @@ "x-appwrite": { "method": "listPaymentMethods", "group": null, - "weight": 1077, + "weight": 1141, "cookies": false, "type": "", "demo": "account\/list-payment-methods.md", @@ -2799,7 +2810,7 @@ "x-appwrite": { "method": "createPaymentMethod", "group": null, - "weight": 1075, + "weight": 1139, "cookies": false, "type": "", "demo": "account\/create-payment-method.md", @@ -2848,7 +2859,7 @@ "x-appwrite": { "method": "getPaymentMethod", "group": null, - "weight": 1076, + "weight": 1140, "cookies": false, "type": "", "demo": "account\/get-payment-method.md", @@ -2907,7 +2918,7 @@ "x-appwrite": { "method": "updatePaymentMethod", "group": null, - "weight": 1078, + "weight": 1142, "cookies": false, "type": "", "demo": "account\/update-payment-method.md", @@ -2991,7 +3002,7 @@ "x-appwrite": { "method": "deletePaymentMethod", "group": null, - "weight": 1081, + "weight": 1145, "cookies": false, "type": "", "demo": "account\/delete-payment-method.md", @@ -3052,7 +3063,7 @@ "x-appwrite": { "method": "updatePaymentMethodProvider", "group": null, - "weight": 1079, + "weight": 1143, "cookies": false, "type": "", "demo": "account\/update-payment-method-provider.md", @@ -3144,7 +3155,7 @@ "x-appwrite": { "method": "updatePaymentMethodMandateOptions", "group": null, - "weight": 1080, + "weight": 1144, "cookies": false, "type": "", "demo": "account\/update-payment-method-mandate-options.md", @@ -4434,7 +4445,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4446,7 +4458,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "requestBody": { @@ -4515,7 +4528,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4527,7 +4541,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -4588,7 +4603,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4600,7 +4616,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -5434,7 +5451,7 @@ "x-appwrite": { "method": "listEvents", "group": null, - "weight": 1193, + "weight": 1258, "cookies": false, "type": "", "demo": "activities\/list-events.md", @@ -5497,7 +5514,7 @@ "x-appwrite": { "method": "getEvent", "group": "events", - "weight": 1194, + "weight": 1259, "cookies": false, "type": "", "demo": "activities\/get-event.md", @@ -5553,7 +5570,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -5682,7 +5699,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -5817,7 +5834,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -5878,7 +5895,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -6369,7 +6386,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -6454,7 +6471,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -6549,7 +6566,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -6644,7 +6661,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -6788,7 +6805,7 @@ "required": false, "schema": { "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -7211,8 +7228,7 @@ "utc" ], "x-enum-name": null, - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" }, @@ -7366,8 +7382,7 @@ "gif" ], "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" } @@ -7398,7 +7413,7 @@ "x-appwrite": { "method": "listArchives", "group": null, - "weight": 1064, + "weight": 1127, "cookies": false, "type": "", "demo": "backups\/list-archives.md", @@ -7462,7 +7477,7 @@ "x-appwrite": { "method": "createArchive", "group": null, - "weight": 1065, + "weight": 1128, "cookies": false, "type": "", "demo": "backups\/create-archive.md", @@ -7551,7 +7566,7 @@ "x-appwrite": { "method": "getArchive", "group": null, - "weight": 1063, + "weight": 1126, "cookies": false, "type": "", "demo": "backups\/get-archive.md", @@ -7605,7 +7620,7 @@ "x-appwrite": { "method": "deleteArchive", "group": null, - "weight": 1066, + "weight": 1129, "cookies": false, "type": "", "demo": "backups\/delete-archive.md", @@ -7668,7 +7683,7 @@ "x-appwrite": { "method": "listPolicies", "group": null, - "weight": 1059, + "weight": 1122, "cookies": false, "type": "", "demo": "backups\/list-policies.md", @@ -7735,7 +7750,7 @@ "x-appwrite": { "method": "createPolicy", "group": null, - "weight": 1060, + "weight": 1123, "cookies": false, "type": "", "demo": "backups\/create-policy.md", @@ -7856,7 +7871,7 @@ "x-appwrite": { "method": "getPolicy", "group": null, - "weight": 1058, + "weight": 1121, "cookies": false, "type": "", "demo": "backups\/get-policy.md", @@ -7920,7 +7935,7 @@ "x-appwrite": { "method": "updatePolicy", "group": null, - "weight": 1061, + "weight": 1124, "cookies": false, "type": "", "demo": "backups\/update-policy.md", @@ -8012,7 +8027,7 @@ "x-appwrite": { "method": "deletePolicy", "group": null, - "weight": 1062, + "weight": 1125, "cookies": false, "type": "", "demo": "backups\/delete-policy.md", @@ -8078,7 +8093,7 @@ "x-appwrite": { "method": "createRestoration", "group": null, - "weight": 1069, + "weight": 1132, "cookies": false, "type": "", "demo": "backups\/create-restoration.md", @@ -8177,7 +8192,7 @@ "x-appwrite": { "method": "listRestorations", "group": null, - "weight": 1068, + "weight": 1131, "cookies": false, "type": "", "demo": "backups\/list-restorations.md", @@ -8243,7 +8258,7 @@ "x-appwrite": { "method": "getRestoration", "group": null, - "weight": 1067, + "weight": 1130, "cookies": false, "type": "", "demo": "backups\/get-restoration.md", @@ -8282,82 +8297,21 @@ ] } }, - "\/console\/assistant": { - "post": { - "summary": "Create assistant query", - "operationId": "assistantChat", - "tags": [ - "assistant" - ], - "description": "Send a prompt to the AI assistant and receive a response. This endpoint allows you to interact with Appwrite's AI assistant by sending questions or prompts and receiving helpful responses in real-time through a server-sent events stream. ", - "responses": { - "200": { - "description": "File" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "chat", - "group": "console", - "weight": 504, - "cookies": false, - "type": "", - "demo": "assistant\/chat.md", - "rate-limit": 15, - "rate-time": 3600, - "rate-key": "userId:{userId}", - "scope": "assistant.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "description": "Prompt. A string containing questions asked to the AI assistant.", - "x-example": "<PROMPT>" - } - }, - "required": [ - "prompt" - ] - } - } - } - } - } - }, - "\/console\/campaigns\/{campaignId}": { + "\/compute\/databases": { "get": { - "summary": "Get campaign details", - "operationId": "consoleGetCampaign", + "summary": "List dedicated databases.", + "operationId": "computeListDatabases", "tags": [ - "console" + "compute" ], - "description": "Receive the details of a campaign using its ID.", + "description": " List all dedicated databases. Results support pagination.", "responses": { - "201": { - "description": "Campaign", + "200": { + "description": "Dedicated databases list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/campaign" + "$ref": "#\/components\/schemas\/dedicatedDatabaseList" } } } @@ -8365,22 +8319,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCampaign", - "group": null, - "weight": 920, + "method": "listDatabases", + "group": "databases", + "weight": 929, "cookies": false, "type": "", - "demo": "console\/get-campaign.md", + "demo": "compute\/list-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-campaign.md", "auth": { "Project": [] } @@ -8392,33 +8345,34 @@ ], "parameters": [ { - "name": "campaignId", - "description": "ID of the campaign", - "required": true, + "name": "queries", + "description": "Array of query strings.", + "required": false, "schema": { - "type": "string", - "x-example": "<CAMPAIGN_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" } ] - } - }, - "\/console\/coupons\/{couponId}": { - "get": { - "summary": "Get coupon details", - "operationId": "consoleGetCoupon", + }, + "post": { + "summary": "Create a dedicated database.", + "operationId": "computeCreateDatabase", "tags": [ - "console" + "compute" ], - "description": "Get the details of a coupon using it's coupon ID.", + "description": " Create a new dedicated database with the chosen engine and configuration. Status will be 'provisioning' until the database is ready.", "responses": { "201": { - "description": "Coupon", + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/coupon" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } @@ -8426,22 +8380,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCoupon", - "group": null, - "weight": 917, + "method": "createDatabase", + "group": "databases", + "weight": 927, "cookies": false, "type": "", - "demo": "console\/get-coupon.md", - "rate-limit": 50, + "demo": "compute\/create-database.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-coupon.md", "auth": { "Project": [] } @@ -8451,83 +8404,269 @@ "Project": [] } ], - "parameters": [ - { - "name": "couponId", - "description": "ID of the coupon", - "required": true, - "schema": { - "type": "string", - "x-example": "<COUPON_ID>" - }, - "in": "path" - } - ] - } - }, - "\/console\/oauth2-providers": { - "get": { - "summary": "List OAuth2 providers", - "operationId": "consoleListOAuth2Providers", - "tags": [ - "console" - ], - "description": "List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.", - "responses": { - "200": { - "description": "Console OAuth2 Providers List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/consoleOAuth2ProviderList" - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "description": "Database ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database display name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres", + "enum": [ + "postgres", + "mysql", + "mariadb", + "mongodb" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "version": { + "type": "string", + "description": "Database engine version. Defaults to latest for selected engine.", + "x-example": "17", + "enum": [ + "17", + "18", + "8.0", + "8.4", + "10.11", + "11.4", + "7.0" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Postgres 17", + "Postgres 18", + "MySQL 8.0", + "MySQL 8.4", + "MariaDB 10.11", + "MariaDB 11.4", + "MongoDB 7.0" + ], + "x-nullable": true + }, + "region": { + "type": "string", + "description": "Region identifier. Use one of the enabled region codes (e.g., fra, nyc, syd).", + "x-example": "fra", + "enum": [ + "fra", + "nyc", + "syd", + "sfo", + "sgp", + "tor" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "type": { + "type": "string", + "description": "Database type: shared (serverless) or dedicated (always-on).", + "x-example": "shared", + "enum": [ + "shared", + "dedicated" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "specification": { + "type": "string", + "description": "Specification identifier.", + "x-example": "<SPECIFICATION>" + }, + "backend": { + "type": "string", + "description": "Database backend provider: prisma, or edge.", + "x-example": "prisma", + "enum": [ + "prisma", + "edge" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "cpu": { + "type": "integer", + "description": "CPU in millicores (125-16000).", + "x-example": 125, + "format": "int32" + }, + "memory": { + "type": "integer", + "description": "Memory in MB to allocate (128-65536).", + "x-example": 128, + "format": "int32" + }, + "storage": { + "type": "integer", + "description": "Storage in GB to allocate (1-16384).", + "x-example": 1, + "format": "int32" + }, + "storageClass": { + "type": "string", + "description": "Storage class: ssd, nvme, or hdd.", + "x-example": "ssd", + "enum": [ + "ssd", + "nvme", + "hdd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "storageMaxGb": { + "type": "integer", + "description": "Maximum storage limit in GB. 0 uses system default.", + "x-example": 0, + "format": "int32" + }, + "highAvailability": { + "type": "boolean", + "description": "Enable high availability.", + "x-example": false + }, + "highAvailabilityReplicaCount": { + "type": "integer", + "description": "Number of high availability replicas (0-5).", + "x-example": 0, + "format": "int32" + }, + "highAvailabilitySyncMode": { + "type": "string", + "description": "Replication sync mode. Allowed values: async, sync, quorum.", + "x-example": "async", + "enum": [ + "async", + "sync", + "quorum" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "networkMaxConnections": { + "type": "integer", + "description": "Maximum concurrent connections.", + "x-example": 10, + "format": "int32" + }, + "networkIdleTimeoutSeconds": { + "type": "integer", + "description": "Connection idle timeout in seconds.", + "x-example": 60, + "format": "int32" + }, + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "idleTimeoutMinutes": { + "type": "integer", + "description": "Minutes of inactivity before container scales to zero.", + "x-example": 5, + "format": "int32" + }, + "backupEnabled": { + "type": "boolean", + "description": "Enable automatic backups.", + "x-example": false + }, + "backupPitr": { + "type": "boolean", + "description": "Enable point-in-time recovery.", + "x-example": false + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": null + }, + "backupRetentionDays": { + "type": "integer", + "description": "Number of days to retain backups.", + "x-example": 1, + "format": "int32" + }, + "pitrRetentionDays": { + "type": "integer", + "description": "Number of days to retain PITR data.", + "x-example": 1, + "format": "int32" + }, + "storageAutoscaling": { + "type": "boolean", + "description": "Enable automatic storage expansion when usage exceeds threshold.", + "x-example": false + }, + "storageAutoscalingThresholdPercent": { + "type": "integer", + "description": "Storage usage percentage (50-95) that triggers automatic expansion.", + "x-example": 50, + "format": "int32" + }, + "storageAutoscalingMaxGb": { + "type": "integer", + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 0, + "format": "int32" + }, + "metricsEnabled": { + "type": "boolean", + "description": "Enable metrics collection.", + "x-example": false + }, + "poolerEnabled": { + "type": "boolean", + "description": "Enable connection pooler on provision.", + "x-example": false + } + }, + "required": [ + "databaseId", + "name" + ] } } } - }, - "deprecated": false, - "x-appwrite": { - "method": "listOAuth2Providers", - "group": "console", - "weight": 502, - "cookies": false, - "type": "", - "demo": "console\/list-o-auth-2-providers.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "public", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ] + } } }, - "\/console\/plans": { + "\/compute\/databases\/{databaseId}": { "get": { - "summary": "Get plans", - "operationId": "consoleGetPlans", + "summary": "Get dedicated database.", + "operationId": "computeGetDatabase", "tags": [ - "console" + "compute" ], - "description": "Return a list of all available plans.", + "description": " Get a dedicated database by its unique ID. Returns the database configuration and current status.", "responses": { "200": { - "description": "Billing plan list", + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/billingPlanList" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } @@ -8535,22 +8674,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPlans", - "group": null, - "weight": 915, + "method": "getDatabase", + "group": "databases", + "weight": 928, "cookies": false, "type": "", - "demo": "console\/get-plans.md", + "demo": "compute\/get-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plans.md", "auth": { "Project": [] } @@ -8562,40 +8700,31 @@ ], "parameters": [ { - "name": "platform", - "description": "Platform type", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { "type": "string", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [], - "default": "appwrite" + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/console\/plans\/{planId}": { - "get": { - "summary": "Get plan", - "operationId": "consoleGetPlan", + }, + "patch": { + "summary": "Update dedicated database.", + "operationId": "computeUpdateDatabase", "tags": [ - "console" + "compute" ], - "description": "Get the details of a plan using its plan ID.", + "description": " Update a dedicated database configuration. All changes are applied with zero downtime. Resource changes (cpu, memory) are handled via rolling cutover. Storage expansion is done online. All other settings are applied in-place.", "responses": { "200": { - "description": "billingPlan", + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/billingPlan" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } @@ -8603,22 +8732,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPlan", - "group": null, - "weight": 916, + "method": "updateDatabase", + "group": "databases", + "weight": 930, "cookies": false, "type": "", - "demo": "console\/get-plan.md", + "demo": "compute\/update-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plan.md", "auth": { "Project": [] } @@ -8630,56 +8758,281 @@ ], "parameters": [ { - "name": "planId", - "description": "Plan id", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<PLAN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } - ] - } - }, - "\/console\/programs\/{programId}": { - "get": { - "summary": "Get program details", - "operationId": "consoleGetProgram", - "tags": [ - "console" ], - "description": "Receive the details of a program using its ID.", - "responses": { - "201": { - "description": "Program", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/program" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database display name.", + "x-example": "<NAME>", + "x-nullable": true + }, + "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 database.", + "x-example": "ready", + "enum": [ + "ready", + "paused", + "inactive" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "specification": { + "type": "string", + "description": "Specification. Changes cpu, memory, and type based on specification config.", + "x-example": "<SPECIFICATION>", + "x-nullable": true + }, + "cpu": { + "type": "number", + "description": "CPU cores to allocate (125-16000).", + "x-example": 125, + "format": "float", + "x-nullable": true + }, + "memory": { + "type": "integer", + "description": "Memory in MB to allocate (128-65536).", + "x-example": 128, + "format": "int32", + "x-nullable": true + }, + "storage": { + "type": "integer", + "description": "Storage in GB to allocate (1-16384).", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "storageClass": { + "type": "string", + "description": "Storage class. Allowed values: ssd, nvme, hdd.", + "x-example": "ssd", + "enum": [ + "ssd", + "nvme", + "hdd" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "highAvailability": { + "type": "boolean", + "description": "Enable high availability.", + "x-example": false, + "x-nullable": true + }, + "highAvailabilityReplicaCount": { + "type": "integer", + "description": "Number of high availability replicas (0-5).", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "networkMaxConnections": { + "type": "integer", + "description": "Maximum concurrent connections.", + "x-example": 10, + "format": "int32", + "x-nullable": true + }, + "networkIdleTimeoutSeconds": { + "type": "integer", + "description": "Connection idle timeout in seconds (60-86400).", + "x-example": 60, + "format": "int32", + "x-nullable": true + }, + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "idleTimeoutMinutes": { + "type": "integer", + "description": "Minutes before container scales to zero.", + "x-example": 5, + "format": "int32", + "x-nullable": true + }, + "backupEnabled": { + "type": "boolean", + "description": "Enable automatic backups.", + "x-example": false, + "x-nullable": true + }, + "backupPitr": { + "type": "boolean", + "description": "Enable point-in-time recovery.", + "x-example": false, + "x-nullable": true + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": null, + "x-nullable": true + }, + "backupRetentionDays": { + "type": "integer", + "description": "Days to retain backups.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "pitrRetentionDays": { + "type": "integer", + "description": "Days to retain PITR data.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "storageAutoscaling": { + "type": "boolean", + "description": "Enable automatic storage expansion when usage exceeds threshold.", + "x-example": false, + "x-nullable": true + }, + "storageAutoscalingThresholdPercent": { + "type": "integer", + "description": "Storage usage percentage (50-95) that triggers automatic expansion.", + "x-example": 50, + "format": "int32", + "x-nullable": true + }, + "storageAutoscalingMaxGb": { + "type": "integer", + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "poolerEnabled": { + "type": "boolean", + "description": "Attach or detach the connection pooler sidecar. Set to true to add the sidecar (no-op if already attached) or false to remove it.", + "x-example": false, + "x-nullable": true + }, + "metricsEnabled": { + "type": "boolean", + "description": "Enable or disable the metrics-agent sidecar.", + "x-example": false, + "x-nullable": true + }, + "metricsTraceSampleRate": { + "type": "number", + "description": "Fraction of queries to trace (0.0\u20131.0). Forwarded to the sidecar.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "metricsSlowQueryLogThresholdMs": { + "type": "integer", + "description": "Threshold in ms above which queries are logged as slow. Forwarded to the sidecar.", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "sqlApiEnabled": { + "type": "boolean", + "description": "Enable the SQL API sidecar for this database.", + "x-example": false, + "x-nullable": true + }, + "sqlApiAllowedStatements": { + "type": "array", + "description": "Statement types the SQL API accepts. Allowed values: SELECT, INSERT, UPDATE, DELETE.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "select", + "insert", + "update", + "delete" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "x-nullable": true + }, + "sqlApiMaxRows": { + "type": "integer", + "description": "Maximum rows returned per SQL API execution (1-1000000).", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "sqlApiMaxBytes": { + "type": "integer", + "description": "Maximum serialised SQL API result payload in bytes (1024-104857600).", + "x-example": 1024, + "format": "int32", + "x-nullable": true + }, + "sqlApiTimeoutSeconds": { + "type": "integer", + "description": "Per-call SQL API execution timeout in seconds (1-300).", + "x-example": 1, + "format": "int32", + "x-nullable": true + } } } } } + } + }, + "delete": { + "summary": "Delete dedicated database.", + "operationId": "computeDeleteDatabase", + "tags": [ + "compute" + ], + "description": " Delete a dedicated database. This action is irreversible. The database status will be set to 'deleting' and all resources will be cleaned up.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "getProgram", - "group": null, - "weight": 918, + "method": "deleteDatabase", + "group": "databases", + "weight": 931, "cookies": false, "type": "", - "demo": "console\/get-program.md", + "demo": "compute\/delete-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-program.md", "auth": { "Project": [] } @@ -8691,33 +9044,33 @@ ], "parameters": [ { - "name": "programId", - "description": "ID of the program", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<PROGRAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } ] } }, - "\/console\/programs\/{programId}\/memberships": { - "post": { - "summary": "Create program membership", - "operationId": "consoleCreateProgramMembership", + "\/compute\/databases\/{databaseId}\/backups": { + "get": { + "summary": "List database backups.", + "operationId": "computeListDatabaseBackups", "tags": [ - "console" + "compute" ], - "description": "Create a new membership for an account to a program.", + "description": " List all backups for a dedicated database. Results can be filtered by status and type.", "responses": { "200": { - "description": "Organization", + "description": "BackupList", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBackupList" } } } @@ -8725,22 +9078,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "createProgramMembership", - "group": null, - "weight": 919, + "method": "listDatabaseBackups", + "group": "databases", + "weight": 959, "cookies": false, "type": "", - "demo": "console\/create-program-membership.md", - "rate-limit": 10, + "demo": "compute\/list-database-backups.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-program-membership.md", "auth": { "Project": [] } @@ -8752,33 +9104,44 @@ ], "parameters": [ { - "name": "programId", - "description": "ID of the program", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<PROGRAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, type, databaseId", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } ] - } - }, - "\/console\/regions": { - "get": { - "summary": "List Regions", - "operationId": "consoleListRegions", + }, + "post": { + "summary": "Create a database backup.", + "operationId": "computeCreateDatabaseBackup", "tags": [ - "console" + "compute" ], - "description": "Get all available regions for the console.", + "description": " Create a manual backup of a dedicated database. The backup will be created asynchronously and its status can be checked via the get backup endpoint.", "responses": { - "200": { - "description": "Regions list", + "202": { + "description": "Backup", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/consoleRegionList" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBackup" } } } @@ -8786,58 +9149,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRegions", - "group": null, - "weight": 914, + "method": "createDatabaseBackup", + "group": "databases", + "weight": 957, "cookies": false, "type": "", - "demo": "console\/list-regions.md", + "demo": "compute\/create-database-backup.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/list-regions.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ] - } - }, - "\/console\/resources": { - "get": { - "summary": "Check resource ID availability", - "operationId": "consoleGetResource", - "tags": [ - "console" - ], - "description": "Check if a resource ID is available.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getResource", - "group": null, - "weight": 505, - "cookies": false, - "type": "", - "demo": "console\/get-resource.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.read", + "scope": "databases.write", "platforms": [ "console" ], @@ -8854,96 +9175,55 @@ ], "parameters": [ { - "name": "value", - "description": "Resource value.", - "required": true, - "schema": { - "type": "string", - "x-example": "<VALUE>" - }, - "in": "query" - }, - { - "name": "type", - "description": "Resource type.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "rules", - "enum": [ - "rules" - ], - "x-enum-name": "ConsoleResourceType", - "x-enum-keys": [] + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" } - ] - } - }, - "\/console\/scopes\/project": { - "get": { - "summary": "List project scopes", - "operationId": "consoleListProjectScopes", - "tags": [ - "console" ], - "description": "List all scopes available for project API keys, along with a description for each scope.", - "responses": { - "200": { - "description": "Console Key Scopes List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/consoleKeyScopeList" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backup type: full or incremental.", + "x-example": "full", + "enum": [ + "full", + "incremental" + ], + "x-enum-name": null, + "x-enum-keys": [] + } } } } } - }, - "deprecated": false, - "x-appwrite": { - "method": "listProjectScopes", - "group": "console", - "weight": 503, - "cookies": false, - "type": "", - "demo": "console\/list-project-scopes.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "public", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ] + } } }, - "\/console\/sources": { - "post": { - "summary": "Create source", - "operationId": "consoleCreateSource", + "\/compute\/databases\/{databaseId}\/backups\/storage": { + "put": { + "summary": "Update database backup storage.", + "operationId": "computeUpdateDatabaseBackupStorage", "tags": [ - "console" + "compute" ], - "description": "Create a new source.", + "description": " Configure off-cluster backup storage for a dedicated database. Supports S3, GCS, and Azure Blob Storage destinations. Backups will be stored to the configured destination in addition to on-cluster storage.", "responses": { - "201": { - "description": "Any", + "200": { + "description": "BackupStorageConfig", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/any" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBackupStorage" } } } @@ -8951,22 +9231,21 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSource", - "group": null, - "weight": 921, + "method": "updateDatabaseBackupStorage", + "group": "databases", + "weight": 961, "cookies": false, "type": "", - "demo": "console\/create-source.md", - "rate-limit": 50, + "demo": "compute\/update-database-backup-storage.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-source.md", "auth": { "Project": [] } @@ -8976,65 +9255,94 @@ "Project": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "ref": { + "provider": { "type": "string", - "description": "Ref param", - "x-example": "<REF>", - "x-nullable": true + "description": "Storage provider for off-cluster backups. Allowed values: s3 (Amazon S3 or S3-compatible), gcs (Google Cloud Storage), azure (Azure Blob Storage).", + "x-example": "s3", + "enum": [ + "s3", + "gcs", + "azure" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "referrer": { + "bucket": { "type": "string", - "description": "Referrer", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true + "description": "Storage bucket or container name.", + "x-example": "<BUCKET>" }, - "utmSource": { + "region": { "type": "string", - "description": "Utm source", - "x-example": "<UTM_SOURCE>", - "x-nullable": true + "description": "Storage region.", + "x-example": "<REGION>" }, - "utmCampaign": { + "prefix": { "type": "string", - "description": "Utm campaign", - "x-example": "<UTM_CAMPAIGN>", - "x-nullable": true + "description": "Object key prefix for backups.", + "x-example": "<PREFIX>" }, - "utmMedium": { + "endpoint": { "type": "string", - "description": "Utm medium", - "x-example": "<UTM_MEDIUM>", - "x-nullable": true + "description": "Custom endpoint for S3-compatible storage (e.g. MinIO).", + "x-example": "<ENDPOINT>" + }, + "accessKey": { + "type": "string", + "description": "Access key or client ID for authentication.", + "x-example": "<ACCESS_KEY>" + }, + "secretKey": { + "type": "string", + "description": "Secret key or service account JSON for authentication.", + "x-example": "<SECRET_KEY>" } - } + }, + "required": [ + "provider", + "bucket", + "accessKey", + "secretKey" + ] } } } } } }, - "\/console\/suggestions\/columns": { + "\/compute\/databases\/{databaseId}\/backups\/{backupId}": { "get": { - "summary": "Get column suggestions with size limits for a table, using database context and an optional user provided context", - "operationId": "consoleSuggestColumns", + "summary": "Get a database backup.", + "operationId": "computeGetDatabaseBackup", "tags": [ - "console" + "compute" ], - "description": "Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.", + "description": " Get details of a specific database backup including its status, size, and timestamps.", "responses": { "200": { - "description": "Columns List", + "description": "Backup", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnList" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBackup" } } } @@ -9042,13 +9350,13 @@ }, "deprecated": false, "x-appwrite": { - "method": "suggestColumns", - "group": null, - "weight": 922, + "method": "getDatabaseBackup", + "group": "databases", + "weight": 958, "cookies": false, "type": "", - "demo": "console\/suggest-columns.md", - "rate-limit": 10, + "demo": "compute\/get-database-backup.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", @@ -9057,7 +9365,6 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-columns.md", "auth": { "Project": [] } @@ -9076,93 +9383,49 @@ "type": "string", "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "backupId", + "description": "Backup ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "query" - }, - { - "name": "context", - "description": "Optional user provided context to refine suggestions.", - "required": false, - "schema": { - "type": "string", - "x-example": "<CONTEXT>" - }, - "in": "query" - }, - { - "name": "min", - "description": "Minimum number of suggestions to generate.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 3 - }, - "in": "query" - }, - { - "name": "max", - "description": "Maximum number of suggestions to generate.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 7 + "x-example": "<BACKUP_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/console\/suggestions\/indexes": { - "get": { - "summary": "Get index suggestions for table columns, using database context", - "operationId": "consoleSuggestIndexes", + }, + "delete": { + "summary": "Delete a database backup.", + "operationId": "computeDeleteDatabaseBackup", "tags": [ - "console" + "compute" ], - "description": "Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.", + "description": " Delete a database backup. This will permanently remove the backup from storage and cannot be undone.", "responses": { - "200": { - "description": "Column Indexes List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnIndexList" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "suggestIndexes", - "group": null, - "weight": 923, + "method": "deleteDatabaseBackup", + "group": "databases", + "weight": 960, "cookies": false, "type": "", - "demo": "console\/suggest-indexes.md", - "rate-limit": 10, + "demo": "compute\/delete-database-backup.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-indexes.md", "auth": { "Project": [] } @@ -9181,60 +9444,36 @@ "type": "string", "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "backupId", + "description": "Backup ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "query" - }, - { - "name": "min", - "description": "Minimum number of suggestions to generate.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 1 - }, - "in": "query" - }, - { - "name": "max", - "description": "Maximum number of suggestions to generate.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 4 + "x-example": "<BACKUP_ID>" }, - "in": "query" + "in": "path" } ] } }, - "\/console\/suggestions\/queries": { + "\/compute\/databases\/{databaseId}\/branches": { "get": { - "summary": "Get query suggestions for a list resource from free-text intent", - "operationId": "consoleSuggestQueries", + "summary": "List database branches.", + "operationId": "computeListDatabaseBranches", "tags": [ - "console" + "compute" ], - "description": "Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` \u2014 for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.\n", + "description": " List all ephemeral branches for a dedicated database. Returns branch metadata including ID, name, namespace, and expiration time.", "responses": { "200": { - "description": "Any", + "description": "BranchList", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/any" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBranchList" } } } @@ -9242,13 +9481,13 @@ }, "deprecated": false, "x-appwrite": { - "method": "suggestQueries", - "group": null, - "weight": 924, + "method": "listDatabaseBranches", + "group": "databases", + "weight": 949, "cookies": false, "type": "", - "demo": "console\/suggest-queries.md", - "rate-limit": 10, + "demo": "compute\/list-database-branches.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", @@ -9257,7 +9496,6 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-queries.md", "auth": { "Project": [] } @@ -9269,212 +9507,113 @@ ], "parameters": [ { - "name": "resource", - "description": "Resource to generate queries for.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "activities", - "enum": [ - "activities", - "activityevents", - "archives", - "credits", - "dnsrecords", - "domains", - "invoices", - "paymentmethods", - "policies", - "projects", - "restorations", - "teamaggregations", - "teams", - "databases", - "tables", - "rows", - "schedules", - "platforms", - "keys", - "devkeys", - "webhooks", - "certificates", - "realtime", - "rules", - "installations", - "repositories", - "vcscomments", - "vcscommentlocks", - "users", - "cache", - "tokens", - "authenticators", - "challenges", - "sessions", - "identities", - "memberships", - "buckets", - "providers", - "messages", - "topics", - "subscribers", - "targets", - "companies", - "billingaddresses", - "billingaggregations", - "billingaggregationresources", - "billingteamprojectaggregations", - "billingteamaggregations_v2", - "billingteamaggregationresources", - "billinginvoices_v2", - "billingaddons", - "alerts", - "payments", - "billingdiscounts", - "sources", - "deals", - "blocks", - "threats", - "feedbacks", - "sh_installations", - "attributes", - "indexes", - "functions", - "sites", - "deployments", - "executions", - "variables", - "migrations", - "resourcetokens", - "transactions", - "transactionlogs", - "stats" - ], - "x-enum-name": "QuerySuggestionResource", - "x-enum-keys": [ - "activities", - "activity_events", - "archives", - "credits", - "dns_records", - "domains", - "invoices", - "payment_methods", - "policies", - "projects", - "restorations", - "team_aggregations", - "teams", - "databases", - "tables", - "rows", - "schedules", - "platforms", - "keys", - "dev_keys", - "webhooks", - "certificates", - "realtime", - "rules", - "installations", - "repositories", - "vcs_comments", - "vcs_comment_locks", - "users", - "cache", - "tokens", - "authenticators", - "challenges", - "sessions", - "identities", - "memberships", - "buckets", - "providers", - "messages", - "topics", - "subscribers", - "targets", - "companies", - "billing_addresses", - "billing_aggregations", - "billing_aggregation_resources", - "billing_team_project_aggregations", - "billing_team_aggregations_v2", - "billing_team_aggregation_resources", - "billing_invoices_v2", - "billing_addons", - "alerts", - "payments", - "billing_discounts", - "sources", - "deals", - "blocks", - "threats", - "feedbacks", - "sh_installations", - "attributes", - "indexes", - "functions", - "sites", - "deployments", - "executions", - "variables", - "migrations", - "resource_tokens", - "transactions", - "transaction_logs", - "stats" - ] + "x-example": "<DATABASE_ID>" }, - "in": "query" - }, + "in": "path" + } + ] + }, + "post": { + "summary": "Create a database branch.", + "operationId": "computeCreateDatabaseBranch", + "tags": [ + "compute" + ], + "description": " Create an ephemeral database branch from the primary via PVC snapshot. The branch is a full copy of the database at the current point in time, useful for testing schema migrations or running experiments without affecting production data. Branches expire after the configured TTL (default 24 hours). The branch is created asynchronously.", + "responses": { + "202": { + "description": "DedicatedDatabase", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dedicatedDatabase" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDatabaseBranch", + "group": "databases", + "weight": 948, + "cookies": false, + "type": "", + "demo": "compute\/create-database-branch.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "input", - "description": "Natural language query intent used to generate filters\/sorting\/pagination.", - "required": true, - "schema": { - "type": "string", - "x-example": "<INPUT>" - }, - "in": "query" - }, + "Project": [] + } + ], + "parameters": [ { "name": "databaseId", - "description": "Database ID. Required when resource is `tables` or `rows`.", - "required": false, + "description": "Database ID.", + "required": true, "schema": { "type": "string", "x-example": "<DATABASE_ID>" }, - "in": "query" - }, - { - "name": "tableId", - "description": "Table ID. Required when resource is `rows`.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "branchId": { + "type": "string", + "description": "Branch ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<BRANCH_ID>" + }, + "ttl": { + "type": "integer", + "description": "Time-to-live in seconds before the branch expires. Min 300 (5 min), max 604800 (7 days). Default: 86400 (24h).", + "x-example": 300, + "format": "int32" + } + } + } + } + } + } } }, - "\/console\/variables": { - "get": { - "summary": "Get variables", - "operationId": "consoleVariables", + "\/compute\/databases\/{databaseId}\/branches\/{branchId}": { + "delete": { + "summary": "Delete a database branch.", + "operationId": "computeDeleteDatabaseBranch", "tags": [ - "console" + "compute" ], - "description": "Get all Environment Variables that are relevant for the console.", + "description": " Delete an ephemeral database branch. This removes the branch namespace, its PVC, and the associated VolumeSnapshot. The deletion runs asynchronously and is irreversible.", "responses": { - "200": { - "description": "Console Variables", + "202": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/consoleVariables" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } @@ -9482,16 +9621,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "variables", - "group": "console", - "weight": 501, + "method": "deleteDatabaseBranch", + "group": "databases", + "weight": 950, "cookies": false, "type": "", - "demo": "console\/variables.md", + "demo": "compute\/delete-database-branch.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.write", "platforms": [ "console" ], @@ -9505,211 +9644,145 @@ { "Project": [] } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "branchId", + "description": "Branch ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<BRANCH_ID>" + }, + "in": "path" + } ] } }, - "\/databases": { + "\/compute\/databases\/{databaseId}\/connections": { "get": { - "summary": "List databases", - "operationId": "databasesList", + "summary": "List database connections.", + "operationId": "computeListDatabaseConnections", "tags": [ - "databases" + "compute" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": " List all database connection users\/roles for a dedicated database.", "responses": { "200": { - "description": "Databases List", + "description": "Dedicated database connections list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/databaseList" + "$ref": "#\/components\/schemas\/dedicatedDatabaseConnectionList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "list", + "method": "listDatabaseConnections", "group": "databases", - "weight": 691, + "weight": 940, "cookies": false, "type": "", - "demo": "databases\/list.md", + "demo": "compute\/list-database-connections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.list" - }, - "methods": [ - { - "name": "list", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "queries", - "search", - "total" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/databaseList" - } - ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", - "demo": "databases\/list.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.list" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" } ] }, "post": { - "summary": "Create database", - "operationId": "databasesCreate", + "summary": "Create a database connection user.", + "operationId": "computeCreateDatabaseConnection", "tags": [ - "databases" + "compute" ], - "description": "Create a new Database.\n", + "description": " Create a new database connection user\/role. Returns the connection details including the generated credentials.", "responses": { "201": { - "description": "Database", + "description": "Connection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/dedicatedDatabaseConnection" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "create", + "method": "createDatabaseConnection", "group": "databases", - "weight": 687, + "weight": 939, "cookies": false, "type": "", - "demo": "databases\/create.md", + "demo": "compute\/create-database-connection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.create" - }, - "methods": [ - { - "name": "create", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "name", - "enabled" - ], - "required": [ - "databaseId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/database" - } - ], - "description": "Create a new Database.\n", - "demo": "databases\/create.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.create" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" } ], "requestBody": { @@ -9718,25 +9791,19 @@ "schema": { "type": "object", "properties": { - "databaseId": { + "username": { "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DATABASE_ID>" + "description": "Connection username.", + "x-example": "<USERNAME>" }, - "name": { + "role": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false + "description": "Connection role for the new user. Common values: readonly (read-only access), readwrite (full read and write access).", + "x-example": "<ROLE>" } }, "required": [ - "databaseId", - "name" + "username" ] } } @@ -9744,21 +9811,84 @@ } } }, - "\/databases\/transactions": { + "\/compute\/databases\/{databaseId}\/connections\/{connectionId}": { + "delete": { + "summary": "Delete a database connection.", + "operationId": "computeDeleteDatabaseConnection", + "tags": [ + "compute" + ], + "description": " Delete a database connection user\/role. The connection will be terminated immediately.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteDatabaseConnection", + "group": "databases", + "weight": 941, + "cookies": false, + "type": "", + "demo": "compute\/delete-database-connection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "connectionId", + "description": "Connection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<CONNECTION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/compute\/databases\/{databaseId}\/credentials": { "get": { - "summary": "List transactions", - "operationId": "databasesListTransactions", + "summary": "Get database credentials.", + "operationId": "computeGetDatabaseCredentials", "tags": [ - "databases" + "compute" ], - "description": "List transactions across all databases.", + "description": " Get connection credentials for a dedicated database. Returns the hostname, port, username, password, database name, and full connection string.", "responses": { "200": { - "description": "Transaction List", + "description": "Credentials", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transactionList" + "$ref": "#\/components\/schemas\/dedicatedDatabaseCredentials" } } } @@ -9766,67 +9896,57 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 761, + "method": "getDatabaseCredentials", + "group": "databases", + "weight": 932, "cookies": false, "type": "", - "demo": "databases\/list-transactions.md", + "demo": "compute\/get-database-credentials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rows.read", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" } ] }, "post": { - "summary": "Create transaction", - "operationId": "databasesCreateTransaction", + "summary": "Update database credentials.", + "operationId": "computeUpdateDatabaseCredentials", "tags": [ - "databases" + "compute" ], - "description": "Create a new transaction.", + "description": " Rotate the primary credentials for a dedicated database. Generates a new password and updates the database. Previous credentials will stop working immediately.", "responses": { - "201": { - "description": "Transaction", + "200": { + "description": "Credentials", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/dedicatedDatabaseCredentials" } } } @@ -9834,71 +9954,59 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 757, + "method": "updateDatabaseCredentials", + "group": "databases", + "weight": 933, "cookies": false, "type": "", - "demo": "databases\/create-transaction.md", + "demo": "compute\/update-database-credentials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "x-example": 60, - "format": "int32" - } - } - } - } + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" } - } + ] } }, - "\/databases\/transactions\/{transactionId}": { - "get": { - "summary": "Get transaction", - "operationId": "databasesGetTransaction", + "\/compute\/databases\/{databaseId}\/execution": { + "post": { + "summary": "Execute a SQL statement against a dedicated database.", + "operationId": "computeCreateDatabaseExecution", "tags": [ - "databases" + "compute" ], - "description": "Get a transaction by its unique ID.", + "description": "Execute SQL through the console-facing Cloud endpoint. Cloud proxies through the edge platform to the per-database SQL API sidecar. Application traffic should bypass cloud entirely and POST directly to the per-database hostname: `https:\/\/db-{project}-{db}.{region}.appwrite.network\/v1\/sql\/execute` with an `X-Appwrite-Key` header \u2014 that path scales to the whole DB fleet without a per-query cloud round-trip. The statement type must be on the database's configured allow-list. Use bound parameters for any user-supplied values \u2014 the API does not interpolate raw strings.", "responses": { "200": { - "description": "Transaction", + "description": "Execution", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/dedicatedDatabaseExecution" } } } @@ -9906,64 +10014,91 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 758, + "method": "createDatabaseExecution", + "group": "databases", + "weight": 947, "cookies": false, "type": "", - "demo": "databases\/get-transaction.md", + "demo": "compute\/create-database-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rows.read", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } - ] - }, - "patch": { - "summary": "Update transaction", - "operationId": "databasesUpdateTransaction", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "sql": { + "type": "string", + "description": "SQL statement to execute. Exactly one statement per request.", + "x-example": "<SQL>" + }, + "bindings": { + "type": "object", + "description": "Optional bound parameters. Pass either a positional list or a name => value map matching the placeholder style used in the SQL.", + "x-example": "{}", + "x-nullable": true + }, + "timeoutSeconds": { + "type": "integer", + "description": "Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds.", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + }, + "required": [ + "sql" + ] + } + } + } + } + } + }, + "\/compute\/databases\/{databaseId}\/explanation": { + "post": { + "summary": "Explain query execution plan.", + "operationId": "computeCreateDatabaseQueryExplanation", "tags": [ - "databases" + "compute" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": " Run EXPLAIN on a query against a dedicated database. Available for SQL-compatible engines. Returns the query execution plan including scan types, estimated cost, and resource usage. Optionally run EXPLAIN ANALYZE to get actual execution statistics.", "responses": { "200": { - "description": "Transaction", + "description": "QueryExplanation", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/dedicatedDatabaseQueryExplanation" } } } @@ -9971,45 +10106,38 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 759, + "method": "createDatabaseQueryExplanation", + "group": "databases", + "weight": 968, "cookies": false, "type": "", - "demo": "databases\/update-transaction.md", + "demo": "compute\/create-database-query-explanation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } @@ -10020,96 +10148,99 @@ "schema": { "type": "object", "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "x-example": false + "query": { + "type": "string", + "description": "Query to explain. Must be a valid query for the database engine.", + "x-example": "<QUERY>" }, - "rollback": { + "analyze": { "type": "boolean", - "description": "Rollback transaction?", + "description": "Run EXPLAIN ANALYZE to get actual execution statistics. This executes the query.", "x-example": false } - } + }, + "required": [ + "query" + ] } } } } - }, - "delete": { - "summary": "Delete transaction", - "operationId": "databasesDeleteTransaction", + } + }, + "\/compute\/databases\/{databaseId}\/extensions": { + "get": { + "summary": "List database extensions.", + "operationId": "computeListDatabaseExtensions", "tags": [ - "databases" + "compute" ], - "description": "Delete a transaction by its unique ID.", + "description": " List installed and available extensions for a PostgreSQL database.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Extensions", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseExtensions" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 760, + "method": "listDatabaseExtensions", + "group": "databases", + "weight": 943, "cookies": false, "type": "", - "demo": "databases\/delete-transaction.md", + "demo": "compute\/list-database-extensions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } ] - } - }, - "\/databases\/transactions\/{transactionId}\/operations": { + }, "post": { - "summary": "Create operations", - "operationId": "databasesCreateOperations", + "summary": "Install a database extension.", + "operationId": "computeCreateDatabaseExtension", "tags": [ - "databases" + "compute" ], - "description": "Create multiple operations in a single transaction.", + "description": " Install a database extension. Only available for PostgreSQL databases. The install runs asynchronously; poll the extensions list endpoint for status.", "responses": { - "201": { - "description": "Transaction", + "202": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } @@ -10117,45 +10248,38 @@ }, "deprecated": false, "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 762, + "method": "createDatabaseExtension", + "group": "databases", + "weight": 942, "cookies": false, "type": "", - "demo": "databases\/create-operations.md", + "demo": "compute\/create-database-extension.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } @@ -10166,90 +10290,58 @@ "schema": { "type": "object", "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } + "name": { + "type": "string", + "description": "Extension name (e.g., pgvector, postgis, uuid-ossp).", + "x-example": "<NAME>" } - } + }, + "required": [ + "name" + ] } } } } } }, - "\/databases\/usage": { - "get": { - "summary": "Get databases usage stats", - "operationId": "databasesListUsage", + "\/compute\/databases\/{databaseId}\/extensions\/{extensionName}": { + "delete": { + "summary": "Uninstall a database extension.", + "operationId": "computeDeleteDatabaseExtension", "tags": [ - "databases" + "compute" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": " Uninstall a database extension from a PostgreSQL database. The uninstall runs asynchronously; poll the extensions list endpoint for status.", "responses": { - "200": { - "description": "UsageDatabases", + "202": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageDatabases" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 694, + "method": "deleteDatabaseExtension", + "group": "databases", + "weight": 944, "cookies": false, "type": "", - "demo": "databases\/list-usage.md", + "demo": "compute\/delete-database-extension.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listUsage" - }, - "methods": [ - { - "name": "listUsage", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "databases\/list-usage.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listUsage" - } - } - ], "auth": { "Project": [] } @@ -10261,110 +10353,72 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "extensionName", + "description": "Extension name to uninstall.", + "required": true, + "schema": { + "type": "string", + "x-example": "<EXTENSION_NAME>" + }, + "in": "path" } ] } }, - "\/databases\/{databaseId}": { + "\/compute\/databases\/{databaseId}\/ha": { "get": { - "summary": "Get database", - "operationId": "databasesGet", + "summary": "Get HA status.", + "operationId": "computeGetDatabaseHAStatus", "tags": [ - "databases" + "compute" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": " Get high availability status for a dedicated database. Returns replica statuses, replication lag, and sync mode.", "responses": { "200": { - "description": "Database", + "description": "HAStatus", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/dedicatedDatabaseHAStatus" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "get", + "method": "getDatabaseHAStatus", "group": "databases", - "weight": 688, + "weight": 954, "cookies": false, "type": "", - "demo": "databases\/get.md", + "demo": "compute\/get-database-ha-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.get" - }, - "methods": [ - { - "name": "get", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/database" - } - ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", - "demo": "databases\/get.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.get" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10379,88 +10433,52 @@ "in": "path" } ] - }, - "put": { - "summary": "Update database", - "operationId": "databasesUpdate", + } + }, + "\/compute\/databases\/{databaseId}\/ha\/failovers": { + "post": { + "summary": "Trigger manual failover.", + "operationId": "computeCreateDatabaseFailover", "tags": [ - "databases" + "compute" ], - "description": "Update a database by its unique ID.", + "description": " Trigger a manual failover for a dedicated database with high availability enabled. Promotes a replica to primary. The failover runs asynchronously; poll the database document for status updates.", "responses": { - "200": { - "description": "Database", + "202": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "update", + "method": "createDatabaseFailover", "group": "databases", - "weight": 689, + "weight": 955, "cookies": false, "type": "", - "demo": "databases\/update.md", + "demo": "compute\/create-database-failover.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.update" - }, - "methods": [ - { - "name": "update", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "name", - "enabled" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/database" - } - ], - "description": "Update a database by its unique ID.", - "demo": "databases\/update.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.update" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10481,93 +10499,63 @@ "schema": { "type": "object", "properties": { - "name": { + "targetReplicaId": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false + "description": "Target replica ID to promote. If not specified, the healthiest replica is selected.", + "x-example": "<TARGET_REPLICA_ID>", + "x-nullable": true } } } } } } - }, - "delete": { - "summary": "Delete database", - "operationId": "databasesDelete", + } + }, + "\/compute\/databases\/{databaseId}\/insights": { + "get": { + "summary": "Get database performance insights.", + "operationId": "computeGetDatabaseInsights", "tags": [ - "databases" + "compute" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": " Get query-level performance insights for a dedicated database. Returns top queries by execution time, wait events, and aggregate query statistics.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "PerformanceInsights", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dedicatedDatabasePerformanceInsights" + } + } + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "delete", + "method": "getDatabaseInsights", "group": "databases", - "weight": 690, + "weight": 953, "cookies": false, "type": "", - "demo": "databases\/delete.md", + "demo": "compute\/get-database-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.delete" - }, - "methods": [ - { - "name": "delete", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", - "demo": "databases\/delete.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.delete" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10580,61 +10568,87 @@ "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "period", + "description": "Analysis period for performance insights. Allowed values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days).", + "required": false, + "schema": { + "type": "string", + "x-example": "1h", + "enum": [ + "1h", + "24h", + "7d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "One Hour", + "Twenty Four Hours", + "Seven Days" + ], + "default": "1h" + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum number of queries to return.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 25 + }, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections": { + "\/compute\/databases\/{databaseId}\/logs": { "get": { - "summary": "List collections", - "operationId": "databasesListCollections", + "summary": "List database audit logs.", + "operationId": "computeListDatabaseLogs", "tags": [ - "databases" + "compute" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": " List audit logs for a dedicated database. Returns DDL operations and security-relevant events.", "responses": { "200": { - "description": "Collections List", + "description": "Dedicated database audit logs list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collectionList" + "$ref": "#\/components\/schemas\/dedicatedDatabaseAuditLogList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 699, + "method": "listDatabaseLogs", + "group": "databases", + "weight": 952, "cookies": false, "type": "", - "demo": "databases\/list-collections.md", + "demo": "compute\/list-database-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listTables" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10649,92 +10663,84 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "name": "startTime", + "description": "Start time in ISO 8601 format.", "required": false, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<START_TIME>" }, "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "endTime", + "description": "End time in ISO 8601 format.", "required": false, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<END_TIME>" }, "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "limit", + "description": "Maximum number of logs to return.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 100 }, "in": "query" } ] - }, - "post": { - "summary": "Create collections", - "operationId": "databasesCreateCollection", + } + }, + "\/compute\/databases\/{databaseId}\/maintenance": { + "patch": { + "summary": "Update database maintenance window.", + "operationId": "computeUpdateDatabaseMaintenanceWindow", "tags": [ - "databases" + "compute" ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": " Update the maintenance window for a dedicated database. Maintenance operations like minor version upgrades will be performed during this window.", "responses": { - "201": { - "description": "Collection", + "200": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 695, + "method": "updateDatabaseMaintenanceWindow", + "group": "databases", + "weight": 938, "cookies": false, "type": "", - "demo": "databases\/create-collection.md", + "demo": "compute\/update-database-maintenance-window.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10755,55 +10761,32 @@ "schema": { "type": "object", "properties": { - "collectionId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<COLLECTION_ID>" - }, - "name": { + "day": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "x-example": false - }, - "attributes": { - "type": "array", - "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "x-example": null, - "items": { - "type": "object" - } + "description": "Day of the week for the maintenance window. Allowed values: sun, mon, tue, wed, thu, fri, sat.", + "x-example": "sun", + "enum": [ + "sun", + "mon", + "tue", + "wed", + "thu", + "fri", + "sat" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "x-example": null, - "items": { - "type": "object" - } + "hourUtc": { + "type": "integer", + "description": "Hour in UTC (0-23) for maintenance window start.", + "x-example": 0, + "format": "int32" } }, "required": [ - "collectionId", - "name" + "day", + "hourUtc" ] } } @@ -10811,57 +10794,50 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}": { + "\/compute\/databases\/{databaseId}\/metrics": { "get": { - "summary": "Get collection", - "operationId": "databasesGetCollection", + "summary": "Get database metrics.", + "operationId": "computeGetDatabaseMetrics", "tags": [ - "databases" + "compute" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": " Get detailed performance metrics for a dedicated database. Returns CPU, memory, storage, IOPS, QPS, and connection metrics.", "responses": { "200": { - "description": "Collection", + "description": "DatabaseMetrics", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/dedicatedDatabaseMetrics" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 696, + "method": "getDatabaseMetrics", + "group": "databases", + "weight": 936, "cookies": false, "type": "", - "demo": "databases\/get-collection.md", + "demo": "compute\/get-database-metrics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10876,67 +10852,76 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "period", + "description": "Metrics aggregation period. Allowed values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days), 30d (last 30 days).", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "1h", + "enum": [ + "1h", + "24h", + "7d", + "30d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "One Hour", + "Twenty Four Hours", + "Seven Days", + "Thirty Days" + ], + "default": "24h" }, - "in": "path" + "in": "query" } ] - }, - "put": { - "summary": "Update collection", - "operationId": "databasesUpdateCollection", + } + }, + "\/compute\/databases\/{databaseId}\/migrations": { + "post": { + "summary": "Migrate database between shared and dedicated.", + "operationId": "computeCreateDatabaseMigration", "tags": [ - "databases" + "compute" ], - "description": "Update a collection by its unique ID.", + "description": " Migrate a database between shared and dedicated types. Shared to dedicated creates an always-on StatefulSet with external access. Dedicated to shared converts to a serverless pod that scales to zero when idle. Data is preserved during migration.", "responses": { "200": { - "description": "Collection", + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 697, + "method": "createDatabaseMigration", + "group": "databases", + "weight": 965, "cookies": false, "type": "", - "demo": "databases\/update-collection.md", + "demo": "compute\/create-database-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10949,16 +10934,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" } ], "requestBody": { @@ -10967,84 +10942,71 @@ "schema": { "type": "object", "properties": { - "name": { + "targetType": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "x-example": false - }, - "purge": { - "type": "boolean", - "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "x-example": false + "description": "Target database type to migrate to. Allowed values: shared (serverless, scales to zero when idle), dedicated (always-on with persistent resources).", + "x-example": "shared", + "enum": [ + "shared", + "dedicated" + ], + "x-enum-name": null, + "x-enum-keys": [] } - } + }, + "required": [ + "targetType" + ] } } } } - }, - "delete": { - "summary": "Delete collection", - "operationId": "databasesDeleteCollection", + } + }, + "\/compute\/databases\/{databaseId}\/pitr": { + "get": { + "summary": "Get PITR recovery windows.", + "operationId": "computeGetDatabasePITRWindows", "tags": [ - "databases" + "compute" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": " Get available point-in-time recovery windows for a dedicated database. Returns the earliest and latest recovery points.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "PITRWindows", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dedicatedDatabasePITRWindows" + } + } + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 698, + "method": "getDatabasePITRWindows", + "group": "databases", + "weight": 956, "cookies": false, "type": "", - "demo": "databases\/delete-collection.md", + "demo": "compute\/get-database-pitr-windows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.deleteTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11057,71 +11019,54 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes": { + "\/compute\/databases\/{databaseId}\/pooler": { "get": { - "summary": "List attributes", - "operationId": "databasesListAttributes", + "summary": "Get connection pooler configuration.", + "operationId": "computeGetDatabasePooler", "tags": [ - "databases" + "compute" ], - "description": "List attributes in the collection.", + "description": " Get the connection pooler configuration for a dedicated database. Returns pooler mode, max connections, and pool size settings.", "responses": { "200": { - "description": "Attributes List", + "description": "PoolerConfig", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeList" + "$ref": "#\/components\/schemas\/dedicatedDatabasePooler" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listAttributes", - "group": "attributes", - "weight": 716, + "method": "getDatabasePooler", + "group": "databases", + "weight": 945, "cookies": false, "type": "", - "demo": "databases\/list-attributes.md", + "demo": "compute\/get-database-pooler.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listColumns" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11134,95 +11079,52 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, size, required, array, status, error", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint": { - "post": { - "summary": "Create bigint attribute", - "operationId": "databasesCreateBigIntAttribute", + }, + "patch": { + "summary": "Update connection pooler configuration.", + "operationId": "computeUpdateDatabasePooler", "tags": [ - "databases" + "compute" ], - "description": "Create a bigint attribute. Optionally, minimum and maximum values can be provided.\n", + "description": " Update the connection pooler configuration for a dedicated database. Configure pool mode, max connections, and pool sizes.", "responses": { - "202": { - "description": "AttributeBigInt", + "200": { + "description": "PoolerConfig", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeBigint" + "$ref": "#\/components\/schemas\/dedicatedDatabasePooler" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createBigIntAttribute", - "group": "attributes", - "weight": 729, + "method": "updateDatabasePooler", + "group": "databases", + "weight": 946, "cookies": false, "type": "", - "demo": "databases\/create-big-int-attribute.md", + "demo": "compute\/update-database-pooler.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-bigint-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createBigIntColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11235,16 +11137,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" } ], "requestBody": { @@ -11253,104 +11145,113 @@ "schema": { "type": "object", "properties": { - "key": { + "mode": { "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", + "description": "Connection pool mode. Allowed values: transaction, session. Transaction mode returns connections to the pool after each transaction; session mode holds connections for the entire session lifetime.", + "x-example": "transaction", + "enum": [ + "transaction", + "session" + ], + "x-enum-name": null, + "x-enum-keys": [], "x-nullable": true }, - "max": { + "maxConnections": { "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", + "description": "Maximum pooled connections.", + "x-example": 10, + "format": "int32", "x-nullable": true }, - "default": { + "defaultPoolSize": { "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "format": "int64", + "description": "Default pool size per user.", + "x-example": 1, + "format": "int32", "x-nullable": true }, - "array": { + "readWriteSplitting": { "type": "boolean", - "description": "Is attribute an array?", - "x-example": false + "description": "Route SELECTs to HA replicas, writes and locked reads to the primary. Defaults to true when HA is enabled.", + "x-example": false, + "x-nullable": true + }, + "poolerCpuRequest": { + "type": "string", + "description": "Pooler sidecar CPU request override (Kubernetes quantity, e.g. \"250m\" or \"1\"). Leave null for the proportional default (5% of DB CPU, floor 100m).", + "x-example": "<POOLER_CPU_REQUEST>", + "x-nullable": true + }, + "poolerCpuLimit": { + "type": "string", + "description": "Pooler sidecar CPU limit override (Kubernetes quantity, e.g. \"500m\" or \"1\"). Leave null for the proportional default (10% of DB CPU, floor 200m). Changing this field rolls the database pod.", + "x-example": "<POOLER_CPU_LIMIT>", + "x-nullable": true + }, + "poolerMemoryRequest": { + "type": "string", + "description": "Pooler sidecar memory request override (Kubernetes quantity, e.g. \"128Mi\" or \"1Gi\"). Leave null for the proportional default (7.5% of DB memory, floor 64Mi).", + "x-example": "<POOLER_MEMORY_REQUEST>", + "x-nullable": true + }, + "poolerMemoryLimit": { + "type": "string", + "description": "Pooler sidecar memory limit override (Kubernetes quantity, e.g. \"256Mi\" or \"1Gi\"). Leave null for the proportional default (15% of DB memory, floor 128Mi). Changing this field rolls the database pod.", + "x-example": "<POOLER_MEMORY_LIMIT>", + "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint\/{key}": { - "patch": { - "summary": "Update bigint attribute", - "operationId": "databasesUpdateBigIntAttribute", + "\/compute\/databases\/{databaseId}\/restorations": { + "get": { + "summary": "List database restorations.", + "operationId": "computeListDatabaseRestorations", "tags": [ - "databases" + "compute" ], - "description": "Update a bigint attribute. Changing the `default` value will not update already existing documents.\n", + "description": " List all restorations for a dedicated database. Results can be filtered by status and type.", "responses": { "200": { - "description": "AttributeBigInt", + "description": "Dedicated database restorations list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeBigint" + "$ref": "#\/components\/schemas\/dedicatedDatabaseRestorationList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateBigIntAttribute", - "group": "attributes", - "weight": 730, + "method": "listDatabaseRestorations", + "group": "databases", + "weight": 964, "cookies": false, "type": "", - "demo": "databases\/update-big-int-attribute.md", + "demo": "compute\/list-database-restorations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-bigint-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateBigIntColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11365,125 +11266,108 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "status", + "description": "Filter by restoration status.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "pending", + "enum": [ + "pending", + "running", + "completed", + "failed" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "type", + "description": "Filter by restoration type.", + "required": false, "schema": { - "type": "string" + "type": "string", + "x-example": "backup", + "enum": [ + "backup", + "pitr" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" + }, + { + "name": "limit", + "description": "Maximum number of restorations to return.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 25 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Number of restorations to skip.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean": { + ] + }, "post": { - "summary": "Create boolean attribute", - "operationId": "databasesCreateBooleanAttribute", + "summary": "Create a database restoration.", + "operationId": "computeCreateDatabaseRestoration", "tags": [ - "databases" + "compute" ], - "description": "Create a boolean attribute.\n", + "description": " Restore a database from a backup or to a specific point in time (PITR). For backup restoration, provide a backupId. For PITR, provide a targetTime. PITR requires the database to have PITR enabled and is only available for enterprise databases.", "responses": { "202": { - "description": "AttributeBoolean", + "description": "Restoration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeBoolean" + "$ref": "#\/components\/schemas\/dedicatedDatabaseRestoration" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createBooleanAttribute", - "group": "attributes", - "weight": 717, + "method": "createDatabaseRestoration", + "group": "databases", + "weight": 962, "cookies": false, "type": "", - "demo": "databases\/create-boolean-attribute.md", + "demo": "compute\/create-database-restoration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createBooleanColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11496,16 +11380,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" } ], "requestBody": { @@ -11514,89 +11388,81 @@ "schema": { "type": "object", "properties": { - "key": { + "type": { "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false + "description": "Restoration type. Allowed values: backup, pitr. Use \"backup\" to restore from a specific backup, or \"pitr\" for point-in-time recovery.", + "x-example": "backup", + "enum": [ + "backup", + "pitr" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "default": { - "type": "boolean", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false, + "backupId": { + "type": "string", + "description": "Backup ID to restore from (required for backup type).", + "x-example": "<BACKUP_ID>", "x-nullable": true }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false + "targetTime": { + "type": "integer", + "description": "Target time for PITR as Unix timestamp (required for pitr type).", + "x-example": null, + "format": "int32", + "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean\/{key}": { - "patch": { - "summary": "Update boolean attribute", - "operationId": "databasesUpdateBooleanAttribute", + "\/compute\/databases\/{databaseId}\/restorations\/{restorationId}": { + "get": { + "summary": "Get a database restoration.", + "operationId": "computeGetDatabaseRestoration", "tags": [ - "databases" + "compute" ], - "description": "Update a boolean attribute. Changing the `default` value will not update already existing documents.", + "description": " Get details of a specific database restoration including its status, type, and timestamps.", "responses": { "200": { - "description": "AttributeBoolean", + "description": "Restoration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeBoolean" + "$ref": "#\/components\/schemas\/dedicatedDatabaseRestoration" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateBooleanAttribute", - "group": "attributes", - "weight": 718, + "method": "getDatabaseRestoration", + "group": "databases", + "weight": 963, "cookies": false, "type": "", - "demo": "databases\/update-boolean-attribute.md", + "demo": "compute\/get-database-restoration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateBooleanColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11611,110 +11477,62 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "name": "restorationId", + "description": "Restoration ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<RESTORATION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime": { - "post": { - "summary": "Create datetime attribute", - "operationId": "databasesCreateDatetimeAttribute", + "\/compute\/databases\/{databaseId}\/schema": { + "get": { + "summary": "Get database schema.", + "operationId": "computeGetDatabaseSchema", "tags": [ - "databases" + "compute" ], - "description": "Create a date time attribute according to the ISO 8601 standard.", + "description": " Get the current schema for a dedicated database. Returns collections, fields, data types, constraints, and indexes.", "responses": { - "202": { - "description": "AttributeDatetime", + "200": { + "description": "Schema", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeDatetime" + "$ref": "#\/components\/schemas\/dedicatedDatabaseSchema" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createDatetimeAttribute", - "group": "attributes", - "weight": 719, + "method": "getDatabaseSchema", + "group": "databases", + "weight": 966, "cookies": false, "type": "", - "demo": "databases\/create-datetime-attribute.md", + "demo": "compute\/get-database-schema.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createDatetimeColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11727,14 +11545,64 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, + } + ] + } + }, + "\/compute\/databases\/{databaseId}\/schema\/preview": { + "post": { + "summary": "Preview a schema change.", + "operationId": "computeCreateDatabaseSchemaPreview", + "tags": [ + "compute" + ], + "description": " Preview a schema change against a dedicated database. Returns the expected impact including affected collections, records, and a dry-run diff of the schema before and after the change.", + "responses": { + "200": { + "description": "SchemaPreview", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseSchemaPreview" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDatabaseSchemaPreview", + "group": "databases", + "weight": 967, + "cookies": false, + "type": "", + "demo": "compute\/create-database-schema-preview.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } @@ -11745,32 +11613,14 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { + "sql": { "type": "string", - "description": "Default value for the attribute in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false + "description": "Schema statement to preview.", + "x-example": "<SQL>" } }, "required": [ - "key", - "required" + "sql" ] } } @@ -11778,57 +11628,50 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime\/{key}": { - "patch": { - "summary": "Update datetime attribute", - "operationId": "databasesUpdateDatetimeAttribute", + "\/compute\/databases\/{databaseId}\/slow-queries": { + "get": { + "summary": "List slow queries.", + "operationId": "computeListDatabaseQueries", "tags": [ - "databases" + "compute" ], - "description": "Update a date time attribute. Changing the `default` value will not update already existing documents.", + "description": " List slow queries for a dedicated database. Returns queries that exceeded the specified threshold.", "responses": { "200": { - "description": "AttributeDatetime", + "description": "Dedicated database slow queries list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeDatetime" + "$ref": "#\/components\/schemas\/dedicatedDatabaseSlowQueryList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateDatetimeAttribute", - "group": "attributes", - "weight": 720, + "method": "listDatabaseQueries", + "group": "databases", + "weight": 951, "cookies": false, "type": "", - "demo": "databases\/update-datetime-attribute.md", + "demo": "compute\/list-database-queries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateDatetimeColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11843,111 +11686,76 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "limit", + "description": "Maximum number of queries to return.", + "required": false, "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 100 + }, + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "thresholdMs", + "description": "Minimum query duration in milliseconds.", + "required": false, "schema": { - "type": "string" + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email": { - "post": { - "summary": "Create email attribute", - "operationId": "databasesCreateEmailAttribute", + "\/compute\/databases\/{databaseId}\/status": { + "get": { + "summary": "Get database status.", + "operationId": "computeGetDatabaseStatus", "tags": [ - "databases" + "compute" ], - "description": "Create an email attribute.\n", + "description": " Get real-time health and status information for a dedicated database. Returns health status, readiness, uptime, connection info, replica status, and volume information.", "responses": { - "202": { - "description": "AttributeEmail", + "200": { + "description": "Status", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeEmail" + "$ref": "#\/components\/schemas\/databaseStatus" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createEmailAttribute", - "group": "attributes", - "weight": 721, + "method": "getDatabaseStatus", + "group": "databases", + "weight": 934, "cookies": false, "type": "", - "demo": "databases\/create-email-attribute.md", + "demo": "compute\/get-database-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createEmailColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11960,108 +11768,54 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email\/{key}": { - "patch": { - "summary": "Update email attribute", - "operationId": "databasesUpdateEmailAttribute", + "\/compute\/databases\/{databaseId}\/upgrades": { + "post": { + "summary": "Upgrade database version.", + "operationId": "computeCreateDatabaseUpgrade", "tags": [ - "databases" + "compute" ], - "description": "Update an email attribute. Changing the `default` value will not update already existing documents.\n", + "description": " Upgrade a dedicated database to a new engine version. Uses blue-green deployment for zero-downtime cutover.", "responses": { "200": { - "description": "AttributeEmail", + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeEmail" + "$ref": "#\/components\/schemas\/dedicatedDatabase" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateEmailAttribute", - "group": "attributes", - "weight": 722, + "method": "createDatabaseUpgrade", + "group": "databases", + "weight": 937, "cookies": false, "type": "", - "demo": "databases\/update-email-attribute.md", + "demo": "compute\/create-database-upgrade.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateEmailColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12074,25 +11828,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ], "requestBody": { @@ -12101,28 +11836,14 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "newKey": { + "targetVersion": { "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true + "description": "Target engine version to upgrade to.", + "x-example": "<TARGET_VERSION>" } }, "required": [ - "required", - "default" + "targetVersion" ] } } @@ -12130,57 +11851,50 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum": { - "post": { - "summary": "Create enum attribute", - "operationId": "databasesCreateEnumAttribute", + "\/compute\/databases\/{databaseId}\/usage": { + "get": { + "summary": "Get database usage metrics.", + "operationId": "computeGetDatabaseUsage", "tags": [ - "databases" + "compute" ], - "description": "Create an enum attribute. The `elements` param acts as a white-list of accepted values for this attribute. \n", + "description": " Get usage metrics for a dedicated database including CPU, memory, storage, connections, and query statistics.", "responses": { - "202": { - "description": "AttributeEnum", + "200": { + "description": "DedicatedDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeEnum" + "$ref": "#\/components\/schemas\/dedicatedDatabaseUsage" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createEnumAttribute", - "group": "attributes", - "weight": 723, + "method": "getDatabaseUsage", + "group": "databases", + "weight": 935, "cookies": false, "type": "", - "demo": "databases\/create-enum-attribute.md", + "demo": "compute\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createEnumColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12195,14 +11909,75 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" + "in": "query" + } + ] + } + }, + "\/console\/assistant": { + "post": { + "summary": "Create assistant query", + "operationId": "assistantChat", + "tags": [ + "assistant" + ], + "description": "Send a prompt to the AI assistant and receive a response. This endpoint allows you to interact with Appwrite's AI assistant by sending questions or prompts and receiving helpful responses in real-time through a server-sent events stream. ", + "responses": { + "200": { + "description": "Text", + "content": { + "text\/plain": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "chat", + "group": "console", + "weight": 511, + "cookies": false, + "type": "", + "demo": "assistant\/chat.md", + "rate-limit": 15, + "rate-time": 3600, + "rate-key": "userId:{userId}", + "scope": "assistant.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] } ], "requestBody": { @@ -12211,40 +11986,14 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "elements": { - "type": "array", - "description": "Array of enum values.", - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { + "prompt": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false + "description": "Prompt. A string containing questions asked to the AI assistant.", + "x-example": "<PROMPT>" } }, "required": [ - "key", - "elements", - "required" + "prompt" ] } } @@ -12252,1140 +12001,655 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum\/{key}": { - "patch": { - "summary": "Update enum attribute", - "operationId": "databasesUpdateEnumAttribute", + "\/console\/campaigns\/{campaignId}": { + "get": { + "summary": "Get campaign details", + "operationId": "consoleGetCampaign", "tags": [ - "databases" + "console" ], - "description": "Update an enum attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Receive the details of a campaign using its ID.", "responses": { - "200": { - "description": "AttributeEnum", + "201": { + "description": "Campaign", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeEnum" + "$ref": "#\/components\/schemas\/campaign" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateEnumAttribute", - "group": "attributes", - "weight": 724, + "method": "getCampaign", + "group": null, + "weight": 981, "cookies": false, "type": "", - "demo": "databases\/update-enum-attribute.md", + "demo": "console\/get-campaign.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateEnumColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-campaign.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "campaignId", + "description": "ID of the campaign", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<CAMPAIGN_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "elements": { - "type": "array", - "description": "Updated list of enum values.", - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "elements", - "required", - "default" - ] - } - } - } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float": { - "post": { - "summary": "Create float attribute", - "operationId": "databasesCreateFloatAttribute", + "\/console\/coupons\/{couponId}": { + "get": { + "summary": "Get coupon details", + "operationId": "consoleGetCoupon", "tags": [ - "databases" + "console" ], - "description": "Create a float attribute. Optionally, minimum and maximum values can be provided.\n", + "description": "Get the details of a coupon using it's coupon ID.", "responses": { - "202": { - "description": "AttributeFloat", + "201": { + "description": "Coupon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeFloat" + "$ref": "#\/components\/schemas\/coupon" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createFloatAttribute", - "group": "attributes", - "weight": 725, + "method": "getCoupon", + "group": null, + "weight": 978, "cookies": false, "type": "", - "demo": "databases\/create-float-attribute.md", - "rate-limit": 0, + "demo": "console\/get-coupon.md", + "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createFloatColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-coupon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "couponId", + "description": "ID of the coupon", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<COUPON_ID>" }, "in": "path" } + ] + } + }, + "\/console\/oauth2-providers": { + "get": { + "summary": "List OAuth2 providers", + "operationId": "consoleListOAuth2Providers", + "tags": [ + "console" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] + "description": "List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.", + "responses": { + "200": { + "description": "Console OAuth2 Providers List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/consoleOAuth2ProviderList" + } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "listOAuth2Providers", + "group": "console", + "weight": 508, + "cookies": false, + "type": "", + "demo": "console\/list-o-auth-2-providers.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float\/{key}": { - "patch": { - "summary": "Update float attribute", - "operationId": "databasesUpdateFloatAttribute", + "\/console\/plans": { + "get": { + "summary": "Get plans", + "operationId": "consoleGetPlans", "tags": [ - "databases" + "console" ], - "description": "Update a float attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Return a list of all available plans.", "responses": { "200": { - "description": "AttributeFloat", + "description": "Billing plan list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeFloat" + "$ref": "#\/components\/schemas\/billingPlanList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateFloatAttribute", - "group": "attributes", - "weight": 726, + "method": "getPlans", + "group": null, + "weight": 976, "cookies": false, "type": "", - "demo": "databases\/update-float-attribute.md", + "demo": "console\/get-plans.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateFloatColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plans.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "platform", + "description": "Platform type", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [], + "default": "appwrite" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer": { - "post": { - "summary": "Create integer attribute", - "operationId": "databasesCreateIntegerAttribute", + "\/console\/plans\/{planId}": { + "get": { + "summary": "Get plan", + "operationId": "consoleGetPlan", "tags": [ - "databases" + "console" ], - "description": "Create an integer attribute. Optionally, minimum and maximum values can be provided.\n", + "description": "Get the details of a plan using its plan ID.", "responses": { - "202": { - "description": "AttributeInteger", + "200": { + "description": "billingPlan", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeInteger" + "$ref": "#\/components\/schemas\/billingPlan" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createIntegerAttribute", - "group": "attributes", - "weight": 727, + "method": "getPlan", + "group": null, + "weight": 977, "cookies": false, "type": "", - "demo": "databases\/create-integer-attribute.md", + "demo": "console\/get-plan.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createIntegerColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "planId", + "description": "Plan id", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<PLAN_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer\/{key}": { - "patch": { - "summary": "Update integer attribute", - "operationId": "databasesUpdateIntegerAttribute", + "\/console\/programs\/{programId}": { + "get": { + "summary": "Get program details", + "operationId": "consoleGetProgram", "tags": [ - "databases" + "console" ], - "description": "Update an integer attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Receive the details of a program using its ID.", "responses": { - "200": { - "description": "AttributeInteger", + "201": { + "description": "Program", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeInteger" + "$ref": "#\/components\/schemas\/program" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateIntegerAttribute", - "group": "attributes", - "weight": 728, + "method": "getProgram", + "group": null, + "weight": 979, "cookies": false, "type": "", - "demo": "databases\/update-integer-attribute.md", + "demo": "console\/get-program.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateIntegerColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-program.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "programId", + "description": "ID of the program", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<PROGRAM_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip": { + "\/console\/programs\/{programId}\/memberships": { "post": { - "summary": "Create IP address attribute", - "operationId": "databasesCreateIpAttribute", + "summary": "Create program membership", + "operationId": "consoleCreateProgramMembership", "tags": [ - "databases" + "console" ], - "description": "Create IP address attribute.\n", + "description": "Create a new membership for an account to a program.", "responses": { - "202": { - "description": "AttributeIP", + "200": { + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeIp" + "$ref": "#\/components\/schemas\/organization" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createIpAttribute", - "group": "attributes", - "weight": 731, + "method": "createProgramMembership", + "group": null, + "weight": 980, "cookies": false, "type": "", - "demo": "databases\/create-ip-attribute.md", - "rate-limit": 0, + "demo": "console\/create-program-membership.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createIpColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-program-membership.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "programId", + "description": "ID of the program", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<PROGRAM_ID>" }, "in": "path" } + ] + } + }, + "\/console\/regions": { + "get": { + "summary": "List Regions", + "operationId": "consoleListRegions", + "tags": [ + "console" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip\/{key}": { - "patch": { - "summary": "Update IP address attribute", - "operationId": "databasesUpdateIpAttribute", - "tags": [ - "databases" - ], - "description": "Update an ip attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Get all available regions for the console.", "responses": { "200": { - "description": "AttributeIP", + "description": "Regions list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeIp" + "$ref": "#\/components\/schemas\/consoleRegionList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateIpAttribute", - "group": "attributes", - "weight": 732, + "method": "listRegions", + "group": null, + "weight": 975, "cookies": false, "type": "", - "demo": "databases\/update-ip-attribute.md", + "demo": "console\/list-regions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateIpColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/list-regions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ] + } + }, + "\/console\/resources": { + "get": { + "summary": "Check resource ID availability", + "operationId": "consoleGetResource", + "tags": [ + "console" + ], + "description": "Check if a resource ID is available.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getResource", + "group": null, + "weight": 512, + "cookies": false, + "type": "", + "demo": "console\/get-resource.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "value", + "description": "Resource value.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<VALUE>" }, - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID.", + "name": "type", + "description": "Resource type.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "rules", + "enum": [ + "rules" + ], + "x-enum-name": "ConsoleResourceType", + "x-enum-keys": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when attribute is required.", - "x-example": null, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line": { - "post": { - "summary": "Create line attribute", - "operationId": "databasesCreateLineAttribute", + "\/console\/scopes\/organization": { + "get": { + "summary": "List organization scopes", + "operationId": "consoleListOrganizationScopes", "tags": [ - "databases" + "console" ], - "description": "Create a geometric line attribute.", + "description": "List all scopes available for organization API keys, along with a description for each scope.", "responses": { - "202": { - "description": "AttributeLine", + "200": { + "description": "Console Key Scopes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeLine" + "$ref": "#\/components\/schemas\/consoleKeyScopeList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createLineAttribute", - "group": "attributes", - "weight": 733, + "method": "listOrganizationScopes", + "group": "console", + "weight": 510, "cookies": false, "type": "", - "demo": "databases\/create-line-attribute.md", + "demo": "console\/list-organization-scopes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createLineColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } - } + "Project": [] } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line\/{key}": { - "patch": { - "summary": "Update line attribute", - "operationId": "databasesUpdateLineAttribute", + "\/console\/scopes\/project": { + "get": { + "summary": "List project scopes", + "operationId": "consoleListProjectScopes", "tags": [ - "databases" + "console" ], - "description": "Update a line attribute. Changing the `default` value will not update already existing documents.", + "description": "List all scopes available for project API keys, along with a description for each scope.", "responses": { "200": { - "description": "AttributeLine", + "description": "Console Key Scopes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeLine" + "$ref": "#\/components\/schemas\/consoleKeyScopeList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateLineAttribute", - "group": "attributes", - "weight": 734, + "method": "listProjectScopes", + "group": "console", + "weight": 509, "cookies": false, "type": "", - "demo": "databases\/update-line-attribute.md", + "demo": "console\/list-project-scopes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateLineColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } - } + "Project": [] } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext": { + "\/console\/sources": { "post": { - "summary": "Create longtext attribute", - "operationId": "databasesCreateLongtextAttribute", + "summary": "Create source", + "operationId": "consoleCreateSource", "tags": [ - "databases" + "console" ], - "description": "Create a longtext attribute.\n", + "description": "Create a new source.", "responses": { - "202": { - "description": "AttributeLongtext", + "201": { + "description": "Any", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeLongtext" + "$ref": "#\/components\/schemas\/any" } } } @@ -13393,53 +12657,29 @@ }, "deprecated": false, "x-appwrite": { - "method": "createLongtextAttribute", - "group": "attributes", - "weight": 751, + "method": "createSource", + "group": null, + "weight": 982, "cookies": false, "type": "", - "demo": "databases\/create-longtext-attribute.md", - "rate-limit": 0, + "demo": "console\/create-source.md", + "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-longtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-source.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" + "Project": [] } ], "requestBody": { @@ -13448,58 +12688,59 @@ "schema": { "type": "object", "properties": { - "key": { + "ref": { "type": "string", - "description": "Attribute Key.", - "x-example": null + "description": "Ref param", + "x-example": "<REF>", + "x-nullable": true }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false + "referrer": { + "type": "string", + "description": "Referrer", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true }, - "default": { + "utmSource": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", + "description": "Utm source", + "x-example": "<UTM_SOURCE>", "x-nullable": true }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false + "utmCampaign": { + "type": "string", + "description": "Utm campaign", + "x-example": "<UTM_CAMPAIGN>", + "x-nullable": true }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "x-example": false + "utmMedium": { + "type": "string", + "description": "Utm medium", + "x-example": "<UTM_MEDIUM>", + "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext\/{key}": { - "patch": { - "summary": "Update longtext attribute", - "operationId": "databasesUpdateLongtextAttribute", + "\/console\/suggestions\/columns": { + "get": { + "summary": "Get column suggestions with size limits for a table, using database context and an optional user provided context", + "operationId": "consoleSuggestColumns", "tags": [ - "databases" + "console" ], - "description": "Update a longtext attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.", "responses": { "200": { - "description": "AttributeLongtext", + "description": "Columns List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeLongtext" + "$ref": "#\/components\/schemas\/columnList" } } } @@ -13507,31 +12748,29 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateLongtextAttribute", - "group": "attributes", - "weight": 752, + "method": "suggestColumns", + "group": null, + "weight": 983, "cookies": false, "type": "", - "demo": "databases\/update-longtext-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-columns.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-longtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-columns.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -13543,77 +12782,70 @@ "type": "string", "x-example": "<DATABASE_ID>" }, - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<TABLE_ID>" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "context", + "description": "Optional user provided context to refine suggestions.", + "required": false, "schema": { - "type": "string" + "type": "string", + "x-example": "<CONTEXT>" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" + }, + { + "name": "min", + "description": "Minimum number of suggestions to generate.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 3 + }, + "in": "query" + }, + { + "name": "max", + "description": "Maximum number of suggestions to generate.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 7 + }, + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext": { - "post": { - "summary": "Create mediumtext attribute", - "operationId": "databasesCreateMediumtextAttribute", + "\/console\/suggestions\/indexes": { + "get": { + "summary": "Get index suggestions for table columns, using database context", + "operationId": "consoleSuggestIndexes", "tags": [ - "databases" + "console" ], - "description": "Create a mediumtext attribute.\n", + "description": "Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.", "responses": { - "202": { - "description": "AttributeMediumtext", + "200": { + "description": "Column Indexes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeMediumtext" + "$ref": "#\/components\/schemas\/columnIndexList" } } } @@ -13621,31 +12853,29 @@ }, "deprecated": false, "x-appwrite": { - "method": "createMediumtextAttribute", - "group": "attributes", - "weight": 749, + "method": "suggestIndexes", + "group": null, + "weight": 984, "cookies": false, "type": "", - "demo": "databases\/create-mediumtext-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-indexes.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-mediumtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-indexes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -13657,77 +12887,60 @@ "type": "string", "x-example": "<DATABASE_ID>" }, - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<TABLE_ID>" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } + "in": "query" + }, + { + "name": "min", + "description": "Minimum number of suggestions to generate.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 1 + }, + "in": "query" + }, + { + "name": "max", + "description": "Maximum number of suggestions to generate.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 4 + }, + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext\/{key}": { - "patch": { - "summary": "Update mediumtext attribute", - "operationId": "databasesUpdateMediumtextAttribute", + "\/console\/suggestions\/queries": { + "get": { + "summary": "Get query suggestions for a list resource from free-text intent", + "operationId": "consoleSuggestQueries", "tags": [ - "databases" + "console" ], - "description": "Update a mediumtext attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` \u2014 for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.\n", "responses": { "200": { - "description": "AttributeMediumtext", + "description": "Any", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeMediumtext" + "$ref": "#\/components\/schemas\/any" } } } @@ -13735,228 +12948,515 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMediumtextAttribute", - "group": "attributes", - "weight": 750, + "method": "suggestQueries", + "group": null, + "weight": 985, "cookies": false, "type": "", - "demo": "databases\/update-mediumtext-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-queries.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-mediumtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-queries.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "resource", + "description": "Resource to generate queries for.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "activities", + "enum": [ + "activities", + "activityevents", + "archives", + "credits", + "dnsrecords", + "domains", + "invoices", + "paymentmethods", + "policies", + "projects", + "restorations", + "teamaggregations", + "teams", + "databases", + "tables", + "rows", + "schedules", + "platforms", + "keys", + "devkeys", + "webhooks", + "certificates", + "realtime", + "rules", + "installations", + "repositories", + "vcscomments", + "vcscommentlocks", + "reports", + "insights", + "users", + "cache", + "tokens", + "authenticators", + "challenges", + "sessions", + "identities", + "memberships", + "buckets", + "providers", + "messages", + "topics", + "subscribers", + "targets", + "companies", + "billingaddresses", + "billingaggregations", + "billingaggregationresources", + "billingteamprojectaggregations", + "billingteamaggregations_v2", + "billingteamaggregationresources", + "billinginvoices_v2", + "billingaddons", + "alerts", + "payments", + "billingdiscounts", + "sources", + "deals", + "blocks", + "threats", + "feedbacks", + "sh_installations", + "attributes", + "indexes", + "functions", + "sites", + "deployments", + "executions", + "variables", + "migrations", + "resourcetokens", + "transactions", + "transactionlogs", + "presencelogs", + "stats", + "dedicateddatabases", + "dedicateddatabaseconfigs", + "dedicateddatabaseruntimes", + "dedicateddatabaseoperations", + "dedicateddatabasebackups", + "dedicateddatabaserestorations" + ], + "x-enum-name": "QuerySuggestionResource", + "x-enum-keys": [ + "activities", + "activity_events", + "archives", + "credits", + "dns_records", + "domains", + "invoices", + "payment_methods", + "policies", + "projects", + "restorations", + "team_aggregations", + "teams", + "databases", + "tables", + "rows", + "schedules", + "platforms", + "keys", + "dev_keys", + "webhooks", + "certificates", + "realtime", + "rules", + "installations", + "repositories", + "vcs_comments", + "vcs_comment_locks", + "reports", + "insights", + "users", + "cache", + "tokens", + "authenticators", + "challenges", + "sessions", + "identities", + "memberships", + "buckets", + "providers", + "messages", + "topics", + "subscribers", + "targets", + "companies", + "billing_addresses", + "billing_aggregations", + "billing_aggregation_resources", + "billing_team_project_aggregations", + "billing_team_aggregations_v2", + "billing_team_aggregation_resources", + "billing_invoices_v2", + "billing_addons", + "alerts", + "payments", + "billing_discounts", + "sources", + "deals", + "blocks", + "threats", + "feedbacks", + "sh_installations", + "attributes", + "indexes", + "functions", + "sites", + "deployments", + "executions", + "variables", + "migrations", + "resource_tokens", + "transactions", + "transaction_logs", + "presence_logs", + "stats" + ] }, - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "input", + "description": "Natural language query intent used to generate filters\/sorting\/pagination.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<INPUT>" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "databaseId", + "description": "Database ID. Required when resource is `tables` or `rows`.", + "required": false, "schema": { - "type": "string" + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" + }, + { + "name": "tableId", + "description": "Table ID. Required when resource is `rows`.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point": { - "post": { - "summary": "Create point attribute", - "operationId": "databasesCreatePointAttribute", + "\/console\/templates\/email\/{templateId}": { + "get": { + "summary": "Get email template", + "operationId": "consoleGetEmailTemplate", "tags": [ - "databases" + "console" ], - "description": "Create a geometric point attribute.", + "description": "Get the Appwrite built-in default email template for the specified type and locale. Always returns the unmodified default, ignoring any custom project overrides.", "responses": { - "202": { - "description": "AttributePoint", + "200": { + "description": "EmailTemplate", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributePoint" + "$ref": "#\/components\/schemas\/emailTemplate" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createPointAttribute", - "group": "attributes", - "weight": 735, + "method": "getEmailTemplate", + "group": null, + "weight": 507, "cookies": false, "type": "", - "demo": "databases\/create-point-attribute.md", + "demo": "console\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createPointColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "templateId", + "description": "Email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [] }, "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, + "name": "locale", + "description": "Template locale. If left empty, the fallback locale (en) will be used.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "x-example": "[1, 2]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] + "x-example": "af", + "enum": [ + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" + ], + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [] + }, + "in": "query" + } + ] + } + }, + "\/console\/variables": { + "get": { + "summary": "Get variables", + "operationId": "consoleVariables", + "tags": [ + "console" + ], + "description": "Get all Environment Variables that are relevant for the console.", + "responses": { + "200": { + "description": "Console Variables", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/consoleVariables" + } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "variables", + "group": "console", + "weight": 506, + "cookies": false, + "type": "", + "demo": "console\/variables.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "projects.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point\/{key}": { - "patch": { - "summary": "Update point attribute", - "operationId": "databasesUpdatePointAttribute", + "\/databases": { + "get": { + "summary": "List databases", + "operationId": "databasesList", "tags": [ "databases" ], - "description": "Update a point attribute. Changing the `default` value will not update already existing documents.", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "AttributePoint", + "description": "Databases List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributePoint" + "$ref": "#\/components\/schemas\/databaseList" } } } @@ -13964,27 +13464,56 @@ }, "deprecated": true, "x-appwrite": { - "method": "updatePointAttribute", - "group": "attributes", - "weight": 736, + "method": "list", + "group": "databases", + "weight": 704, "cookies": false, "type": "", - "demo": "databases\/update-point-attribute.md", + "demo": "databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updatePointColumn" + "replaceWith": "tablesDB.list" }, + "methods": [ + { + "name": "list", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "queries", + "search", + "total" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/databaseList" + } + ], + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "demo": "databases\/list.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.list" + } + } + ], "auth": { "Project": [] } @@ -13997,90 +13526,56 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name", + "required": false, "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string" + "type": "boolean", + "x-example": false, + "default": true }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "x-example": "[1, 2]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } - } + "in": "query" } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon": { + ] + }, "post": { - "summary": "Create polygon attribute", - "operationId": "databasesCreatePolygonAttribute", + "summary": "Create database", + "operationId": "databasesCreate", "tags": [ "databases" ], - "description": "Create a geometric polygon attribute.", + "description": "Create a new Database.\n", "responses": { - "202": { - "description": "AttributePolygon", + "201": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributePolygon" + "$ref": "#\/components\/schemas\/database" } } } @@ -14088,27 +13583,59 @@ }, "deprecated": true, "x-appwrite": { - "method": "createPolygonAttribute", - "group": "attributes", - "weight": 737, + "method": "create", + "group": "databases", + "weight": 700, "cookies": false, "type": "", - "demo": "databases\/create-polygon-attribute.md", + "demo": "databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createPolygonColumn" + "replaceWith": "tablesDB.create" }, + "methods": [ + { + "name": "create", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "name", + "enabled" + ], + "required": [ + "databaseId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/database" + } + ], + "description": "Create a new Database.\n", + "demo": "databases\/create.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.create" + } + } + ], "auth": { "Project": [] } @@ -14119,61 +13646,31 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "key": { + "databaseId": { "type": "string", - "description": "Attribute Key.", - "x-example": null + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" }, - "required": { + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { "type": "boolean", - "description": "Is attribute required?", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true } }, "required": [ - "key", - "required" + "databaseId", + "name" ] } } @@ -14181,49 +13678,47 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon\/{key}": { - "patch": { - "summary": "Update polygon attribute", - "operationId": "databasesUpdatePolygonAttribute", + "\/databases\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "databasesListTransactions", "tags": [ "databases" ], - "description": "Update a polygon attribute. Changing the `default` value will not update already existing documents.", + "description": "List transactions across all databases.", "responses": { "200": { - "description": "AttributePolygon", + "description": "Transaction List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributePolygon" + "$ref": "#\/components\/schemas\/transactionList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updatePolygonAttribute", - "group": "attributes", - "weight": 738, + "method": "listTransactions", + "group": "transactions", + "weight": 774, "cookies": false, "type": "", - "demo": "databases\/update-polygon-attribute.md", + "demo": "databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "rows.read", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updatePolygonColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -14231,123 +13726,67 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } - } + "in": "query" } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship": { + ] + }, "post": { - "summary": "Create relationship attribute", - "operationId": "databasesCreateRelationshipAttribute", + "summary": "Create transaction", + "operationId": "databasesCreateTransaction", "tags": [ "databases" ], - "description": "Create relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", + "description": "Create a new transaction.", "responses": { - "202": { - "description": "AttributeRelationship", + "201": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeRelationship" + "$ref": "#\/components\/schemas\/transaction" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createRelationshipAttribute", - "group": "attributes", - "weight": 739, + "method": "createTransaction", + "group": "transactions", + "weight": 770, "cookies": false, "type": "", - "demo": "databases\/create-relationship-attribute.md", + "demo": "databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createRelationshipColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -14355,29 +13794,9 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" + "Key": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -14386,107 +13805,60 @@ "schema": { "type": "object", "properties": { - "relatedCollectionId": { - "type": "string", - "description": "Related Collection ID.", - "x-example": "<RELATED_COLLECTION_ID>" - }, - "type": { - "type": "string", - "description": "Relation type", - "x-example": "oneToOne", - "enum": [ - "oneToOne", - "manyToOne", - "manyToMany", - "oneToMany" - ], - "x-enum-name": "RelationshipType", - "x-enum-keys": [] - }, - "twoWay": { - "type": "boolean", - "description": "Is Two Way?", - "x-example": false - }, - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null, - "x-nullable": true - }, - "twoWayKey": { - "type": "string", - "description": "Two Way Attribute Key.", - "x-example": null, - "x-nullable": true - }, - "onDelete": { - "type": "string", - "description": "Constraints option", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "format": "int32" } - }, - "required": [ - "relatedCollectionId", - "type" - ] + } } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship\/{key}": { - "patch": { - "summary": "Update relationship attribute", - "operationId": "databasesUpdateRelationshipAttribute", + "\/databases\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "databasesGetTransaction", "tags": [ "databases" ], - "description": "Update relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", + "description": "Get a transaction by its unique ID.", "responses": { "200": { - "description": "AttributeRelationship", + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeRelationship" + "$ref": "#\/components\/schemas\/transaction" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateRelationshipAttribute", - "group": "attributes", - "weight": 740, + "method": "getTransaction", + "group": "transactions", + "weight": 771, "cookies": false, "type": "", - "demo": "databases\/update-relationship-attribute.md", + "demo": "databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "rows.read", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateRelationshipColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -14494,114 +13866,64 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "onDelete": { - "type": "string", - "description": "Constraints option", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - } - } - } - } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string": { - "post": { - "summary": "Create string attribute", - "operationId": "databasesCreateStringAttribute", + ] + }, + "patch": { + "summary": "Update transaction", + "operationId": "databasesUpdateTransaction", "tags": [ "databases" ], - "description": "Create a string attribute.\n", + "description": "Update a transaction, to either commit or roll back its operations.", "responses": { - "202": { - "description": "AttributeString", + "200": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeString" + "$ref": "#\/components\/schemas\/transaction" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createStringAttribute", - "group": "attributes", - "weight": 741, + "method": "updateTransaction", + "group": "transactions", + "weight": 772, "cookies": false, "type": "", - "demo": "databases\/create-string-attribute.md", + "demo": "databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createStringColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -14609,27 +13931,19 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } @@ -14640,93 +13954,55 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "size": { - "type": "integer", - "description": "Attribute size for text attributes, in number of characters.", - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { + "commit": { "type": "boolean", - "description": "Is attribute an array?", + "description": "Commit transaction?", "x-example": false }, - "encrypt": { + "rollback": { "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "description": "Rollback transaction?", "x-example": false } - }, - "required": [ - "key", - "size", - "required" - ] + } } } } } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string\/{key}": { - "patch": { - "summary": "Update string attribute", - "operationId": "databasesUpdateStringAttribute", + }, + "delete": { + "summary": "Delete transaction", + "operationId": "databasesDeleteTransaction", "tags": [ "databases" ], - "description": "Update a string attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Delete a transaction by its unique ID.", "responses": { - "200": { - "description": "AttributeString", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/attributeString" - } - } - } + "204": { + "description": "No content" } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateStringAttribute", - "group": "attributes", - "weight": 742, + "method": "deleteTransaction", + "group": "transactions", + "weight": 773, "cookies": false, "type": "", - "demo": "databases\/update-string-attribute.md", + "demo": "databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateStringColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -14734,96 +14010,40 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the string attribute.", - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text": { + "\/databases\/transactions\/{transactionId}\/operations": { "post": { - "summary": "Create text attribute", - "operationId": "databasesCreateTextAttribute", + "summary": "Create operations", + "operationId": "databasesCreateOperations", "tags": [ "databases" ], - "description": "Create a text attribute.\n", + "description": "Create multiple operations in a single transaction.", "responses": { - "202": { - "description": "AttributeText", + "201": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeText" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -14831,23 +14051,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTextAttribute", - "group": "attributes", - "weight": 747, + "method": "createOperations", + "group": "transactions", + "weight": 775, "cookies": false, "type": "", - "demo": "databases\/create-text-attribute.md", + "demo": "databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-text-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -14855,27 +14077,19 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } @@ -14886,172 +14100,140 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "x-example": false + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "items": { + "type": "object" + } } - }, - "required": [ - "key", - "required" - ] + } } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text\/{key}": { - "patch": { - "summary": "Update text attribute", - "operationId": "databasesUpdateTextAttribute", + "\/databases\/usage": { + "get": { + "summary": "Get databases usage stats", + "operationId": "databasesListUsage", "tags": [ "databases" ], - "description": "Update a text attribute. Changing the `default` value will not update already existing documents.\n", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "AttributeText", + "description": "UsageDatabases", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeText" + "$ref": "#\/components\/schemas\/usageDatabases" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateTextAttribute", - "group": "attributes", - "weight": 748, + "method": "listUsage", + "group": null, + "weight": 707, "cookies": false, "type": "", - "demo": "databases\/update-text-attribute.md", + "demo": "databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "collections.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-text-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listUsage" + }, + "methods": [ + { + "name": "listUsage", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageDatabases" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "databases\/list-usage.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listUsage" + } + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url": { - "post": { - "summary": "Create URL attribute", - "operationId": "databasesCreateUrlAttribute", + "\/databases\/{databaseId}": { + "get": { + "summary": "Get database", + "operationId": "databasesGet", "tags": [ "databases" ], - "description": "Create a URL attribute.\n", + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", "responses": { - "202": { - "description": "AttributeURL", + "200": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeUrl" + "$ref": "#\/components\/schemas\/database" } } } @@ -15059,27 +14241,56 @@ }, "deprecated": true, "x-appwrite": { - "method": "createUrlAttribute", - "group": "attributes", - "weight": 743, + "method": "get", + "group": "databases", + "weight": 701, "cookies": false, "type": "", - "demo": "databases\/create-url-attribute.md", + "demo": "databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createUrlColumn" + "replaceWith": "tablesDB.get" }, + "methods": [ + { + "name": "get", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/database" + } + ], + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "demo": "databases\/get.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.get" + } + } + ], "auth": { "Project": [] } @@ -15100,72 +14311,23 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url\/{key}": { - "patch": { - "summary": "Update URL attribute", - "operationId": "databasesUpdateUrlAttribute", + ] + }, + "put": { + "summary": "Update database", + "operationId": "databasesUpdate", "tags": [ "databases" ], - "description": "Update an url attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Update a database by its unique ID.", "responses": { "200": { - "description": "AttributeURL", + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeUrl" + "$ref": "#\/components\/schemas\/database" } } } @@ -15173,27 +14335,58 @@ }, "deprecated": true, "x-appwrite": { - "method": "updateUrlAttribute", - "group": "attributes", - "weight": 744, + "method": "update", + "group": "databases", + "weight": 702, "cookies": false, "type": "", - "demo": "databases\/update-url-attribute.md", + "demo": "databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updateUrlColumn" + "replaceWith": "tablesDB.update" }, + "methods": [ + { + "name": "update", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "name", + "enabled" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/database" + } + ], + "description": "Update a database by its unique ID.", + "demo": "databases\/update.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.update" + } + } + ], "auth": { "Project": [] } @@ -15214,25 +14407,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ], "requestBody": { @@ -15241,74 +14415,85 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { + "name": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "x-example": null, - "x-nullable": true + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false } - }, - "required": [ - "required", - "default" - ] + } } } } } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar": { - "post": { - "summary": "Create varchar attribute", - "operationId": "databasesCreateVarcharAttribute", + }, + "delete": { + "summary": "Delete database", + "operationId": "databasesDelete", "tags": [ "databases" ], - "description": "Create a varchar attribute.\n", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", "responses": { - "202": { - "description": "AttributeVarchar", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/attributeVarchar" - } - } - } + "204": { + "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createVarcharAttribute", - "group": "attributes", - "weight": 745, + "method": "delete", + "group": "databases", + "weight": 703, "cookies": false, "type": "", - "demo": "databases\/create-varchar-attribute.md", + "demo": "databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-varchar-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.delete" + }, + "methods": [ + { + "name": "delete", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 204 + } + ], + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "demo": "databases\/delete.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.delete" + } + } + ], "auth": { "Project": [] } @@ -15329,107 +14514,53 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" } + ] + } + }, + "\/databases\/{databaseId}\/collections": { + "get": { + "summary": "List collections", + "operationId": "databasesListCollections", + "tags": [ + "databases" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "x-example": null - }, - "size": { - "type": "integer", - "description": "Attribute size for varchar attributes, in number of characters. Maximum size is 16381.", - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "size", - "required" - ] - } - } - } - } - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar\/{key}": { - "patch": { - "summary": "Update varchar attribute", - "operationId": "databasesUpdateVarcharAttribute", - "tags": [ - "databases" - ], - "description": "Update a varchar attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "AttributeVarchar", + "description": "Collections List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/attributeVarchar" + "$ref": "#\/components\/schemas\/collectionList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateVarcharAttribute", - "group": "attributes", - "weight": 746, + "method": "listCollections", + "group": "collections", + "weight": 712, "cookies": false, "type": "", - "demo": "databases\/update-varchar-attribute.md", + "demo": "databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "collections.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-varchar-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listTables" + }, "auth": { "Project": [] } @@ -15452,21 +14583,102 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create collections", + "operationId": "databasesCreateCollection", + "tags": [ + "databases" + ], + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "Collection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/collection" + } + } + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "createCollection", + "group": "collections", + "weight": 708, + "cookies": false, + "type": "", + "demo": "databases\/create-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createTable" + }, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { - "type": "string" + "type": "string", + "x-example": "<DATABASE_ID>" }, "in": "path" } @@ -15477,34 +14689,55 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "x-example": false + "collectionId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" }, - "default": { + "name": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "size": { - "type": "integer", - "description": "Maximum size of the varchar attribute.", - "x-example": 1, - "format": "int32", + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, "x-nullable": true }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + }, + "attributes": { + "type": "array", + "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", "x-example": null, - "x-nullable": true + "items": { + "type": "object" + } + }, + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "items": { + "type": "object" + } } }, "required": [ - "required", - "default" + "collectionId", + "name" ] } } @@ -15512,103 +14745,21 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}": { + "\/databases\/{databaseId}\/collections\/{collectionId}": { "get": { - "summary": "Get attribute", - "operationId": "databasesGetAttribute", + "summary": "Get collection", + "operationId": "databasesGetCollection", "tags": [ "databases" ], - "description": "Get attribute by ID.", + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", "responses": { "200": { - "description": "AttributeBoolean, or AttributeInteger, or AttributeFloat, or AttributeEmail, or AttributeEnum, or AttributeURL, or AttributeIP, or AttributeDatetime, or AttributeRelationship, or AttributeString", + "description": "Collection", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/attributeBoolean" - }, - { - "$ref": "#\/components\/schemas\/attributeInteger" - }, - { - "$ref": "#\/components\/schemas\/attributeFloat" - }, - { - "$ref": "#\/components\/schemas\/attributeEmail" - }, - { - "$ref": "#\/components\/schemas\/attributeEnum" - }, - { - "$ref": "#\/components\/schemas\/attributeUrl" - }, - { - "$ref": "#\/components\/schemas\/attributeIp" - }, - { - "$ref": "#\/components\/schemas\/attributeDatetime" - }, - { - "$ref": "#\/components\/schemas\/attributeRelationship" - }, - { - "$ref": "#\/components\/schemas\/attributeString" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "boolean": "#\/components\/schemas\/attributeBoolean", - "integer": "#\/components\/schemas\/attributeInteger", - "double": "#\/components\/schemas\/attributeFloat", - "string": "#\/components\/schemas\/attributeString", - "datetime": "#\/components\/schemas\/attributeDatetime", - "relationship": "#\/components\/schemas\/attributeRelationship" - }, - "x-propertyNames": [ - "type", - "format" - ], - "x-mapping": { - "#\/components\/schemas\/attributeBoolean": { - "type": "boolean" - }, - "#\/components\/schemas\/attributeInteger": { - "type": "integer" - }, - "#\/components\/schemas\/attributeFloat": { - "type": "double" - }, - "#\/components\/schemas\/attributeEmail": { - "type": "string", - "format": "email" - }, - "#\/components\/schemas\/attributeEnum": { - "type": "string", - "format": "enum" - }, - "#\/components\/schemas\/attributeUrl": { - "type": "string", - "format": "url" - }, - "#\/components\/schemas\/attributeIp": { - "type": "string", - "format": "ip" - }, - "#\/components\/schemas\/attributeDatetime": { - "type": "datetime" - }, - "#\/components\/schemas\/attributeRelationship": { - "type": "relationship" - }, - "#\/components\/schemas\/attributeString": { - "type": "string" - } - } - } + "$ref": "#\/components\/schemas\/collection" } } } @@ -15616,12 +14767,12 @@ }, "deprecated": true, "x-appwrite": { - "method": "getAttribute", - "group": "attributes", - "weight": 714, + "method": "getCollection", + "group": "collections", + "weight": 709, "cookies": false, "type": "", - "demo": "databases\/get-attribute.md", + "demo": "databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15632,10 +14783,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getColumn" + "replaceWith": "tablesDB.getTable" }, "auth": { "Project": [] @@ -15667,25 +14818,131 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" + } + ] + }, + "put": { + "summary": "Update collection", + "operationId": "databasesUpdateCollection", + "tags": [ + "databases" + ], + "description": "Update a collection by its unique ID.", + "responses": { + "200": { + "description": "Collection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/collection" + } + } + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "updateCollection", + "group": "collections", + "weight": 710, + "cookies": false, + "type": "", + "demo": "databases\/update-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateTable" }, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "key", - "description": "Attribute Key.", + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { - "type": "string" + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + }, + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false + } + } + } + } + } + } }, "delete": { - "summary": "Delete attribute", - "operationId": "databasesDeleteAttribute", + "summary": "Delete collection", + "operationId": "databasesDeleteCollection", "tags": [ "databases" ], - "description": "Deletes an attribute.", + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { "204": { "description": "No content" @@ -15693,12 +14950,12 @@ }, "deprecated": true, "x-appwrite": { - "method": "deleteAttribute", - "group": "attributes", - "weight": 715, + "method": "deleteCollection", + "group": "collections", + "weight": 711, "cookies": false, "type": "", - "demo": "databases\/delete-attribute.md", + "demo": "databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15709,10 +14966,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteColumn" + "replaceWith": "tablesDB.deleteTable" }, "auth": { "Project": [] @@ -15744,34 +15001,25 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes": { "get": { - "summary": "List documents", - "operationId": "databasesListDocuments", + "summary": "List attributes", + "operationId": "databasesListAttributes", "tags": [ "databases" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "List attributes in the collection.", "responses": { "200": { - "description": "Documents List", + "description": "Attributes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeList" } } } @@ -15779,28 +15027,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 905, + "method": "listAttributes", + "group": "attributes", + "weight": 729, "cookies": false, "type": "", - "demo": "databases\/list-documents.md", + "demo": "databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listRows" + "replaceWith": "tablesDB.listColumns" }, "auth": { "Project": [] @@ -15809,9 +15055,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -15827,7 +15071,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -15837,7 +15081,7 @@ }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, size, required, array, status, error", "required": false, "schema": { "type": "array", @@ -15848,16 +15092,6 @@ }, "in": "query" }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -15868,35 +15102,25 @@ "default": true }, "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" } ] - }, + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint": { "post": { - "summary": "Create document", - "operationId": "databasesCreateDocument", + "summary": "Create bigint attribute", + "operationId": "databasesCreateBigIntAttribute", "tags": [ "databases" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": "Create a bigint attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { - "201": { - "description": "Document", + "202": { + "description": "AttributeBigInt", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeBigint" } } } @@ -15904,98 +15128,27 @@ }, "deprecated": true, "x-appwrite": { - "method": "createDocument", - "group": "documents", - "weight": 702, + "method": "createBigIntAttribute", + "group": "attributes", + "weight": 742, "cookies": false, "type": "", - "demo": "databases\/create-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-big-int-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-bigint-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createRow" + "replaceWith": "tablesDB.createBigIntColumn" }, - "methods": [ - { - "name": "createDocument", - "namespace": "databases", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/create-document.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createRow" - } - }, - { - "name": "createDocuments", - "namespace": "databases", - "desc": "Create documents", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/create-documents.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createRows" - } - } - ], "auth": { "Project": [] } @@ -16003,9 +15156,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16021,7 +15172,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -16036,59 +15187,68 @@ "schema": { "type": "object", "properties": { - "documentId": { + "key": { "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DOCUMENT_ID>" + "description": "Attribute Key.", + "x-example": null }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", "x-nullable": true }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", + "max": { + "type": "integer", + "description": "Maximum value", "x-example": null, - "items": { - "type": "object" - } + "format": "int64", + "x-nullable": true }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false } - } + }, + "required": [ + "key", + "required" + ] } } } } - }, - "put": { - "summary": "Upsert documents", - "operationId": "databasesUpsertDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint\/{key}": { + "patch": { + "summary": "Update bigint attribute", + "operationId": "databasesUpdateBigIntAttribute", "tags": [ "databases" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", + "description": "Update a bigint attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "201": { - "description": "Documents List", + "200": { + "description": "AttributeBigInt", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeBigint" } } } @@ -16096,61 +15256,27 @@ }, "deprecated": true, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 707, + "method": "updateBigIntAttribute", + "group": "attributes", + "weight": 743, "cookies": false, "type": "", - "demo": "databases\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-big-int-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-bigint-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.upsertRows" + "replaceWith": "tablesDB.updateBigIntColumn" }, - "methods": [ - { - "name": "upsertDocuments", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", - "demo": "databases\/upsert-documents.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.upsertRows" - } - } - ], "auth": { "Project": [] } @@ -16181,6 +15307,15 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -16189,43 +15324,64 @@ "schema": { "type": "object", "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", "x-example": null, - "items": { - "type": "object" - } + "format": "int64", + "x-nullable": true }, - "transactionId": { + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "New Attribute Key.", + "x-example": null, "x-nullable": true } }, "required": [ - "documents" + "required", + "default" ] } } } } - }, - "patch": { - "summary": "Update documents", - "operationId": "databasesUpdateDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean": { + "post": { + "summary": "Create boolean attribute", + "operationId": "databasesCreateBooleanAttribute", "tags": [ "databases" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Create a boolean attribute.\n", "responses": { - "200": { - "description": "Documents List", + "202": { + "description": "AttributeBoolean", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeBoolean" } } } @@ -16233,26 +15389,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 705, + "method": "createBooleanAttribute", + "group": "attributes", + "weight": 730, "cookies": false, "type": "", - "demo": "databases\/update-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-boolean-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updateRows" + "replaceWith": "tablesDB.createBooleanColumn" }, "auth": { "Project": [] @@ -16277,7 +15433,7 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", @@ -16292,45 +15448,53 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "default": { + "type": "boolean", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": false, "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false } - } + }, + "required": [ + "key", + "required" + ] } } } } - }, - "delete": { - "summary": "Delete documents", - "operationId": "databasesDeleteDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean\/{key}": { + "patch": { + "summary": "Update boolean attribute", + "operationId": "databasesUpdateBooleanAttribute", "tags": [ "databases" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Update a boolean attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Documents List", + "description": "AttributeBoolean", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeBoolean" } } } @@ -16338,26 +15502,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 709, + "method": "updateBooleanAttribute", + "group": "attributes", + "weight": 731, "cookies": false, "type": "", - "demo": "databases\/delete-documents.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-boolean-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteRows" + "replaceWith": "tablesDB.updateBooleanColumn" }, "auth": { "Project": [] @@ -16382,13 +15546,22 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -16397,42 +15570,49 @@ "schema": { "type": "object", "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "transactionId": { + "default": { + "type": "boolean", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": false, + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "New attribute key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { - "get": { - "summary": "Get document", - "operationId": "databasesGetDocument", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime": { + "post": { + "summary": "Create datetime attribute", + "operationId": "databasesCreateDatetimeAttribute", "tags": [ "databases" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "description": "Create a date time attribute according to the ISO 8601 standard.", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeDatetime", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeDatetime" } } } @@ -16440,28 +15620,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 703, + "method": "createDatetimeAttribute", + "group": "attributes", + "weight": 732, "cookies": false, "type": "", - "demo": "databases\/get-document.md", + "demo": "databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getRow" + "replaceWith": "tablesDB.createDatetimeColumn" }, "auth": { "Project": [] @@ -16470,9 +15648,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16488,63 +15664,69 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "query" } - ] - }, - "put": { - "summary": "Upsert a document", - "operationId": "databasesUpsertDocument", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for the attribute in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime\/{key}": { + "patch": { + "summary": "Update datetime attribute", + "operationId": "databasesUpdateDatetimeAttribute", "tags": [ "databases" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": "Update a date time attribute. Changing the `default` value will not update already existing documents.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "AttributeDatetime", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeDatetime" } } } @@ -16552,65 +15734,27 @@ }, "deprecated": true, "x-appwrite": { - "method": "upsertDocument", - "group": "documents", - "weight": 706, + "method": "updateDatetimeAttribute", + "group": "attributes", + "weight": 733, "cookies": false, "type": "", - "demo": "databases\/upsert-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-datetime-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.upsertRow" + "replaceWith": "tablesDB.updateDatetimeColumn" }, - "methods": [ - { - "name": "upsertDocument", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/document" - } - ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/upsert-document.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.upsertRow" - } - } - ], "auth": { "Project": [] } @@ -16618,9 +15762,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16645,12 +15787,11 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "key", + "description": "Attribute Key.", "required": true, "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" + "type": "string" }, "in": "path" } @@ -16661,46 +15802,50 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", "x-nullable": true }, - "transactionId": { + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "New attribute key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } - }, - "patch": { - "summary": "Update document", - "operationId": "databasesUpdateDocument", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email": { + "post": { + "summary": "Create email attribute", + "operationId": "databasesCreateEmailAttribute", "tags": [ "databases" ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Create an email attribute.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeEmail", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeEmail" } } } @@ -16708,28 +15853,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "updateDocument", - "group": "documents", - "weight": 704, + "method": "createEmailAttribute", + "group": "attributes", + "weight": 734, "cookies": false, "type": "", - "demo": "databases\/update-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-email-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updateRow" + "replaceWith": "tablesDB.createEmailColumn" }, "auth": { "Project": [] @@ -16738,9 +15881,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16763,16 +15904,6 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" } ], "requestBody": { @@ -16781,68 +15912,81 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "transactionId": { + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "email@example.com", + "format": "email", "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false } - } + }, + "required": [ + "key", + "required" + ] } } } } - }, - "delete": { - "summary": "Delete document", - "operationId": "databasesDeleteDocument", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email\/{key}": { + "patch": { + "summary": "Update email attribute", + "operationId": "databasesUpdateEmailAttribute", "tags": [ "databases" ], - "description": "Delete a document by its unique ID.", + "description": "Update an email attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeEmail", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/attributeEmail" + } + } + } } }, "deprecated": true, "x-appwrite": { - "method": "deleteDocument", - "group": "documents", - "weight": 708, + "method": "updateEmailAttribute", + "group": "attributes", + "weight": 735, "cookies": false, "type": "", - "demo": "databases\/delete-document.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-email-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteRow" + "replaceWith": "tablesDB.updateEmailColumn" }, "auth": { "Project": [] @@ -16851,9 +15995,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16869,7 +16011,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -16878,12 +16020,11 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "key", + "description": "Attribute Key.", "required": true, "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" + "type": "string" }, "in": "path" } @@ -16894,34 +16035,50 @@ "schema": { "type": "object", "properties": { - "transactionId": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/logs": { - "get": { - "summary": "List document logs", - "operationId": "databasesListDocumentLogs", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum": { + "post": { + "summary": "Create enum attribute", + "operationId": "databasesCreateEnumAttribute", "tags": [ "databases" ], - "description": "Get the document activity logs list by its unique ID.", + "description": "Create an enum attribute. The `elements` param acts as a white-list of accepted values for this attribute. \n", "responses": { - "200": { - "description": "Logs List", + "202": { + "description": "AttributeEnum", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/attributeEnum" } } } @@ -16929,25 +16086,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "listDocumentLogs", - "group": "logs", - "weight": 711, + "method": "createEnumAttribute", + "group": "attributes", + "weight": 736, "cookies": false, "type": "", - "demo": "databases\/list-document-logs.md", + "demo": "databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listRowLogs" + "replaceWith": "tablesDB.createEnumColumn" }, "auth": { "Project": [] @@ -16955,7 +16113,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -16978,48 +16137,70 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "elements": { + "type": "array", + "description": "Array of enum values.", + "x-example": null, + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + } + }, + "required": [ + "key", + "elements", + "required" + ] + } + } + } + } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum\/{key}": { "patch": { - "summary": "Decrement document attribute", - "operationId": "databasesDecrementDocumentAttribute", + "summary": "Update enum attribute", + "operationId": "databasesUpdateEnumAttribute", "tags": [ "databases" ], - "description": "Decrement a specific attribute of a document by a given value.", + "description": "Update an enum attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Document", + "description": "AttributeEnum", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeEnum" } } } @@ -17027,28 +16208,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "decrementDocumentAttribute", - "group": "documents", - "weight": 713, + "method": "updateEnumAttribute", + "group": "attributes", + "weight": 737, "cookies": false, "type": "", - "demo": "databases\/decrement-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-enum-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.decrementRowColumn" + "replaceWith": "tablesDB.updateEnumColumn" }, "auth": { "Project": [] @@ -17057,8 +16236,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -17084,18 +16261,8 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", + "name": "key", + "description": "Attribute Key.", "required": true, "schema": { "type": "string" @@ -17109,47 +16276,58 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", + "elements": { + "type": "array", + "description": "Updated list of enum values.", "x-example": null, - "format": "float" + "items": { + "type": "string" + } }, - "min": { - "type": "number", - "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null, - "format": "float", + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", "x-nullable": true }, - "transactionId": { + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "New Attribute Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "elements", + "required", + "default" + ] } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { - "patch": { - "summary": "Increment document attribute", - "operationId": "databasesIncrementDocumentAttribute", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float": { + "post": { + "summary": "Create float attribute", + "operationId": "databasesCreateFloatAttribute", "tags": [ "databases" ], - "description": "Increment a specific attribute of a document by a given value.", + "description": "Create a float attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeFloat", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeFloat" } } } @@ -17157,28 +16335,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "incrementDocumentAttribute", - "group": "documents", - "weight": 712, + "method": "createFloatAttribute", + "group": "attributes", + "weight": 738, "cookies": false, "type": "", - "demo": "databases\/increment-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-float-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.incrementRowColumn" + "replaceWith": "tablesDB.createFloatColumn" }, "auth": { "Project": [] @@ -17187,8 +16363,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -17212,25 +16386,6 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ], "requestBody": { @@ -17239,47 +16394,68 @@ "schema": { "type": "object", "properties": { - "value": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", + "description": "Minimum value.", "x-example": null, - "format": "float" + "format": "float", + "x-nullable": true }, "max": { "type": "number", - "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", + "description": "Maximum value.", "x-example": null, "format": "float", "x-nullable": true }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false } - } + }, + "required": [ + "key", + "required" + ] } } } } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes": { - "get": { - "summary": "List indexes", - "operationId": "databasesListIndexes", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float\/{key}": { + "patch": { + "summary": "Update float attribute", + "operationId": "databasesUpdateFloatAttribute", "tags": [ "databases" ], - "description": "List indexes in the collection.", + "description": "Update a float attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Indexes List", + "description": "AttributeFloat", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/indexList" + "$ref": "#\/components\/schemas\/attributeFloat" } } } @@ -17287,26 +16463,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 756, + "method": "updateFloatAttribute", + "group": "attributes", + "weight": 739, "cookies": false, "type": "", - "demo": "databases\/list-indexes.md", + "demo": "databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listIndexes" + "replaceWith": "tablesDB.updateFloatColumn" }, "auth": { "Project": [] @@ -17331,7 +16507,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -17340,45 +16516,79 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer": { "post": { - "summary": "Create index", - "operationId": "databasesCreateIndex", + "summary": "Create integer attribute", + "operationId": "databasesCreateIntegerAttribute", "tags": [ "databases" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Create an integer attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { "202": { - "description": "Index", + "description": "AttributeInteger", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/attributeInteger" } } } @@ -17386,12 +16596,12 @@ }, "deprecated": true, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 753, + "method": "createIntegerAttribute", + "group": "attributes", + "weight": 740, "cookies": false, "type": "", - "demo": "databases\/create-index.md", + "demo": "databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17402,10 +16612,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createIndex" + "replaceWith": "tablesDB.createIntegerColumn" }, "auth": { "Project": [] @@ -17430,7 +16640,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -17447,57 +16657,44 @@ "properties": { "key": { "type": "string", - "description": "Index Key.", + "description": "Attribute Key.", "x-example": null }, - "type": { - "type": "string", - "description": "Index type.", - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique", - "spatial" - ], - "x-enum-name": "DatabasesIndexType", - "x-enum-keys": [] + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "attributes": { - "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "min": { + "type": "integer", + "description": "Minimum value", "x-example": null, - "items": { - "type": "string" - } + "format": "int64", + "x-nullable": true }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", + "max": { + "type": "integer", + "description": "Maximum value", "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } + "format": "int64", + "x-nullable": true }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", "x-example": null, - "items": { - "type": "integer" - } + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false } }, "required": [ "key", - "type", - "attributes" + "required" ] } } @@ -17505,21 +16702,21 @@ } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { - "get": { - "summary": "Get index", - "operationId": "databasesGetIndex", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer\/{key}": { + "patch": { + "summary": "Update integer attribute", + "operationId": "databasesUpdateIntegerAttribute", "tags": [ "databases" ], - "description": "Get an index by its unique ID.", + "description": "Update an integer attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Index", + "description": "AttributeInteger", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/attributeInteger" } } } @@ -17527,26 +16724,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 754, + "method": "updateIntegerAttribute", + "group": "attributes", + "weight": 741, "cookies": false, "type": "", - "demo": "databases\/get-index.md", + "demo": "databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getIndex" + "replaceWith": "tablesDB.updateIntegerColumn" }, "auth": { "Project": [] @@ -17571,7 +16768,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -17581,35 +16778,91 @@ }, { "name": "key", - "description": "Index Key.", + "description": "Attribute Key.", "required": true, "schema": { "type": "string" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete index", - "operationId": "databasesDeleteIndex", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip": { + "post": { + "summary": "Create IP address attribute", + "operationId": "databasesCreateIpAttribute", "tags": [ "databases" ], - "description": "Delete an index.", + "description": "Create IP address attribute.\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "AttributeIP", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/attributeIp" + } + } + } } }, "deprecated": true, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 755, + "method": "createIpAttribute", + "group": "attributes", + "weight": 744, "cookies": false, "type": "", - "demo": "databases\/delete-index.md", + "demo": "databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17620,10 +16873,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteIndex" + "replaceWith": "tablesDB.createIpColumn" }, "auth": { "Project": [] @@ -17648,41 +16901,68 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "key", - "description": "Index Key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/logs": { - "get": { - "summary": "List collection logs", - "operationId": "databasesListCollectionLogs", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip\/{key}": { + "patch": { + "summary": "Update IP address attribute", + "operationId": "databasesUpdateIpAttribute", "tags": [ "databases" ], - "description": "Get the collection activity logs list by its unique ID.", + "description": "Update an ip attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Logs List", + "description": "AttributeIP", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/attributeIp" } } } @@ -17690,25 +16970,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "listCollectionLogs", - "group": "collections", - "weight": 700, + "method": "updateIpAttribute", + "group": "attributes", + "weight": 745, "cookies": false, "type": "", - "demo": "databases\/list-collection-logs.md", + "demo": "databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listTableLogs" + "replaceWith": "tablesDB.updateIpColumn" }, "auth": { "Project": [] @@ -17716,7 +16997,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17741,36 +17023,64 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/usage": { - "get": { - "summary": "Get collection usage stats", - "operationId": "databasesGetCollectionUsage", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line": { + "post": { + "summary": "Create line attribute", + "operationId": "databasesCreateLineAttribute", "tags": [ "databases" ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a geometric line attribute.", "responses": { - "200": { - "description": "UsageCollection", + "202": { + "description": "AttributeLine", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageCollection" + "$ref": "#\/components\/schemas\/attributeLine" } } } @@ -17778,25 +17088,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 701, + "method": "createLineAttribute", + "group": "attributes", + "weight": 746, "cookies": false, "type": "", - "demo": "databases\/get-collection-usage.md", + "demo": "databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getTableUsage" + "replaceWith": "tablesDB.createLineColumn" }, "auth": { "Project": [] @@ -17804,7 +17115,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17818,31 +17130,9 @@ }, "in": "path" }, - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" - }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", @@ -17850,24 +17140,62 @@ }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/databases\/{databaseId}\/logs": { - "get": { - "summary": "List database logs", - "operationId": "databasesListLogs", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line\/{key}": { + "patch": { + "summary": "Update line attribute", + "operationId": "databasesUpdateLineAttribute", "tags": [ "databases" ], - "description": "Get the database activity logs list by its unique ID.", + "description": "Update a line attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Logs List", + "description": "AttributeLine", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/attributeLine" } } } @@ -17875,63 +17203,35 @@ }, "deprecated": true, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 692, + "method": "updateLineAttribute", + "group": "attributes", + "weight": 747, "cookies": false, "type": "", - "demo": "databases\/list-logs.md", + "demo": "databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listDatabaseLogs" + "replaceWith": "tablesDB.updateLineColumn" }, - "methods": [ - { - "name": "listLogs", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "queries" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/logList" - } - ], - "description": "Get the database activity logs list by its unique ID.", - "demo": "databases\/list-logs.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listDatabaseLogs" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17946,100 +17246,112 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } + } + } + } } }, - "\/databases\/{databaseId}\/usage": { - "get": { - "summary": "Get database usage stats", - "operationId": "databasesGetUsage", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext": { + "post": { + "summary": "Create longtext attribute", + "operationId": "databasesCreateLongtextAttribute", "tags": [ "databases" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a longtext attribute.\n", "responses": { - "200": { - "description": "UsageDatabase", + "202": { + "description": "AttributeLongtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageDatabase" + "$ref": "#\/components\/schemas\/attributeLongtext" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 693, + "method": "createLongtextAttribute", + "group": "attributes", + "weight": 764, "cookies": false, "type": "", - "demo": "databases\/get-usage.md", + "demo": "databases\/create-longtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getUsage" - }, - "methods": [ - { - "name": "getUsage", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDatabase" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "databases\/get-usage.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getUsage" - } - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-longtext-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -18054,45 +17366,74 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/documentsdb": { - "get": { - "summary": "List databases", - "operationId": "documentsDBList", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext\/{key}": { + "patch": { + "summary": "Update longtext attribute", + "operationId": "databasesUpdateLongtextAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": "Update a longtext attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Databases List", + "description": "AttributeLongtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/databaseList" + "$ref": "#\/components\/schemas\/attributeLongtext" } } } @@ -18100,23 +17441,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "documentsdb", - "weight": 842, + "method": "updateLongtextAttribute", + "group": "attributes", + "weight": 765, "cookies": false, "type": "", - "demo": "documentsdb\/list.md", + "demo": "databases\/update-longtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-longtext-attribute.md", "auth": { "Project": [] } @@ -18129,88 +17470,33 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" - } - ] - }, - "post": { - "summary": "Create database", - "operationId": "documentsDBCreate", - "tags": [ - "documentsDB" - ], - "description": "Create a new Database.\n", - "responses": { - "201": { - "description": "Database", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/database" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "create", - "group": "documentsdb", - "weight": 838, - "cookies": false, - "type": "", - "demo": "documentsdb\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] + "in": "path" } ], "requestBody": { @@ -18219,25 +17505,27 @@ "schema": { "type": "object", "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DATABASE_ID>" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "name": { + "default": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "databaseId", - "name" + "required", + "default" ] } } @@ -18245,21 +17533,21 @@ } } }, - "\/documentsdb\/transactions": { - "get": { - "summary": "List transactions", - "operationId": "documentsDBListTransactions", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext": { + "post": { + "summary": "Create mediumtext attribute", + "operationId": "databasesCreateMediumtextAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "List transactions across all databases.", + "description": "Create a mediumtext attribute.\n", "responses": { - "200": { - "description": "Transaction List", + "202": { + "description": "AttributeMediumtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transactionList" + "$ref": "#\/components\/schemas\/attributeMediumtext" } } } @@ -18267,25 +17555,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 870, + "method": "createMediumtextAttribute", + "group": "attributes", + "weight": 762, "cookies": false, "type": "", - "demo": "documentsdb\/list-transactions.md", + "demo": "databases\/create-mediumtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-transactions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-mediumtext-attribute.md", "auth": { "Project": [] } @@ -18293,41 +17579,89 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" } - ] - }, - "post": { - "summary": "Create transaction", - "operationId": "documentsDBCreateTransaction", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext\/{key}": { + "patch": { + "summary": "Update mediumtext attribute", + "operationId": "databasesUpdateMediumtextAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new transaction.", + "description": "Update a mediumtext attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "201": { - "description": "Transaction", + "200": { + "description": "AttributeMediumtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/attributeMediumtext" } } } @@ -18335,25 +17669,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 866, + "method": "updateMediumtextAttribute", + "group": "attributes", + "weight": 763, "cookies": false, "type": "", - "demo": "documentsdb\/create-transaction.md", + "demo": "databases\/update-mediumtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-mediumtext-attribute.md", "auth": { "Project": [] } @@ -18361,9 +17693,38 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -18372,60 +17733,77 @@ "schema": { "type": "object", "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "x-example": 60, - "format": "int32" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } } }, - "\/documentsdb\/transactions\/{transactionId}": { - "get": { - "summary": "Get transaction", - "operationId": "documentsDBGetTransaction", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point": { + "post": { + "summary": "Create point attribute", + "operationId": "databasesCreatePointAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a transaction by its unique ID.", + "description": "Create a geometric point attribute.", "responses": { - "200": { - "description": "Transaction", + "202": { + "description": "AttributePoint", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/attributePoint" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 867, + "method": "createPointAttribute", + "group": "attributes", + "weight": 748, "cookies": false, "type": "", - "demo": "documentsdb\/get-transaction.md", + "demo": "databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createPointColumn" + }, "auth": { "Project": [] } @@ -18433,64 +17811,114 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", + "x-example": "[1, 2]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point\/{key}": { "patch": { - "summary": "Update transaction", - "operationId": "documentsDBUpdateTransaction", + "summary": "Update point attribute", + "operationId": "databasesUpdatePointAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Update a point attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Transaction", + "description": "AttributePoint", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/attributePoint" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 868, + "method": "updatePointAttribute", + "group": "attributes", + "weight": 749, "cookies": false, "type": "", - "demo": "documentsdb\/update-transaction.md", + "demo": "databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updatePointColumn" + }, "auth": { "Project": [] } @@ -18498,19 +17926,36 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -18521,55 +17966,83 @@ "schema": { "type": "object", "properties": { - "commit": { + "required": { "type": "boolean", - "description": "Commit transaction?", + "description": "Is attribute required?", "x-example": false }, - "rollback": { - "type": "boolean", - "description": "Rollback transaction?", - "x-example": false + "default": { + "type": "array", + "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", + "x-example": "[1, 2]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required" + ] } } } } - }, - "delete": { - "summary": "Delete transaction", - "operationId": "documentsDBDeleteTransaction", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon": { + "post": { + "summary": "Create polygon attribute", + "operationId": "databasesCreatePolygonAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a transaction by its unique ID.", + "description": "Create a geometric polygon attribute.", "responses": { - "204": { - "description": "No content" + "202": { + "description": "AttributePolygon", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/attributePolygon" + } + } + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 869, + "method": "createPolygonAttribute", + "group": "attributes", + "weight": 750, "cookies": false, "type": "", - "demo": "documentsdb\/delete-transaction.md", + "demo": "databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createPolygonColumn" + }, "auth": { "Project": [] } @@ -18577,160 +18050,114 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ] - } - }, - "\/documentsdb\/usage": { - "get": { - "summary": "Get DocumentsDB usage stats", - "operationId": "documentsDBListUsage", - "tags": [ - "documentsDB" - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "responses": { - "200": { - "description": "UsageDatabases", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/usageDatabases" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 844, - "cookies": false, - "type": "", - "demo": "documentsdb\/list-usage.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "documentsdb\/list-usage.md", - "public": true - } - ], - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ + }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/documentsdb\/{databaseId}": { - "get": { - "summary": "Get database", - "operationId": "documentsDBGet", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon\/{key}": { + "patch": { + "summary": "Update polygon attribute", + "operationId": "databasesUpdatePolygonAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Update a polygon attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Database", + "description": "AttributePolygon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/attributePolygon" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "get", - "group": "documentsdb", - "weight": 839, + "method": "updatePolygonAttribute", + "group": "attributes", + "weight": 751, "cookies": false, "type": "", - "demo": "documentsdb\/get.md", + "demo": "databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updatePolygonColumn" + }, "auth": { "Project": [] } @@ -18751,47 +18178,110 @@ "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ] - }, - "put": { - "summary": "Update database", - "operationId": "documentsDBUpdate", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship": { + "post": { + "summary": "Create relationship attribute", + "operationId": "databasesCreateRelationshipAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Update a database by its unique ID.", + "description": "Create relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", "responses": { - "200": { - "description": "Database", + "202": { + "description": "AttributeRelationship", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/attributeRelationship" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "update", - "group": "documentsdb", - "weight": 840, + "method": "createRelationshipAttribute", + "group": "attributes", + "weight": 752, "cookies": false, "type": "", - "demo": "documentsdb\/update.md", + "demo": "databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRelationshipColumn" + }, "auth": { "Project": [] } @@ -18812,6 +18302,16 @@ "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -18820,119 +18320,107 @@ "schema": { "type": "object", "properties": { - "name": { + "relatedCollectionId": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Related Collection ID.", + "x-example": "<RELATED_COLLECTION_ID>" }, - "enabled": { + "type": { + "type": "string", + "description": "Relation type", + "x-example": "oneToOne", + "enum": [ + "oneToOne", + "manyToOne", + "manyToMany", + "oneToMany" + ], + "x-enum-name": "RelationshipType", + "x-enum-keys": [] + }, + "twoWay": { "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "description": "Is Two Way?", "x-example": false + }, + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null, + "x-nullable": true + }, + "twoWayKey": { + "type": "string", + "description": "Two Way Attribute Key.", + "x-example": null, + "x-nullable": true + }, + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] } }, "required": [ - "name" + "relatedCollectionId", + "type" ] } } } } - }, - "delete": { - "summary": "Delete database", - "operationId": "documentsDBDelete", - "tags": [ - "documentsDB" - ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "delete", - "group": "documentsdb", - "weight": 841, - "cookies": false, - "type": "", - "demo": "documentsdb\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - } - ] } }, - "\/documentsdb\/{databaseId}\/collections": { - "get": { - "summary": "List collections", - "operationId": "documentsDBListCollections", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship\/{key}": { + "patch": { + "summary": "Update relationship attribute", + "operationId": "databasesUpdateRelationshipAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "Update relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", "responses": { "200": { - "description": "Collections List", + "description": "AttributeRelationship", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collectionList" + "$ref": "#\/components\/schemas\/attributeRelationship" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 849, + "method": "updateRelationshipAttribute", + "group": "attributes", + "weight": 753, "cookies": false, "type": "", - "demo": "documentsdb\/list-collections.md", + "demo": "databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-collections.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRelationshipColumn" + }, "auth": { "Project": [] } @@ -18955,69 +18443,84 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + } + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string": { "post": { - "summary": "Create collection", - "operationId": "documentsDBCreateCollection", + "summary": "Create string attribute", + "operationId": "databasesCreateStringAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Create a string attribute.\n", "responses": { - "201": { - "description": "Collection", + "202": { + "description": "AttributeString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/attributeString" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 845, + "method": "createStringAttribute", + "group": "attributes", + "weight": 754, "cookies": false, "type": "", - "demo": "documentsdb\/create-collection.md", + "demo": "databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19028,7 +18531,11 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createStringColumn" + }, "auth": { "Project": [] } @@ -19049,7 +18556,17 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - } + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } ], "requestBody": { "content": { @@ -19057,55 +18574,43 @@ "schema": { "type": "object", "properties": { - "collectionId": { + "key": { "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<COLLECTION_ID>" + "description": "Attribute Key.", + "x-example": null }, - "name": { - "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" + "size": { + "type": "integer", + "description": "Attribute size for text attributes, in number of characters.", + "x-example": 1, + "format": "int32" }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", "x-nullable": true }, - "documentSecurity": { + "array": { "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "Is attribute an array?", "x-example": false }, - "enabled": { + "encrypt": { "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", "x-example": false - }, - "attributes": { - "type": "array", - "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "x-example": null, - "items": { - "type": "object" - } - }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "x-example": null, - "items": { - "type": "object" - } } }, "required": [ - "collectionId", - "name" + "key", + "size", + "required" ] } } @@ -19113,45 +18618,49 @@ } } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}": { - "get": { - "summary": "Get collection", - "operationId": "documentsDBGetCollection", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string\/{key}": { + "patch": { + "summary": "Update string attribute", + "operationId": "databasesUpdateStringAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": "Update a string attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Collection", + "description": "AttributeString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/attributeString" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 846, + "method": "updateStringAttribute", + "group": "attributes", + "weight": 755, "cookies": false, "type": "", - "demo": "documentsdb\/get-collection.md", + "demo": "databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateStringColumn" + }, "auth": { "Project": [] } @@ -19175,30 +18684,80 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ] - }, - "put": { - "summary": "Update collection", - "operationId": "documentsDBUpdateCollection", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "size": { + "type": "integer", + "description": "Maximum size of the string attribute.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text": { + "post": { + "summary": "Create text attribute", + "operationId": "databasesCreateTextAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Update a collection by its unique ID.", + "description": "Create a text attribute.\n", "responses": { - "200": { - "description": "Collection", + "202": { + "description": "AttributeText", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/attributeText" } } } @@ -19206,12 +18765,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 847, + "method": "createTextAttribute", + "group": "attributes", + "weight": 760, "cookies": false, "type": "", - "demo": "documentsdb\/update-collection.md", + "demo": "databases\/create-text-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19222,7 +18781,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-text-attribute.md", "auth": { "Project": [] } @@ -19246,7 +18805,7 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", @@ -19261,63 +18820,71 @@ "schema": { "type": "object", "properties": { - "name": { + "key": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "description": "Attribute Key.", + "x-example": null }, - "documentSecurity": { + "required": { "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "Is attribute required?", "x-example": false }, - "enabled": { + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "description": "Is attribute an array?", "x-example": false }, - "purge": { + "encrypt": { "type": "boolean", - "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", "x-example": false } }, "required": [ - "name" + "key", + "required" ] } } } } - }, - "delete": { - "summary": "Delete collection", - "operationId": "documentsDBDeleteCollection", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text\/{key}": { + "patch": { + "summary": "Update text attribute", + "operationId": "databasesUpdateTextAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Update a text attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeText", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/attributeText" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 848, + "method": "updateTextAttribute", + "group": "attributes", + "weight": 761, "cookies": false, "type": "", - "demo": "documentsdb\/delete-collection.md", + "demo": "databases\/update-text-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19328,7 +18895,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-text-attribute.md", "auth": { "Project": [] } @@ -19352,58 +18919,101 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents": { - "get": { - "summary": "List documents", - "operationId": "documentsDBListDocuments", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url": { + "post": { + "summary": "Create URL attribute", + "operationId": "databasesCreateUrlAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "Create a URL attribute.\n", "responses": { - "200": { - "description": "Documents List", + "202": { + "description": "AttributeURL", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeUrl" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 906, + "method": "createUrlAttribute", + "group": "attributes", + "weight": 756, "cookies": false, "type": "", - "demo": "documentsdb\/list-documents.md", + "demo": "databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createUrlColumn" + }, "auth": { "Project": [] } @@ -19411,9 +19021,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -19429,161 +19037,97 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" } - ] - }, - "post": { - "summary": "Create document", - "operationId": "documentsDBCreateDocument", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url\/{key}": { + "patch": { + "summary": "Update URL attribute", + "operationId": "databasesUpdateUrlAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Update an url attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "201": { - "description": "Document", + "200": { + "description": "AttributeURL", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/attributeUrl" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createDocument", - "group": "documents", - "weight": 855, + "method": "updateUrlAttribute", + "group": "attributes", + "weight": 757, "cookies": false, "type": "", - "demo": "documentsdb\/create-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-url-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-document.md", - "methods": [ - { - "name": "createDocument", - "namespace": "documentsDB", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/create-document.md", - "public": true - }, - { - "name": "createDocuments", - "namespace": "documentsDB", - "desc": "Create documents", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/create-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateUrlColumn" + }, "auth": { "Project": [] } @@ -19591,9 +19135,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -19609,13 +19151,22 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -19624,57 +19175,50 @@ "schema": { "type": "object", "properties": { - "documentId": { - "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DOCUMENT_ID>" - }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", - "x-example": null, - "items": { - "type": "object" - } + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true }, - "transactionId": { + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } - }, - "put": { - "summary": "Upsert documents", - "operationId": "documentsDBUpsertDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar": { + "post": { + "summary": "Create varchar attribute", + "operationId": "databasesCreateVarcharAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "description": "Create a varchar attribute.\n", "responses": { - "201": { - "description": "Documents List", + "202": { + "description": "AttributeVarchar", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeVarchar" } } } @@ -19682,53 +19226,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 860, + "method": "createVarcharAttribute", + "group": "attributes", + "weight": 758, "cookies": false, "type": "", - "demo": "documentsdb\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-varchar-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-documents.md", - "methods": [ - { - "name": "upsertDocuments", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", - "demo": "documentsdb\/upsert-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-varchar-attribute.md", "auth": { "Project": [] } @@ -19752,7 +19266,7 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", @@ -19767,42 +19281,65 @@ "schema": { "type": "object", "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", - "x-example": null, - "items": { - "type": "object" - } + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "transactionId": { + "size": { + "type": "integer", + "description": "Attribute size for varchar attributes, in number of characters. Maximum size is 16381.", + "x-example": 1, + "format": "int32" + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false } }, "required": [ - "documents" + "key", + "size", + "required" ] } } } } - }, + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar\/{key}": { "patch": { - "summary": "Update documents", - "operationId": "documentsDBUpdateDocuments", + "summary": "Update varchar attribute", + "operationId": "databasesUpdateVarcharAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Update a varchar attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Documents List", + "description": "AttributeVarchar", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/attributeVarchar" } } } @@ -19810,23 +19347,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 858, + "method": "updateVarcharAttribute", + "group": "attributes", + "weight": 759, "cookies": false, "type": "", - "demo": "documentsdb\/update-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-varchar-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-varchar-attribute.md", "auth": { "Project": [] } @@ -19850,13 +19387,22 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -19865,68 +19411,166 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "x-example": "{}" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "transactionId": { + "size": { + "type": "integer", + "description": "Maximum size of the varchar attribute.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } - }, - "delete": { - "summary": "Delete documents", - "operationId": "documentsDBDeleteDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}": { + "get": { + "summary": "Get attribute", + "operationId": "databasesGetAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Get attribute by ID.", "responses": { "200": { - "description": "Documents List", + "description": "AttributeBoolean, or AttributeInteger, or AttributeFloat, or AttributeEmail, or AttributeEnum, or AttributeURL, or AttributeIP, or AttributeDatetime, or AttributeRelationship, or AttributeString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "oneOf": [ + { + "$ref": "#\/components\/schemas\/attributeBoolean" + }, + { + "$ref": "#\/components\/schemas\/attributeInteger" + }, + { + "$ref": "#\/components\/schemas\/attributeFloat" + }, + { + "$ref": "#\/components\/schemas\/attributeEmail" + }, + { + "$ref": "#\/components\/schemas\/attributeEnum" + }, + { + "$ref": "#\/components\/schemas\/attributeUrl" + }, + { + "$ref": "#\/components\/schemas\/attributeIp" + }, + { + "$ref": "#\/components\/schemas\/attributeDatetime" + }, + { + "$ref": "#\/components\/schemas\/attributeRelationship" + }, + { + "$ref": "#\/components\/schemas\/attributeString" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "boolean": "#\/components\/schemas\/attributeBoolean", + "integer": "#\/components\/schemas\/attributeInteger", + "double": "#\/components\/schemas\/attributeFloat", + "string": "#\/components\/schemas\/attributeString", + "datetime": "#\/components\/schemas\/attributeDatetime", + "relationship": "#\/components\/schemas\/attributeRelationship" + }, + "x-propertyNames": [ + "type", + "format" + ], + "x-mapping": { + "#\/components\/schemas\/attributeBoolean": { + "type": "boolean" + }, + "#\/components\/schemas\/attributeInteger": { + "type": "integer" + }, + "#\/components\/schemas\/attributeFloat": { + "type": "double" + }, + "#\/components\/schemas\/attributeEmail": { + "type": "string", + "format": "email" + }, + "#\/components\/schemas\/attributeEnum": { + "type": "string", + "format": "enum" + }, + "#\/components\/schemas\/attributeUrl": { + "type": "string", + "format": "url" + }, + "#\/components\/schemas\/attributeIp": { + "type": "string", + "format": "ip" + }, + "#\/components\/schemas\/attributeDatetime": { + "type": "datetime" + }, + "#\/components\/schemas\/attributeRelationship": { + "type": "relationship" + }, + "#\/components\/schemas\/attributeString": { + "type": "string" + } + } + } } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 862, + "method": "getAttribute", + "group": "attributes", + "weight": 727, "cookies": false, "type": "", - "demo": "documentsdb\/delete-documents.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/get-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getColumn" + }, "auth": { "Project": [] } @@ -19950,82 +19594,60 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" - } - } - } - } - } - } - } - }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { - "get": { - "summary": "Get document", - "operationId": "documentsDBGetDocument", + ] + }, + "delete": { + "summary": "Delete attribute", + "operationId": "databasesDeleteAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "description": "Deletes an attribute.", "responses": { - "200": { - "description": "Document", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/document" - } - } - } + "204": { + "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 856, + "method": "deleteAttribute", + "group": "attributes", + "weight": 728, "cookies": false, "type": "", - "demo": "documentsdb\/get-document.md", + "demo": "databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteColumn" + }, "auth": { "Project": [] } @@ -20033,9 +19655,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20051,7 +19671,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -20060,22 +19680,102 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "key", + "description": "Attribute Key.", "required": true, "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" + "type": "string" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { + } + ] + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents": { + "get": { + "summary": "List documents", + "operationId": "databasesListDocuments", + "tags": [ + "databases" + ], + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "listDocuments", + "group": "documents", + "weight": 918, + "cookies": false, + "type": "", + "demo": "databases\/list-documents.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listRows" + }, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { "type": "string" }, "default": [] @@ -20091,16 +19791,39 @@ "x-example": "<TRANSACTION_ID>" }, "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" } ] }, - "put": { - "summary": "Upsert a document", - "operationId": "documentsDBUpsertDocument", + "post": { + "summary": "Create document", + "operationId": "databasesCreateDocument", "tags": [ - "documentsDB" + "databases" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", "responses": { "201": { "description": "Document", @@ -20113,14 +19836,14 @@ } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "upsertDocument", + "method": "createDocument", "group": "documents", - "weight": 859, + "weight": 715, "cookies": false, "type": "", - "demo": "documentsdb\/upsert-document.md", + "demo": "databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -20133,12 +19856,16 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRow" + }, "methods": [ { - "name": "upsertDocument", - "namespace": "documentsDB", - "desc": "", + "name": "createDocument", + "namespace": "databases", + "desc": "Create document", "auth": { "Project": [] }, @@ -20153,7 +19880,8 @@ "required": [ "databaseId", "collectionId", - "documentId" + "documentId", + "data" ], "responses": [ { @@ -20161,9 +19889,45 @@ "model": "#\/components\/schemas\/document" } ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/upsert-document.md", - "public": true + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/create-document.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRow" + } + }, + { + "name": "createDocuments", + "namespace": "databases", + "desc": "Create documents", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/create-documents.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRows" + } } ], "auth": { @@ -20191,23 +19955,13 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" } ], "requestBody": { @@ -20216,23 +19970,38 @@ "schema": { "type": "object", "properties": { + "documentId": { + "type": "string", + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>" + }, "data": { "type": "object", - "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "x-example": "{}" + "description": "Document data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" }, "permissions": { "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" + }, + "x-nullable": true + }, + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "items": { + "type": "object" } }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -20240,46 +20009,82 @@ } } }, - "patch": { - "summary": "Update document", - "operationId": "documentsDBUpdateDocument", + "put": { + "summary": "Upsert documents", + "operationId": "databasesUpsertDocuments", "tags": [ - "documentsDB" + "databases" ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", "responses": { - "200": { - "description": "Document", + "201": { + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/documentList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateDocument", + "method": "upsertDocuments", "group": "documents", - "weight": 857, + "weight": 720, "cookies": false, "type": "", - "demo": "documentsdb\/update-document.md", + "demo": "databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRows" + }, + "methods": [ + { + "name": "upsertDocuments", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", + "demo": "databases\/upsert-documents.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRows" + } + } + ], "auth": { "Project": [] } @@ -20287,9 +20092,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20312,16 +20115,6 @@ "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" } ], "requestBody": { @@ -20330,63 +20123,71 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "x-example": "{}" - }, - "permissions": { + "documents": { "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, "items": { - "type": "string" + "type": "object" } }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - } + }, + "required": [ + "documents" + ] } } } } }, - "delete": { - "summary": "Delete document", - "operationId": "documentsDBDeleteDocument", + "patch": { + "summary": "Update documents", + "operationId": "databasesUpdateDocuments", "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a document by its unique ID.", + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteDocument", + "method": "updateDocuments", "group": "documents", - "weight": 861, + "weight": 718, "cookies": false, "type": "", - "demo": "documentsdb\/delete-document.md", - "rate-limit": 60, + "demo": "databases\/update-documents.md", + "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRows" + }, "auth": { "Project": [] } @@ -20394,9 +20195,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20412,23 +20211,13 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" } ], "requestBody": { @@ -20437,59 +20226,73 @@ "schema": { "type": "object", "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } } } } - } - }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { - "patch": { - "summary": "Decrement document attribute", - "operationId": "documentsDBDecrementDocumentAttribute", + }, + "delete": { + "summary": "Delete documents", + "operationId": "databasesDeleteDocuments", "tags": [ - "documentsDB" + "databases" ], - "description": "Decrement a specific column of a row by a given value.", + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", "responses": { "200": { - "description": "Document", + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/documentList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "decrementDocumentAttribute", + "method": "deleteDocuments", "group": "documents", - "weight": 865, + "weight": 722, "cookies": false, "type": "", - "demo": "documentsdb\/decrement-document-attribute.md", - "rate-limit": 120, + "demo": "databases\/delete-documents.md", + "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ - "client", - "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/decrement-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteRows" + }, "auth": { "Project": [] } @@ -20497,8 +20300,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -20515,32 +20316,13 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOCUMENT_ID>" - }, - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ], "requestBody": { @@ -20549,22 +20331,19 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to decrement the attribute by. The value must be a number.", - "x-example": null, - "format": "float" - }, - "min": { - "type": "number", - "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", "x-example": null, - "format": "float" + "items": { + "type": "string" + } }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -20573,14 +20352,14 @@ } } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { - "patch": { - "summary": "Increment document attribute", - "operationId": "documentsDBIncrementDocumentAttribute", + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "get": { + "summary": "Get document", + "operationId": "databasesGetDocument", "tags": [ - "documentsDB" + "databases" ], - "description": "Increment a specific column of a row by a given value.", + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", "responses": { "200": { "description": "Document", @@ -20593,27 +20372,31 @@ } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "incrementDocumentAttribute", + "method": "getDocument", "group": "documents", - "weight": 864, + "weight": 716, "cookies": false, "type": "", - "demo": "documentsdb\/increment-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/get-document.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", "platforms": [ + "console", "client", "server", - "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/increment-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getRow" + }, "auth": { "Project": [] } @@ -20622,8 +20405,8 @@ { "Project": [], "Session": [], - "JWT": [], - "Key": [] + "Key": [], + "JWT": [] } ], "parameters": [ @@ -20639,7 +20422,7 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", @@ -20657,119 +20440,9 @@ }, "in": "path" }, - { - "name": "attribute", - "description": "Attribute key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "value": { - "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", - "x-example": null, - "format": "float" - }, - "max": { - "type": "number", - "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null, - "format": "float" - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" - } - } - } - } - } - } - } - }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { - "get": { - "summary": "List indexes", - "operationId": "documentsDBListIndexes", - "tags": [ - "documentsDB" - ], - "description": "List indexes in the collection.", - "responses": { - "200": { - "description": "Indexes List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/indexList" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 854, - "cookies": false, - "type": "", - "demo": "documentsdb\/list-indexes.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-indexes.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", "required": false, "schema": { "type": "array", @@ -20781,56 +20454,97 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<TRANSACTION_ID>" }, "in": "query" } ] }, - "post": { - "summary": "Create index", - "operationId": "documentsDBCreateIndex", + "put": { + "summary": "Upsert a document", + "operationId": "databasesUpsertDocument", "tags": [ - "documentsDB" + "databases" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", "responses": { - "202": { - "description": "Index", + "201": { + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/document" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 851, + "method": "upsertDocument", + "group": "documents", + "weight": 719, "cookies": false, "type": "", - "demo": "documentsdb\/create-index.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "demo": "databases\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRow" + }, + "methods": [ + { + "name": "upsertDocument", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/upsert-document.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRow" + } + } + ], "auth": { "Project": [] } @@ -20838,7 +20552,9 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ @@ -20854,13 +20570,23 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" } ], "requestBody": { @@ -20869,104 +20595,76 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Index Key.", - "x-example": null - }, - "type": { - "type": "string", - "description": "Index type.", - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique" - ], - "x-enum-name": "DocumentsDBIndexType", - "x-enum-keys": [] + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" }, - "attributes": { + "permissions": { "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "x-example": null, + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } - }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } + }, + "x-nullable": true }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "x-example": null, - "items": { - "type": "integer" - } + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "key", - "type", - "attributes" - ] + } } } } } - } - }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { - "get": { - "summary": "Get index", - "operationId": "documentsDBGetIndex", + }, + "patch": { + "summary": "Update document", + "operationId": "databasesUpdateDocument", "tags": [ - "documentsDB" + "databases" ], - "description": "Get index by ID.", + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { "200": { - "description": "Index", + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/document" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 852, + "method": "updateDocument", + "group": "documents", + "weight": 717, "cookies": false, "type": "", - "demo": "documentsdb\/get-index.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "demo": "databases\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRow" + }, "auth": { "Project": [] } @@ -20974,7 +20672,9 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ @@ -20990,7 +20690,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "schema": { "type": "string", @@ -20999,47 +20699,85 @@ "in": "path" }, { - "name": "key", - "description": "Index Key.", + "name": "documentId", + "description": "Document ID.", "required": true, "schema": { - "type": "string" + "type": "string", + "x-example": "<DOCUMENT_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } }, "delete": { - "summary": "Delete index", - "operationId": "documentsDBDeleteIndex", + "summary": "Delete document", + "operationId": "databasesDeleteDocument", "tags": [ - "documentsDB" + "databases" ], - "description": "Delete an index.", + "description": "Delete a document by its unique ID.", "responses": { "204": { "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 853, + "method": "deleteDocument", + "group": "documents", + "weight": 721, "cookies": false, "type": "", - "demo": "documentsdb\/delete-index.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "demo": "databases\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteRow" + }, "auth": { "Project": [] } @@ -21047,7 +20785,9 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ @@ -21072,55 +20812,77 @@ "in": "path" }, { - "name": "key", - "description": "Index Key.", + "name": "documentId", + "description": "Document ID.", "required": true, "schema": { - "type": "string" + "type": "string", + "x-example": "<DOCUMENT_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/usage": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/logs": { "get": { - "summary": "Get collection usage stats", - "operationId": "documentsDBGetCollectionUsage", + "summary": "List document logs", + "operationId": "databasesListDocumentLogs", "tags": [ - "documentsDB" + "databases" ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Get the document activity logs list by its unique ID.", "responses": { "200": { - "description": "UsageCollection", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageCollection" + "$ref": "#\/components\/schemas\/logList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 850, + "method": "listDocumentLogs", + "group": "logs", + "weight": 724, "cookies": false, "type": "", - "demo": "documentsdb\/get-collection-usage.md", + "demo": "databases\/list-document-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "documents.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listRowLogs" + }, "auth": { "Project": [] } @@ -21142,111 +20904,96 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", + "name": "documentId", + "description": "Document ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<DOCUMENT_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } ] } }, - "\/documentsdb\/{databaseId}\/usage": { - "get": { - "summary": "Get DocumentsDB usage stats", - "operationId": "documentsDBGetUsage", + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { + "patch": { + "summary": "Decrement document attribute", + "operationId": "databasesDecrementDocumentAttribute", "tags": [ - "documentsDB" + "databases" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Decrement a specific attribute of a document by a given value.", "responses": { "200": { - "description": "UsageDocumentsDB", + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageDocumentsDB" + "$ref": "#\/components\/schemas\/document" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 843, + "method": "decrementDocumentAttribute", + "group": "documents", + "weight": 726, "cookies": false, "type": "", - "demo": "documentsdb\/get-usage.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "demo": "databases\/decrement-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "client", + "server", + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-database-usage.md", - "methods": [ - { - "name": "getUsage", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDocumentsDB" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "documentsdb\/get-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.decrementRowColumn" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ @@ -21261,146 +21008,163 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "format": "float" + }, + "min": { + "type": "number", + "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } } }, - "\/domains": { - "get": { - "summary": "List domains", - "operationId": "domainsList", + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { + "patch": { + "summary": "Increment document attribute", + "operationId": "databasesIncrementDocumentAttribute", "tags": [ - "domains" + "databases" ], - "description": " List all domains registered for this project. This endpoint supports pagination.", + "description": "Increment a specific attribute of a document by a given value.", "responses": { "200": { - "description": "Domains list", + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainsList" + "$ref": "#\/components\/schemas\/document" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "list", - "group": null, - "weight": 930, + "method": "incrementDocumentAttribute", + "group": "documents", + "weight": 725, "cookies": false, "type": "", - "demo": "domains\/list.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "demo": "databases\/increment-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "client", + "server", + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.incrementRowColumn" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on attributes such as domain name, teamInternalId, expiration, etc.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<COLLECTION_ID>" }, - "in": "query" - } - ] - }, - "post": { - "summary": "Create a new domain.", - "operationId": "domainsCreate", - "tags": [ - "domains" - ], - "description": " Create a new domain. Before creating a domain, you need to ensure that your DNS provider is properly configured. After creating the domain, you can use the verification endpoint to check if the domain is ready to be used.", - "responses": { - "201": { - "description": "Domain", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/domain" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "create", - "group": null, - "weight": 925, - "cookies": false, - "type": "", - "demo": "domains\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ + "in": "path" + }, { - "Project": [] + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" } ], "requestBody": { @@ -21409,160 +21173,204 @@ "schema": { "type": "object", "properties": { - "teamId": { - "type": "string", - "description": "Team unique ID.", - "x-example": "<TEAM_ID>" + "value": { + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "format": "float" }, - "domain": { + "max": { + "type": "number", + "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { "type": "string", - "description": "Domain name (e.g. \"example.com\").", - "x-example": null + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "teamId", - "domain" - ] + } } } } } } }, - "\/domains\/price": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes": { "get": { - "summary": "Get domain price", - "operationId": "domainsGetPrice", + "summary": "List indexes", + "operationId": "databasesListIndexes", "tags": [ - "domains" + "databases" ], - "description": " Get the registration price for a domain name.", + "description": "List indexes in the collection.", "responses": { "200": { - "description": "DomainPrice", + "description": "Indexes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainPrice" + "$ref": "#\/components\/schemas\/indexList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getPrice", - "group": null, - "weight": 928, + "method": "listIndexes", + "group": "indexes", + "weight": 769, "cookies": false, "type": "", - "demo": "domains\/get-price.md", + "demo": "databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listIndexes" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domain", - "description": "Domain name to get price for.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { - "type": "string" + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "periodYears", - "description": "Number of years to calculate the domain price for. Must be at least 1.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", "required": false, "schema": { - "type": "integer", - "format": "uint32", - "default": 1 + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, "in": "query" }, { - "name": "registrationType", - "description": "Type of registration pricing to fetch. Allowed values: new, transfer, renewal, trade.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "string", - "x-example": "new", - "enum": [ - "new", - "transfer", - "renewal", - "trade" - ], - "x-enum-name": null, - "x-enum-keys": [], - "default": "new" + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] - } - }, - "\/domains\/purchases": { + }, "post": { - "summary": "Create a domain purchase", - "operationId": "domainsCreatePurchase", + "summary": "Create index", + "operationId": "databasesCreateIndex", "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain purchase by providing registrant details and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Purchase endpoint to capture the payment and finalize the purchase.", + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", "responses": { - "201": { - "description": "DomainPurchase", + "202": { + "description": "Index", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainPurchase" + "$ref": "#\/components\/schemas\/index" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createPurchase", - "group": null, - "weight": 975, + "method": "createIndex", + "group": "indexes", + "weight": 766, "cookies": false, "type": "", - "demo": "domains\/create-purchase.md", + "demo": "databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -21571,79 +21379,59 @@ "schema": { "type": "object", "properties": { - "domain": { + "key": { "type": "string", - "description": "Fully qualified domain name to purchase (for example, example.com).", + "description": "Index Key.", "x-example": null }, - "organizationId": { - "type": "string", - "description": "Team ID that will own the domain.", - "x-example": "<ORGANIZATION_ID>" - }, - "firstName": { + "type": { "type": "string", - "description": "Registrant first name used for domain registration.", - "x-example": "<FIRST_NAME>" + "description": "Index type.", + "x-example": "key", + "enum": [ + "key", + "fulltext", + "unique", + "spatial" + ], + "x-enum-name": "DatabasesIndexType", + "x-enum-keys": [] }, - "lastName": { - "type": "string", - "description": "Registrant last name used for domain registration.", - "x-example": "<LAST_NAME>" + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } }, - "email": { - "type": "string", - "description": "Registrant email address for registration and notices.", - "x-example": "email@example.com", - "format": "email" + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } }, - "phone": { - "type": "string", - "description": "Registrant phone number in E.164 format (for example, +15555551234).", - "x-example": "+12065550100", - "format": "phone" - }, - "billingAddressId": { - "type": "string", - "description": "Billing address ID used for registration contact details.", - "x-example": "<BILLING_ADDRESS_ID>" - }, - "addressLine3": { - "type": "string", - "description": "Additional address line for the registrant (line 3).", - "x-example": "<ADDRESS_LINE3>" - }, - "companyName": { - "type": "string", - "description": "Company or organization name for the registrant.", - "x-example": "<COMPANY_NAME>" - }, - "periodYears": { - "type": "integer", - "description": "Registration term in years (1-10).", - "x-example": 1, - "format": "int32" - }, - "autoRenewal": { - "type": "boolean", - "description": "Whether the domain should renew automatically after purchase.", - "x-example": false - }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID to authorize and capture the purchase.", - "x-example": "<PAYMENT_METHOD_ID>" + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "items": { + "type": "integer" + } } }, "required": [ - "domain", - "organizationId", - "firstName", - "lastName", - "email", - "phone", - "billingAddressId", - "paymentMethodId" + "key", + "type", + "attributes" ] } } @@ -21651,241 +21439,211 @@ } } }, - "\/domains\/purchases\/{invoiceId}": { - "patch": { - "summary": "Confirm a domain purchase", - "operationId": "domainsUpdatePurchase", + "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "databasesGetIndex", "tags": [ - "domains" + "databases" ], - "description": " Finalize a domain purchase initiated with Create Purchase. Verifies that any required 3D Secure authentication is complete, registers the domain, captures the payment, and provisions default DNS records. Returns a 402 error if authentication is still pending.", + "description": "Get an index by its unique ID.", "responses": { "200": { - "description": "DomainPurchase", + "description": "Index", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainPurchase" + "$ref": "#\/components\/schemas\/index" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updatePurchase", - "group": null, - "weight": 976, + "method": "getIndex", + "group": "indexes", + "weight": 767, "cookies": false, "type": "", - "demo": "domains\/update-purchase.md", + "demo": "databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "invoiceId", - "description": "Invoice ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Team ID that owns the domain.", - "x-example": "<ORGANIZATION_ID>" - } - }, - "required": [ - "organizationId" - ] - } - } - } - } - } - }, - "\/domains\/suggestions": { - "get": { - "summary": "List domain suggestions", - "operationId": "domainsListSuggestions", + ] + }, + "delete": { + "summary": "Delete index", + "operationId": "databasesDeleteIndex", "tags": [ - "domains" + "databases" ], - "description": " List domain suggestions.", + "description": "Delete an index.", "responses": { - "200": { - "description": "Domain suggestions list", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/domainSuggestionsList" - } - } - } + "204": { + "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listSuggestions", - "group": null, - "weight": 974, + "method": "deleteIndex", + "group": "indexes", + "weight": 768, "cookies": false, "type": "", - "demo": "domains\/list-suggestions.md", - "rate-limit": 50, + "demo": "databases\/delete-index.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "query", - "description": "Query to find available domains and suggestions. Max length: 256 chars.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<QUERY>" - }, - "in": "query" - }, - { - "name": "tlds", - "description": "TLDs to suggest.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "limit", - "description": "Maximum number of suggestions to return.", - "required": false, - "schema": { - "type": "integer", - "format": "int32" + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "filterType", - "description": "Filter type: premium, suggestion.", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, "schema": { "type": "string", - "x-example": "premium", - "enum": [ - "premium", - "suggestion" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "in": "query" - }, - { - "name": "priceMax", - "description": "Filter premium domains by maximum price. Only premium domains at or below this price will be returned. Does not affect regular domain suggestions.", - "required": false, - "schema": { - "type": "integer", - "format": "int32" + "x-example": "<COLLECTION_ID>" }, - "in": "query" + "in": "path" }, { - "name": "priceMin", - "description": "Filter premium domains by minimum price. Only premium domains at or above this price will be returned. Does not affect regular domain suggestions.", - "required": false, + "name": "key", + "description": "Index Key.", + "required": true, "schema": { - "type": "integer", - "format": "int32" + "type": "string" }, - "in": "query" + "in": "path" } ] } }, - "\/domains\/transfers\/in": { - "post": { - "summary": "Create a domain transfer in.", - "operationId": "domainsCreateTransferIn", + "\/databases\/{databaseId}\/collections\/{collectionId}\/logs": { + "get": { + "summary": "List collection logs", + "operationId": "databasesListCollectionLogs", "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain transfer-in by providing an authorization code, registrant details, and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Transfer In endpoint to capture the payment and submit the transfer.", + "description": "Get the collection activity logs list by its unique ID.", "responses": { - "201": { - "description": "DomainPurchase", + "200": { + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainPurchase" + "$ref": "#\/components\/schemas\/logList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTransferIn", - "group": null, - "weight": 935, + "method": "listCollectionLogs", + "group": "collections", + "weight": 713, "cookies": false, "type": "", - "demo": "domains\/create-transfer-in.md", + "demo": "databases\/list-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listTableLogs" + }, "auth": { "Project": [] } @@ -21895,87 +21653,85 @@ "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "domain": { - "type": "string", - "description": "Domain name to transfer in.", - "x-example": null - }, - "organizationId": { - "type": "string", - "description": "Organization ID that this domain will belong to.", - "x-example": "<ORGANIZATION_ID>" - }, - "authCode": { - "type": "string", - "description": "Authorization code for the domain transfer.", - "x-example": "<AUTH_CODE>" - }, - "autoRenewal": { - "type": "boolean", - "description": "Whether the domain should renew automatically after transfer.", - "x-example": false - }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID to authorize and capture the transfer.", - "x-example": "<PAYMENT_METHOD_ID>" - } - }, - "required": [ - "domain", - "organizationId", - "authCode", - "paymentMethodId" - ] - } - } + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } - } + ] } }, - "\/domains\/transfers\/in\/{invoiceId}": { - "patch": { - "summary": "Confirm a domain transfer in", - "operationId": "domainsUpdateTransferIn", + "\/databases\/{databaseId}\/collections\/{collectionId}\/usage": { + "get": { + "summary": "Get collection usage stats", + "operationId": "databasesGetCollectionUsage", "tags": [ - "domains" + "databases" ], - "description": " Finalize a domain transfer-in initiated with Create Transfer In. Verifies that any required 3D Secure authentication is complete, submits the transfer with the authorization code, captures the payment, and sends a confirmation email. Returns a 402 error if authentication is still pending.", + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "DomainPurchase", + "description": "UsageCollection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainPurchase" + "$ref": "#\/components\/schemas\/usageCollection" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateTransferIn", + "method": "getCollectionUsage", "group": null, - "weight": 936, + "weight": 714, "cookies": false, "type": "", - "demo": "domains\/update-transfer-in.md", + "demo": "databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getTableUsage" + }, "auth": { "Project": [] } @@ -21987,147 +21743,230 @@ ], "parameters": [ { - "name": "invoiceId", - "description": "Invoice ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Team ID that owns the domain.", - "x-example": "<ORGANIZATION_ID>" - } - }, - "required": [ - "organizationId" - ] - } - } - } - } + ] } }, - "\/domains\/transfers\/out": { - "post": { - "summary": "Create a domain transfer out.", - "operationId": "domainsCreateTransferOut", + "\/databases\/{databaseId}\/logs": { + "get": { + "summary": "List database logs", + "operationId": "databasesListLogs", "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain transfer-out by generating an authorization code for the specified domain. The returned `authCode` should be provided to the gaining provider to complete the transfer. If the domain has auto-renewal enabled, it will be automatically disabled as part of this operation.", + "description": "Get the database activity logs list by its unique ID.", "responses": { - "202": { - "description": "domainTransferOut", + "200": { + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainTransferOut" + "$ref": "#\/components\/schemas\/logList" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTransferOut", - "group": null, - "weight": 937, + "method": "listLogs", + "group": "logs", + "weight": 705, "cookies": false, "type": "", - "demo": "domains\/create-transfer-out.md", + "demo": "databases\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "domainId": { - "type": "string", - "description": "Domain unique ID.", - "x-example": "<DOMAIN_ID>" - }, - "organizationId": { - "type": "string", - "description": "Organization ID that this domain belongs to.", - "x-example": "<ORGANIZATION_ID>" - } - }, - "required": [ - "domainId", - "organizationId" - ] + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listDatabaseLogs" + }, + "methods": [ + { + "name": "listLogs", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "queries" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/logList" + } + ], + "description": "Get the database activity logs list by its unique ID.", + "demo": "databases\/list-logs.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listDatabaseLogs" } } + ], + "auth": { + "Project": [] } - } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] } }, - "\/domains\/{domainId}": { + "\/databases\/{databaseId}\/usage": { "get": { - "summary": "Get a single domain by its unique ID.", - "operationId": "domainsGet", + "summary": "Get database usage stats", + "operationId": "databasesGetUsage", "tags": [ - "domains" + "databases" ], - "description": " Get a domain by its unique ID.", + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "Domain", + "description": "UsageDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domain" + "$ref": "#\/components\/schemas\/usageDatabase" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "get", + "method": "getUsage", "group": null, - "weight": 927, + "weight": 706, "cookies": false, "type": "", - "demo": "domains\/get.md", + "demo": "databases\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getUsage" + }, + "methods": [ + { + "name": "getUsage", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageDatabase" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "databases\/get-usage.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getUsage" + } + } + ], "auth": { "Project": [] } @@ -22139,84 +21978,130 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" } ] - }, - "delete": { - "summary": "Delete a domain by its unique ID.", - "operationId": "domainsDelete", + } + }, + "\/documentsdb": { + "get": { + "summary": "List databases", + "operationId": "documentsDBList", "tags": [ - "domains" + "documentsDB" ], - "description": "Delete a domain by its unique ID. This endpoint can be used to delete a domain from your project.\nOnce deleted, the domain will no longer be available for use and all associated resources will be removed.", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Databases List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/databaseList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 926, + "method": "list", + "group": "documentsdb", + "weight": 920, "cookies": false, "type": "", - "demo": "domains\/delete.md", + "demo": "documentsdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/auto-renewal": { - "patch": { - "summary": "Update domain auto-renewal setting.", - "operationId": "domainsUpdateAutoRenewal", + }, + "post": { + "summary": "Create database", + "operationId": "documentsDBCreate", "tags": [ - "domains" + "documentsDB" ], - "description": " Enable or disable auto-renewal for a domain.", + "description": "Create a new Database.\n", "responses": { - "200": { - "description": "Domain", + "201": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domain" + "$ref": "#\/components\/schemas\/database" } } } @@ -22224,40 +22109,31 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateAutoRenewal", - "group": null, - "weight": 931, + "method": "create", + "group": "documentsdb", + "weight": 922, "cookies": false, "type": "", - "demo": "domains\/update-auto-renewal.md", + "demo": "documentsdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -22266,14 +22142,25 @@ "schema": { "type": "object", "properties": { - "autoRenewal": { + "databaseId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { "type": "boolean", - "description": "Whether the domain should renew automatically.", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", "x-example": false } }, "required": [ - "autoRenewal" + "databaseId", + "name" ] } } @@ -22281,21 +22168,21 @@ } } }, - "\/domains\/{domainId}\/nameservers": { - "patch": { - "summary": "Verify which NS records are used and update the domain accordingly.", - "operationId": "domainsUpdateNameservers", + "\/documentsdb\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "documentsDBListTransactions", "tags": [ - "domains" + "documentsDB" ], - "description": " Verify which NS records are used and update the domain accordingly. This will check the domain's\n nameservers and update the domain's status based on whether the nameservers match the expected\n Appwrite nameservers.", + "description": "List transactions across all databases.", "responses": { "200": { - "description": "Domain", + "description": "Transaction List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domain" + "$ref": "#\/components\/schemas\/transactionList" } } } @@ -22303,59 +22190,67 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateNameservers", - "group": null, - "weight": 932, + "method": "listTransactions", + "group": "transactions", + "weight": 883, "cookies": false, "type": "", - "demo": "domains\/update-nameservers.md", + "demo": "documentsdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/presets\/google-workspace": { - "get": { - "summary": "Get Google Workspace preset (Records)", - "operationId": "domainsGetPresetGoogleWorkspace", + }, + "post": { + "summary": "Create transaction", + "operationId": "documentsDBCreateTransaction", "tags": [ - "domains" + "documentsDB" ], - "description": " List Google Workspace DNS records.", + "description": "Create a new transaction.", "responses": { "201": { - "description": "DNS records list", + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -22363,57 +22258,71 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetGoogleWorkspace", - "group": null, - "weight": 963, + "method": "createTransaction", + "group": "transactions", + "weight": 879, "cookies": false, "type": "", - "demo": "domains\/get-preset-google-workspace.md", + "demo": "documentsdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], - "parameters": [ - { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "format": "int32" + } + } + } + } } - ] - }, - "post": { - "summary": "Create Google Workspace preset (Records)", - "operationId": "domainsCreatePresetGoogleWorkspace", + } + } + }, + "\/documentsdb\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "documentsDBGetTransaction", "tags": [ - "domains" + "documentsDB" ], - "description": " Add Google Workspace DNS records to the domain. This will create the required MX records \n for Google Workspace email hosting.", + "description": "Get a transaction by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -22421,59 +22330,64 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPresetGoogleWorkspace", - "group": null, - "weight": 962, + "method": "getTransaction", + "group": "transactions", + "weight": 880, "cookies": false, "type": "", - "demo": "domains\/create-preset-google-workspace.md", + "demo": "documentsdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } ] - } - }, - "\/domains\/{domainId}\/presets\/icloud": { - "get": { - "summary": "Get iCloud preset (Records)", - "operationId": "domainsGetPresetICloud", + }, + "patch": { + "summary": "Update transaction", + "operationId": "documentsDBUpdateTransaction", "tags": [ - "domains" + "documentsDB" ], - "description": " List iCloud DNS records.", + "description": "Update a transaction, to either commit or roll back its operations.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -22481,117 +22395,145 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetICloud", - "group": null, - "weight": 973, + "method": "updateTransaction", + "group": "transactions", + "weight": 881, "cookies": false, "type": "", - "demo": "domains\/get-preset-i-cloud.md", + "demo": "documentsdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } - ] - }, - "post": { - "summary": "Create iCloud preset (Records)", - "operationId": "domainsCreatePresetICloud", - "tags": [ - "domains" ], - "description": " Add iCloud DNS records to the domain. This will create the required MX and SPF records\n for using iCloud email services with your domain.", - "responses": { - "201": { - "description": "DNS records list", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false + }, + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false + } } } } } + } + }, + "delete": { + "summary": "Delete transaction", + "operationId": "documentsDBDeleteTransaction", + "tags": [ + "documentsDB" + ], + "description": "Delete a transaction by its unique ID.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "createPresetICloud", - "group": null, - "weight": 972, + "method": "deleteTransaction", + "group": "transactions", + "weight": 882, "cookies": false, "type": "", - "demo": "domains\/create-preset-i-cloud.md", + "demo": "documentsdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } ] } }, - "\/domains\/{domainId}\/presets\/mailgun": { + "\/documentsdb\/usage": { "get": { - "summary": "Get Mailgun preset (Records)", - "operationId": "domainsGetPresetMailgun", + "summary": "Get DocumentsDB usage stats", + "operationId": "documentsDBListUsage", "tags": [ - "domains" + "documentsDB" ], - "description": " List Mailgun DNS records.", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "UsageDatabases", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/usageDatabases" } } } @@ -22599,21 +22541,45 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetMailgun", + "method": "listUsage", "group": null, - "weight": 965, + "weight": 857, "cookies": false, "type": "", - "demo": "domains\/get-preset-mailgun.md", + "demo": "documentsdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-usage.md", + "methods": [ + { + "name": "listUsage", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageDatabases" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "documentsdb\/list-usage.md", + "public": true + } + ], "auth": { "Project": [] } @@ -22625,31 +22591,45 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" + "in": "query" } ] - }, - "post": { - "summary": "Create Mailgun preset (Records)", - "operationId": "domainsCreatePresetMailgun", + } + }, + "\/documentsdb\/{databaseId}": { + "get": { + "summary": "Get database", + "operationId": "documentsDBGet", "tags": [ - "domains" + "documentsDB" ], - "description": " Add Mailgun DNS records to the domain. This endpoint will create the required DNS records \n for Mailgun in the specified domain.", + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/database" } } } @@ -22657,59 +22637,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPresetMailgun", - "group": null, - "weight": 964, + "method": "get", + "group": "documentsdb", + "weight": 852, "cookies": false, "type": "", - "demo": "domains\/create-preset-mailgun.md", + "demo": "documentsdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } ] - } - }, - "\/domains\/{domainId}\/presets\/outlook": { - "get": { - "summary": "Get Outlook preset (Records)", - "operationId": "domainsGetPresetOutlook", + }, + "put": { + "summary": "Update database", + "operationId": "documentsDBUpdate", "tags": [ - "domains" + "documentsDB" ], - "description": " List Outlook DNS records.", + "description": "Update a database by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/database" } } } @@ -22717,117 +22698,140 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetOutlook", - "group": null, - "weight": 971, + "method": "update", + "group": "documentsdb", + "weight": 853, "cookies": false, "type": "", - "demo": "domains\/get-preset-outlook.md", + "demo": "documentsdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false + } + }, + "required": [ + "name" + ] + } + } + } + } }, - "post": { - "summary": "Create Outlook preset (Records)", - "operationId": "domainsCreatePresetOutlook", + "delete": { + "summary": "Delete database", + "operationId": "documentsDBDelete", "tags": [ - "domains" + "documentsDB" ], - "description": " Add Outlook DNS records to the domain. This will create the required MX records\n for setting up Outlook email hosting for your domain.", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", "responses": { - "201": { - "description": "DNS records list", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createPresetOutlook", - "group": null, - "weight": 970, + "method": "delete", + "group": "documentsdb", + "weight": 923, "cookies": false, "type": "", - "demo": "domains\/create-preset-outlook.md", + "demo": "documentsdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } ] } }, - "\/domains\/{domainId}\/presets\/proton-mail": { + "\/documentsdb\/{databaseId}\/collections": { "get": { - "summary": "Get ProtonMail preset (Records)", - "operationId": "domainsGetPresetProtonMail", + "summary": "List collections", + "operationId": "documentsDBListCollections", "tags": [ - "domains" + "documentsDB" ], - "description": " List ProtonMail DNS records.", + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Collections List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/collectionList" } } } @@ -22835,57 +22839,95 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetProtonMail", - "group": null, - "weight": 969, + "method": "listCollections", + "group": "collections", + "weight": 862, "cookies": false, "type": "", - "demo": "domains\/get-preset-proton-mail.md", + "demo": "documentsdb\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-collections.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] }, "post": { - "summary": "Create ProtonMail preset (Records)", - "operationId": "domainsCreatePresetProtonMail", + "summary": "Create collection", + "operationId": "documentsDBCreateCollection", "tags": [ - "domains" + "documentsDB" ], - "description": " Add ProtonMail DNS records to the domain. This will create the required MX records\n for using ProtonMail with your custom domain.", + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { "201": { - "description": "DNS records list", + "description": "Collection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/collection" } } } @@ -22893,59 +22935,122 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPresetProtonMail", - "group": null, - "weight": 968, + "method": "createCollection", + "group": "collections", + "weight": 858, "cookies": false, "type": "", - "demo": "domains\/create-preset-proton-mail.md", + "demo": "documentsdb\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "collectionId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" + }, + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + }, + "attributes": { + "type": "array", + "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", + "x-example": null, + "items": { + "type": "object" + } + }, + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "items": { + "type": "object" + } + } + }, + "required": [ + "collectionId", + "name" + ] + } + } + } + } } }, - "\/domains\/{domainId}\/presets\/zoho": { + "\/documentsdb\/{databaseId}\/collections\/{collectionId}": { "get": { - "summary": "Get Zoho preset (Records)", - "operationId": "domainsGetPresetZoho", + "summary": "Get collection", + "operationId": "documentsDBGetCollection", "tags": [ - "domains" + "documentsDB" ], - "description": " List Zoho DNS records.", + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Collection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/collection" } } } @@ -22953,57 +23058,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPresetZoho", - "group": null, - "weight": 967, + "method": "getCollection", + "group": "collections", + "weight": 859, "cookies": false, "type": "", - "demo": "domains\/get-preset-zoho.md", + "demo": "documentsdb\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } ] }, - "post": { - "summary": "Create Zoho Mail preset (Records)", - "operationId": "domainsCreatePresetZoho", - "tags": [ - "domains" + "put": { + "summary": "Update collection", + "operationId": "documentsDBUpdateCollection", + "tags": [ + "documentsDB" ], - "description": " Add Zoho Mail DNS records to the domain. This will create the required MX records\n for setting up Zoho Mail on your domain.", + "description": "Update a collection by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Collection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/collection" } } } @@ -23011,59 +23129,178 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPresetZoho", - "group": null, - "weight": 966, + "method": "updateCollection", + "group": "collections", + "weight": 860, "cookies": false, "type": "", - "demo": "domains\/create-preset-zoho.md", + "demo": "documentsdb\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-collection.md", "auth": { "Project": [] } }, "security": [ { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + }, + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false + } + }, + "required": [ + "name" + ] + } + } + } + } + }, + "delete": { + "summary": "Delete collection", + "operationId": "documentsDBDeleteCollection", + "tags": [ + "documentsDB" + ], + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteCollection", + "group": "collections", + "weight": 861, + "cookies": false, + "type": "", + "demo": "documentsdb\/delete-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-collection.md", + "auth": { "Project": [] } + }, + "security": [ + { + "Project": [], + "Key": [] + } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } ] } }, - "\/domains\/{domainId}\/records": { + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents": { "get": { - "summary": "List DNS records for a given domain.", - "operationId": "domainsListRecords", + "summary": "List documents", + "operationId": "documentsDBListDocuments", "tags": [ - "domains" + "documentsDB" ], - "description": " List DNS records for a given domain. You can use this endpoint to list all the DNS records\n associated with your domain.", + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", "responses": { "200": { - "description": "DNS records list", + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecordsList" + "$ref": "#\/components\/schemas\/documentList" } } } @@ -23071,34 +23308,61 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRecords", - "group": null, - "weight": 961, + "method": "listDocuments", + "group": "documents", + "weight": 921, "cookies": false, "type": "", - "demo": "domains\/list-records.md", + "demo": "documentsdb\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "documents.read", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. You may filter on attributes such as type, name, value, etc. Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", "required": false, "schema": { "type": "array", @@ -23110,33 +23374,54 @@ "in": "query" }, { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<TRANSACTION_ID>" }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/records\/a": { + }, "post": { - "summary": "Create a new A record for the given domain.", - "operationId": "domainsCreateRecordA", + "summary": "Create document", + "operationId": "documentsDBCreateDocument", "tags": [ - "domains" + "documentsDB" ], - "description": "Create a new A record for the given domain. A records are used to point a domain name \nto an IPv4 address. The record value should be a valid IPv4 address.", + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { "201": { - "description": "DNSRecord", + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -23144,38 +23429,114 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordA", - "group": null, - "weight": 939, + "method": "createDocument", + "group": "documents", + "weight": 868, "cookies": false, "type": "", - "demo": "domains\/create-record-a.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/create-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-document.md", + "methods": [ + { + "name": "createDocument", + "namespace": "documentsDB", + "desc": "Create document", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions" + ], + "required": [ + "databaseId", + "collectionId", + "documentId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/document" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/create-document.md", + "public": true + }, + { + "name": "createDocuments", + "namespace": "documentsDB", + "desc": "Create documents", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/create-documents.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } @@ -23186,54 +23547,57 @@ "schema": { "type": "object", "properties": { - "name": { + "documentId": { "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>" }, - "value": { - "type": "string", - "description": "IPv4 address for this A record.", - "x-example": null + "data": { + "type": "object", + "description": "Document data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { "type": "string", - "description": "A comment explaining what this record is for.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } - } - }, - "\/domains\/{domainId}\/records\/a\/{recordId}": { + }, "put": { - "summary": "Update an existing A record for the given domain.", - "operationId": "domainsUpdateRecordA", + "summary": "Upsert documents", + "operationId": "documentsDBUpsertDocuments", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing A record for the given domain. This endpoint allows you to modify \n the properties of an A record including its name (subdomain), IPv4 address, TTL, \n and optional comment.", + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", "responses": { - "200": { - "description": "DNSRecord", + "201": { + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/documentList" } } } @@ -23241,48 +23605,81 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordA", - "group": null, - "weight": 940, + "method": "upsertDocuments", + "group": "documents", + "weight": 873, "cookies": false, "type": "", - "demo": "domains\/update-record-a.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/upsert-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-documents.md", + "methods": [ + { + "name": "upsertDocuments", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "demo": "documentsdb\/upsert-documents.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" }, "in": "path" } @@ -23293,54 +23690,42 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "IPv4 address for this A record.", - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "documents": { + "type": "array", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, + "items": { + "type": "object" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment explaining what this record is for.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } }, "required": [ - "name", - "value", - "ttl" + "documents" ] } } } } - } - }, - "\/domains\/{domainId}\/records\/aaaa": { - "post": { - "summary": "Create a new AAAA record for the given domain.", - "operationId": "domainsCreateRecordAAAA", + }, + "patch": { + "summary": "Update documents", + "operationId": "documentsDBUpdateDocuments", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new AAAA record for the given domain. This endpoint allows you to add a new IPv6 DNS record \n to your domain. The record will be used to point a hostname to an IPv6 address.", + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/documentList" } } } @@ -23348,38 +23733,51 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordAAAA", - "group": null, - "weight": 941, + "method": "updateDocuments", + "group": "documents", + "weight": 871, "cookies": false, "type": "", - "demo": "domains\/create-record-aaaa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/update-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } @@ -23390,54 +23788,44 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "IPv6 address for this AAAA record.", - "x-example": null + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{}" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment explaining what this record is for.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } - } - }, - "\/domains\/{domainId}\/records\/aaaa\/{recordId}": { - "put": { - "summary": "Update an existing AAAA record for the given domain.", - "operationId": "domainsUpdateRecordAAAA", + }, + "delete": { + "summary": "Delete documents", + "operationId": "documentsDBDeleteDocuments", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing AAAA record for the given domain. This endpoint allows you to modify\n the properties of an existing AAAA record, including its name (subdomain), IPv6 address,\n TTL, and optional comment.", + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", "responses": { "200": { - "description": "DNSRecord", + "description": "Documents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/documentList" } } } @@ -23445,48 +23833,51 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordAAAA", - "group": null, - "weight": 942, + "method": "deleteDocuments", + "group": "documents", + "weight": 875, "cookies": false, "type": "", - "demo": "domains\/update-record-aaaa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/delete-documents.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" }, "in": "path" } @@ -23497,54 +23888,41 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "IPv6 address for this AAAA record.", - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } } }, - "\/domains\/{domainId}\/records\/alias": { - "post": { - "summary": "Create a new ALIAS record for the given domain.", - "operationId": "domainsCreateRecordAlias", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "get": { + "summary": "Get document", + "operationId": "documentsDBGetDocument", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new ALIAS record for the given domain. This record type can be used to point your domain \n to another domain name that will serve as an alias. This is particularly useful when you want to \n map your domain to a target domain that may change its IP address.", + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -23552,96 +23930,107 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordAlias", - "group": null, - "weight": 943, + "method": "getDocument", + "group": "documents", + "weight": 869, "cookies": false, "type": "", - "demo": "domains\/create-record-alias.md", + "demo": "documentsdb\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name.", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target domain for this ALIAS record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } - } - } - } - } - }, - "\/domains\/{domainId}\/records\/alias\/{recordId}": { + ] + }, "put": { - "summary": "Update an existing ALIAS record for the given domain.", - "operationId": "domainsUpdateRecordAlias", + "summary": "Upsert a document", + "operationId": "documentsDBUpsertDocument", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing ALIAS record for the specified domain. This endpoint allows you to modify\n the properties of an existing ALIAS record including its name, target domain, TTL, and comment.\n \n The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).\n It provides a way to map one domain name to another.", + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { - "200": { - "description": "DNSRecord", + "201": { + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -23649,48 +24038,97 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordAlias", - "group": null, - "weight": 944, + "method": "upsertDocument", + "group": "documents", + "weight": 872, "cookies": false, "type": "", - "demo": "domains\/update-record-alias.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-document.md", + "methods": [ + { + "name": "upsertDocument", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/upsert-document.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" }, "in": "path" } @@ -23701,54 +24139,44 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name.", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target domain for this ALIAS record.", - "x-example": "<VALUE>" + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", + "x-example": "{}" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } - } - }, - "\/domains\/{domainId}\/records\/caa": { - "post": { - "summary": "Create a new CAA record for the given domain.", - "operationId": "domainsCreateRecordCAA", + }, + "patch": { + "summary": "Update document", + "operationId": "documentsDBUpdateDocument", "tags": [ - "domains" + "documentsDB" ], - "description": "Create a new CAA record for the given domain. CAA records are used to specify which \nCertificate Authorities (CAs) are allowed to issue SSL\/TLS certificates for your domain.", + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -23756,145 +24184,65 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordCAA", - "group": null, - "weight": 945, + "method": "updateDocument", + "group": "documents", + "weight": 870, "cookies": false, "type": "", - "demo": "domains\/create-record-caa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name.", - "x-example": null - }, - "value": { - "type": "string", - "description": "CAA value (e.g. issuer domain).", - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } - } - } - } - } - }, - "\/domains\/{domainId}\/records\/caa\/{recordId}": { - "put": { - "summary": "Update an existing CAA record for the given domain.", - "operationId": "domainsUpdateRecordCAA", - "tags": [ - "domains" - ], - "description": " Update an existing CAA record for the given domain. A CAA (Certification Authority Authorization) \n record is used to specify which certificate authorities (CAs) are authorized to issue certificates \n for a domain.", - "responses": { - "200": { - "description": "DNSRecord", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updateRecordCAA", - "group": null, - "weight": 946, - "cookies": false, - "type": "", - "demo": "domains\/update-record-caa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ + }, { - "name": "domainId", - "description": "Domain unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<COLLECTION_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "documentId", + "description": "Document ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<DOCUMENT_ID>" }, "in": "path" } @@ -23905,93 +24253,103 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name.", - "x-example": null - }, - "value": { - "type": "string", - "description": "CAA value (e.g. issuer domain).", - "x-example": null + "data": { + "type": "object", + "description": "Document data as JSON object. Include only fields and value pairs to be updated.", + "x-example": "{}" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } - } - }, - "\/domains\/{domainId}\/records\/cname": { - "post": { - "summary": "Create a new CNAME record for the given domain.", - "operationId": "domainsCreateRecordCNAME", + }, + "delete": { + "summary": "Delete document", + "operationId": "documentsDBDeleteDocument", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new CNAME record for the given domain.\n \n A CNAME record maps a subdomain to another domain name, allowing you to create aliases \n for your domain. For example, you can create a CNAME record to point 'blog.example.com' \n to 'example.wordpress.com'.", + "description": "Delete a document by its unique ID.", "responses": { - "201": { - "description": "DNSRecord", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createRecordCNAME", - "group": null, - "weight": 947, + "method": "deleteDocument", + "group": "documents", + "weight": 874, "cookies": false, "type": "", - "demo": "domains\/create-record-cname.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" }, "in": "path" } @@ -24002,54 +24360,33 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Canonical target for this CNAME record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } } }, - "\/domains\/{domainId}\/records\/cname\/{recordId}": { - "put": { - "summary": "Update an existing CNAME record for the given domain.", - "operationId": "domainsUpdateRecordCNAME", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { + "patch": { + "summary": "Decrement document attribute", + "operationId": "documentsDBDecrementDocumentAttribute", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing CNAME record for the given domain.", + "description": "Decrement a specific column of a row by a given value.", "responses": { "200": { - "description": "DNSRecord", + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -24057,48 +24394,74 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordCNAME", - "group": null, - "weight": 948, + "method": "decrementDocumentAttribute", + "group": "documents", + "weight": 878, "cookies": false, "type": "", - "demo": "domains\/update-record-cname.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/decrement-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "client", + "server", + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/decrement-document-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -24109,54 +24472,45 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, "value": { - "type": "string", - "description": "Canonical target for this CNAME record.", - "x-example": "<VALUE>" + "type": "number", + "description": "Value to decrement the attribute by. The value must be a number.", + "x-example": null, + "format": "float" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "min": { + "type": "number", + "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float" }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } } }, - "\/domains\/{domainId}\/records\/https": { - "post": { - "summary": "Create a new HTTPS record for the given domain.", - "operationId": "domainsCreateRecordHTTPS", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { + "patch": { + "summary": "Increment document attribute", + "operationId": "documentsDBIncrementDocumentAttribute", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new HTTPS record for the given domain. This record is used to configure HTTPS \n settings for your domain, enabling secure communication over SSL\/TLS.", + "description": "Increment a specific column of a row by a given value.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/document" } } } @@ -24164,38 +24518,74 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordHTTPS", - "group": null, - "weight": 949, + "method": "incrementDocumentAttribute", + "group": "documents", + "weight": 877, "cookies": false, "type": "", - "demo": "domains\/create-record-https.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/increment-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "client", + "server", + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/increment-document-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -24206,54 +24596,45 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, "value": { - "type": "string", - "description": "Target for the HTTPS record.", - "x-example": "<VALUE>" + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "format": "float" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "max": { + "type": "number", + "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float" }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } } } } }, - "\/domains\/{domainId}\/records\/https\/{recordId}": { - "put": { - "summary": "Update an existing HTTPS record for the given domain.", - "operationId": "domainsUpdateRecordHTTPS", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "get": { + "summary": "List indexes", + "operationId": "documentsDBListIndexes", "tags": [ - "domains" + "documentsDB" ], - "description": "Update an existing HTTPS record for the given domain. This endpoint allows you to modify \nthe properties of an HTTPS record associated with your domain, including the name (subdomain), \ntarget value, TTL, and optional comment.", + "description": "List indexes in the collection.", "responses": { "200": { - "description": "DNSRecord", + "description": "Indexes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/indexList" } } } @@ -24261,106 +24642,94 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordHTTPS", - "group": null, - "weight": 950, + "method": "listIndexes", + "group": "indexes", + "weight": 867, "cookies": false, "type": "", - "demo": "domains\/update-record-https.md", + "demo": "documentsdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-indexes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target for the HTTPS record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } - } - } - } - } - }, - "\/domains\/{domainId}\/records\/mx": { + ] + }, "post": { - "summary": "Create a new MX record for the given domain.", - "operationId": "domainsCreateRecordMX", + "summary": "Create index", + "operationId": "documentsDBCreateIndex", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new MX record for the given domain. MX records are used to define the mail servers responsible \n for accepting email messages for the domain. Multiple MX records can be created with different priorities.\n The priority parameter determines the order in which mail servers are used, with lower values indicating \n higher priority.", + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", "responses": { - "201": { - "description": "DNSRecord", + "202": { + "description": "Index", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/index" } } } @@ -24368,38 +24737,51 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordMX", - "group": null, - "weight": 951, + "method": "createIndex", + "group": "indexes", + "weight": 864, "cookies": false, "type": "", - "demo": "domains\/create-record-mx.md", + "demo": "documentsdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" }, "in": "path" } @@ -24410,39 +24792,58 @@ "schema": { "type": "object", "properties": { - "name": { + "key": { "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" + "description": "Index Key.", + "x-example": null }, - "value": { + "type": { "type": "string", - "description": "Mail server domain for this MX record.", - "x-example": "<VALUE>" + "description": "Index type.", + "x-example": "key", + "enum": [ + "key", + "fulltext", + "unique" + ], + "x-enum-name": "DocumentsDBIndexType", + "x-enum-keys": [] }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } }, - "priority": { - "type": "integer", - "description": "MX priority.", + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, - "format": "int32" + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "items": { + "type": "integer" + } } }, "required": [ - "name", - "value", - "ttl", - "priority" + "key", + "type", + "attributes" ] } } @@ -24450,21 +24851,21 @@ } } }, - "\/domains\/{domainId}\/records\/mx\/{recordId}": { - "put": { - "summary": "Update an existing MX record for the given domain.", - "operationId": "domainsUpdateRecordMX", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "documentsDBGetIndex", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing MX record for the given domain.", + "description": "Get index by ID.", "responses": { "200": { - "description": "DNSRecord", + "description": "Index", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/index" } } } @@ -24472,210 +24873,154 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordMX", - "group": null, - "weight": 952, + "method": "getIndex", + "group": "indexes", + "weight": 865, "cookies": false, "type": "", - "demo": "domains\/update-record-mx.md", + "demo": "documentsdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Mail server domain for this MX record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "MX priority.", - "x-example": null, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl", - "priority" - ] - } - } - } - } - } - }, - "\/domains\/{domainId}\/records\/ns": { - "post": { - "summary": "Create a new NS record for the given domain.", - "operationId": "domainsCreateRecordNS", + ] + }, + "delete": { + "summary": "Delete index", + "operationId": "documentsDBDeleteIndex", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new NS record for the given domain. NS records specify the nameservers that are used \n to resolve the domain name to IP addresses. Each domain can have multiple NS records.", + "description": "Delete an index.", "responses": { - "201": { - "description": "DNSRecord", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createRecordNS", - "group": null, - "weight": 953, + "method": "deleteIndex", + "group": "indexes", + "weight": 866, "cookies": false, "type": "", - "demo": "domains\/create-record-ns.md", + "demo": "documentsdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Nameserver target for this NS record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } - } - } - } + ] } }, - "\/domains\/{domainId}\/records\/ns\/{recordId}": { - "put": { - "summary": "Update an existing NS record for the given domain.", - "operationId": "domainsUpdateRecordNS", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/usage": { + "get": { + "summary": "Get collection usage stats", + "operationId": "documentsDBGetCollectionUsage", "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing NS record for the given domain. This endpoint allows you to modify \n the properties of an NS (nameserver) record associated with your domain. You can update \n the record name (subdomain), target nameserver value, TTL, and add or modify comments \n for better record management.", + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "DNSRecord", + "description": "UsageCollection", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/usageCollection" } } } @@ -24683,21 +25028,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordNS", + "method": "getCollectionUsage", "group": null, - "weight": 954, + "weight": 863, "cookies": false, "type": "", - "demo": "domains\/update-record-ns.md", + "demo": "documentsdb\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection-usage.md", "auth": { "Project": [] } @@ -24709,80 +25055,65 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<COLLECTION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Nameserver target for this NS record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } - } - } - } + ] } }, - "\/domains\/{domainId}\/records\/srv": { - "post": { - "summary": "Create a new SRV record for the given domain.", - "operationId": "domainsCreateRecordSRV", + "\/documentsdb\/{databaseId}\/usage": { + "get": { + "summary": "Get DocumentsDB usage stats", + "operationId": "documentsDBGetUsage", "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new SRV record for the given domain. SRV records are used to define the location \n of servers for specific services. For example, they can be used to specify which server \n handles a specific service like SIP or XMPP for the domain.", + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "UsageDocumentsDB", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/usageDocumentsDB" } } } @@ -24790,25 +25121,52 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordSRV", + "method": "getUsage", "group": null, - "weight": 955, + "weight": 856, "cookies": false, "type": "", - "demo": "domains\/create-record-srv.md", + "demo": "documentsdb\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, - "auth": { - "Project": [] - } - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-database-usage.md", + "methods": [ + { + "name": "getUsage", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageDocumentsDB" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "documentsdb\/get-usage.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, "security": [ { "Project": [] @@ -24816,91 +25174,55 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (service name).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target hostname for this SRV record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "Record priority.", - "x-example": null, - "format": "int32" - }, - "weight": { - "type": "integer", - "description": "Record weight.", - "x-example": null, - "format": "int32" - }, - "port": { - "type": "integer", - "description": "Port number for the service.", - "x-example": null, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl", - "priority", - "weight", - "port" - ] - } - } - } - } + ] } }, - "\/domains\/{domainId}\/records\/srv\/{recordId}": { - "put": { - "summary": "Update an existing SRV record for the given domain.", - "operationId": "domainsUpdateRecordSRV", + "\/domains": { + "get": { + "summary": "List domains", + "operationId": "domainsList", "tags": [ "domains" ], - "description": " Update an existing SRV record for the given domain.\n \n Required parameters:\n - domainId: Domain unique ID\n - recordId: DNS record unique ID\n - name: Record name (service name)\n - value: Target hostname for this SRV record\n - ttl: Time to live, in seconds\n - priority: Record priority\n - weight: Record weight\n - port: Port number for the service\n \n Optional parameters:\n - comment: A comment for this record", + "description": " List all domains registered for this project. This endpoint supports pagination.", "responses": { "200": { - "description": "DNSRecord", + "description": "Domains list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/domainsList" } } } @@ -24908,16 +25230,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordSRV", + "method": "list", "group": null, - "weight": 956, + "weight": 991, "cookies": false, "type": "", - "demo": "domains\/update-record-srv.md", + "demo": "domains\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "domains.read", "platforms": [ "console" ], @@ -24934,101 +25256,45 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on attributes such as domain name, teamInternalId, expiration, etc.", + "required": false, "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "recordId", - "description": "DNS record unique ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (service name).", - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target hostname for this SRV record.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "Record priority.", - "x-example": null, - "format": "int32" - }, - "weight": { - "type": "integer", - "description": "Record weight.", - "x-example": null, - "format": "int32" - }, - "port": { - "type": "integer", - "description": "Port number for the service.", - "x-example": null, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl", - "priority", - "weight", - "port" - ] - } - } + "in": "query" } - } - } - }, - "\/domains\/{domainId}\/records\/txt": { + ] + }, "post": { - "summary": "Create a new TXT record for the given domain.", - "operationId": "domainsCreateRecordTXT", + "summary": "Create a new domain.", + "operationId": "domainsCreate", "tags": [ "domains" ], - "description": " Create a new TXT record for the given domain. TXT records can be used \n to provide additional information about your domain, such as domain \n verification records, SPF records, or DKIM records.", + "description": " Create a new domain. Before creating a domain, you need to ensure that your DNS provider is properly configured. After creating the domain, you can use the verification endpoint to check if the domain is ready to be used.", "responses": { "201": { - "description": "DNSRecord", + "description": "Domain", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/domain" } } } @@ -25036,12 +25302,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRecordTXT", + "method": "create", "group": null, - "weight": 957, + "weight": 986, "cookies": false, "type": "", - "demo": "domains\/create-record-txt.md", + "demo": "domains\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25060,49 +25326,26 @@ "Project": [] } ], - "parameters": [ - { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain) for the TXT record.", - "x-example": "<NAME>" - }, - "value": { + "teamId": { "type": "string", - "description": "TXT record value.", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "x-example": 1, - "format": "int32" + "description": "Team unique ID.", + "x-example": "<TEAM_ID>" }, - "comment": { + "domain": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Domain name (e.g. \"example.com\").", + "x-example": null } }, "required": [ - "name", - "ttl" + "teamId", + "domain" ] } } @@ -25110,21 +25353,21 @@ } } }, - "\/domains\/{domainId}\/records\/txt\/{recordId}": { - "put": { - "summary": "Update an existing TXT record for the given domain.", - "operationId": "domainsUpdateRecordTXT", + "\/domains\/price": { + "get": { + "summary": "Get domain price", + "operationId": "domainsGetPrice", "tags": [ "domains" ], - "description": " Update an existing TXT record for the given domain.\n \n Update the TXT record details for a specific domain by providing the domain ID,\n record ID, and the new record configuration including name, value, TTL, and an optional comment.", + "description": " Get the registration price for a domain name.", "responses": { "200": { - "description": "DNSRecord", + "description": "DomainPrice", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/domainPrice" } } } @@ -25132,16 +25375,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRecordTXT", + "method": "getPrice", "group": null, - "weight": 958, + "weight": 989, "cookies": false, "type": "", - "demo": "domains\/update-record-txt.md", + "demo": "domains\/get-price.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "domains.read", "platforms": [ "console" ], @@ -25158,24 +25401,91 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "domain", + "description": "Domain name to get price for.", "required": true, "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" + "type": "string" }, - "in": "path" + "in": "query" }, { - "name": "recordId", - "description": "DNS record unique ID.", - "required": true, + "name": "periodYears", + "description": "Number of years to calculate the domain price for. Must be at least 1.", + "required": false, + "schema": { + "type": "integer", + "format": "uint32", + "default": 1 + }, + "in": "query" + }, + { + "name": "registrationType", + "description": "Type of registration pricing to fetch. Allowed values: new, transfer, renewal, trade.", + "required": false, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "new", + "enum": [ + "new", + "transfer", + "renewal", + "trade" + ], + "x-enum-name": null, + "x-enum-keys": [], + "default": "new" }, - "in": "path" + "in": "query" + } + ] + } + }, + "\/domains\/purchases": { + "post": { + "summary": "Create a domain purchase", + "operationId": "domainsCreatePurchase", + "tags": [ + "domains" + ], + "description": " Initiate a domain purchase by providing registrant details and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Purchase endpoint to capture the payment and finalize the purchase.", + "responses": { + "201": { + "description": "DomainPurchase", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/domainPurchase" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createPurchase", + "group": null, + "weight": 1036, + "cookies": false, + "type": "", + "demo": "domains\/create-purchase.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "billing.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] } ], "requestBody": { @@ -25184,32 +25494,79 @@ "schema": { "type": "object", "properties": { - "name": { + "domain": { "type": "string", - "description": "Record name (subdomain) for the TXT record.", - "x-example": "<NAME>" + "description": "Fully qualified domain name to purchase (for example, example.com).", + "x-example": null }, - "value": { + "organizationId": { "type": "string", - "description": "TXT record value.", - "x-example": "<VALUE>" + "description": "Team ID that will own the domain.", + "x-example": "<ORGANIZATION_ID>" }, - "ttl": { + "firstName": { + "type": "string", + "description": "Registrant first name used for domain registration.", + "x-example": "<FIRST_NAME>" + }, + "lastName": { + "type": "string", + "description": "Registrant last name used for domain registration.", + "x-example": "<LAST_NAME>" + }, + "email": { + "type": "string", + "description": "Registrant email address for registration and notices.", + "x-example": "email@example.com", + "format": "email" + }, + "phone": { + "type": "string", + "description": "Registrant phone number in E.164 format (for example, +15555551234).", + "x-example": "+12065550100", + "format": "phone" + }, + "billingAddressId": { + "type": "string", + "description": "Billing address ID used for registration contact details.", + "x-example": "<BILLING_ADDRESS_ID>" + }, + "addressLine3": { + "type": "string", + "description": "Additional address line for the registrant (line 3).", + "x-example": "<ADDRESS_LINE3>" + }, + "companyName": { + "type": "string", + "description": "Company or organization name for the registrant.", + "x-example": "<COMPANY_NAME>" + }, + "periodYears": { "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", + "description": "Registration term in years (1-10).", "x-example": 1, "format": "int32" }, - "comment": { + "autoRenewal": { + "type": "boolean", + "description": "Whether the domain should renew automatically after purchase.", + "x-example": false + }, + "paymentMethodId": { "type": "string", - "description": "A comment for this record.", - "x-example": "<COMMENT>" + "description": "Payment method ID to authorize and capture the purchase.", + "x-example": "<PAYMENT_METHOD_ID>" } }, "required": [ - "name", - "value", - "ttl" + "domain", + "organizationId", + "firstName", + "lastName", + "email", + "phone", + "billingAddressId", + "paymentMethodId" ] } } @@ -25217,21 +25574,21 @@ } } }, - "\/domains\/{domainId}\/records\/{recordId}": { - "get": { - "summary": "Get a single DNS record for a given domain by record ID.", - "operationId": "domainsGetRecord", + "\/domains\/purchases\/{invoiceId}": { + "patch": { + "summary": "Confirm a domain purchase", + "operationId": "domainsUpdatePurchase", "tags": [ "domains" ], - "description": " Get a single DNS record for a given domain by record ID.\n \n This endpoint allows you to retrieve a specific DNS record associated with a domain\n using its unique identifier. The record contains information about the DNS configuration\n such as type, value, and TTL settings.", + "description": " Finalize a domain purchase initiated with Create Purchase. Verifies that any required 3D Secure authentication is complete, registers the domain, captures the payment, and provisions default DNS records. Returns a 402 error if authentication is still pending.", "responses": { "200": { - "description": "DNSRecord", + "description": "DomainPurchase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/dnsRecord" + "$ref": "#\/components\/schemas\/domainPurchase" } } } @@ -25239,16 +25596,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getRecord", + "method": "updatePurchase", "group": null, - "weight": 960, + "weight": 1037, "cookies": false, "type": "", - "demo": "domains\/get-record.md", + "demo": "domains\/update-purchase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "billing.write", "platforms": [ "console" ], @@ -25265,51 +25622,69 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DOMAIN_ID>" - }, - "in": "path" - }, - { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "invoiceId", + "description": "Invoice ID.", "required": true, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "<INVOICE_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete a DNS record for the given domain.", - "operationId": "domainsDeleteRecord", - "tags": [ + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Team ID that owns the domain.", + "x-example": "<ORGANIZATION_ID>" + } + }, + "required": [ + "organizationId" + ] + } + } + } + } + } + }, + "\/domains\/suggestions": { + "get": { + "summary": "List domain suggestions", + "operationId": "domainsListSuggestions", + "tags": [ "domains" ], - "description": " Delete a DNS record for the given domain. This endpoint allows you to delete an existing DNS record \n from a specific domain.", + "description": " List domain suggestions.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Domain suggestions list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/domainSuggestionsList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRecord", + "method": "listSuggestions", "group": null, - "weight": 959, + "weight": 1035, "cookies": false, "type": "", - "demo": "domains\/delete-record.md", - "rate-limit": 0, + "demo": "domains\/list-suggestions.md", + "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "domains.read", "platforms": [ "console" ], @@ -25326,43 +25701,182 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "query", + "description": "Query to find available domains and suggestions. Max length: 256 chars.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<QUERY>" }, - "in": "path" + "in": "query" }, { - "name": "recordId", - "description": "DNS record unique ID.", - "required": true, + "name": "tlds", + "description": "TLDs to suggest.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum number of suggestions to return.", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "in": "query" + }, + { + "name": "filterType", + "description": "Filter type: premium, suggestion.", + "required": false, "schema": { "type": "string", - "x-example": "<RECORD_ID>" + "x-example": "premium", + "enum": [ + "premium", + "suggestion" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "in": "path" + "in": "query" + }, + { + "name": "priceMax", + "description": "Filter premium domains by maximum price. Only premium domains at or below this price will be returned. Does not affect regular domain suggestions.", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "in": "query" + }, + { + "name": "priceMin", + "description": "Filter premium domains by minimum price. Only premium domains at or above this price will be returned. Does not affect regular domain suggestions.", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "in": "query" } ] } }, - "\/domains\/{domainId}\/team": { + "\/domains\/transfers\/in": { + "post": { + "summary": "Create a domain transfer in.", + "operationId": "domainsCreateTransferIn", + "tags": [ + "domains" + ], + "description": " Initiate a domain transfer-in by providing an authorization code, registrant details, and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Transfer In endpoint to capture the payment and submit the transfer.", + "responses": { + "201": { + "description": "DomainPurchase", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/domainPurchase" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTransferIn", + "group": null, + "weight": 996, + "cookies": false, + "type": "", + "demo": "domains\/create-transfer-in.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "billing.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name to transfer in.", + "x-example": null + }, + "organizationId": { + "type": "string", + "description": "Organization ID that this domain will belong to.", + "x-example": "<ORGANIZATION_ID>" + }, + "authCode": { + "type": "string", + "description": "Authorization code for the domain transfer.", + "x-example": "<AUTH_CODE>" + }, + "autoRenewal": { + "type": "boolean", + "description": "Whether the domain should renew automatically after transfer.", + "x-example": false + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID to authorize and capture the transfer.", + "x-example": "<PAYMENT_METHOD_ID>" + } + }, + "required": [ + "domain", + "organizationId", + "authCode", + "paymentMethodId" + ] + } + } + } + } + } + }, + "\/domains\/transfers\/in\/{invoiceId}": { "patch": { - "summary": "Update domain team.", - "operationId": "domainsUpdateTeam", + "summary": "Confirm a domain transfer in", + "operationId": "domainsUpdateTransferIn", "tags": [ "domains" ], - "description": " Update the team ID for a specific domain. This endpoint requires admin access.\n \n Updating the team ID will transfer ownership and access control of the domain\n and all its DNS records to the new team.", + "description": " Finalize a domain transfer-in initiated with Create Transfer In. Verifies that any required 3D Secure authentication is complete, submits the transfer with the authorization code, captures the payment, and sends a confirmation email. Returns a 402 error if authentication is still pending.", "responses": { "200": { - "description": "Domain", + "description": "DomainPurchase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domain" + "$ref": "#\/components\/schemas\/domainPurchase" } } } @@ -25370,16 +25884,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTeam", + "method": "updateTransferIn", "group": null, - "weight": 934, + "weight": 997, "cookies": false, "type": "", - "demo": "domains\/update-team.md", + "demo": "domains\/update-transfer-in.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "billing.write", "platforms": [ "console" ], @@ -25396,12 +25910,12 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "invoiceId", + "description": "Invoice ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOMAIN_ID>" + "x-example": "<INVOICE_ID>" }, "in": "path" } @@ -25412,14 +25926,14 @@ "schema": { "type": "object", "properties": { - "teamId": { + "organizationId": { "type": "string", - "description": "New team unique ID.", - "x-example": "<TEAM_ID>" + "description": "Team ID that owns the domain.", + "x-example": "<ORGANIZATION_ID>" } }, "required": [ - "teamId" + "organizationId" ] } } @@ -25427,21 +25941,94 @@ } } }, - "\/domains\/{domainId}\/transfers\/status": { + "\/domains\/transfers\/out": { + "post": { + "summary": "Create a domain transfer out.", + "operationId": "domainsCreateTransferOut", + "tags": [ + "domains" + ], + "description": " Initiate a domain transfer-out by generating an authorization code for the specified domain. The returned `authCode` should be provided to the gaining provider to complete the transfer. If the domain has auto-renewal enabled, it will be automatically disabled as part of this operation.", + "responses": { + "202": { + "description": "domainTransferOut", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/domainTransferOut" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTransferOut", + "group": null, + "weight": 998, + "cookies": false, + "type": "", + "demo": "domains\/create-transfer-out.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "billing.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "domainId": { + "type": "string", + "description": "Domain unique ID.", + "x-example": "<DOMAIN_ID>" + }, + "organizationId": { + "type": "string", + "description": "Organization ID that this domain belongs to.", + "x-example": "<ORGANIZATION_ID>" + } + }, + "required": [ + "domainId", + "organizationId" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}": { "get": { - "summary": "Get domain transfer status.", - "operationId": "domainsGetTransferStatus", + "summary": "Get a single domain by its unique ID.", + "operationId": "domainsGet", "tags": [ "domains" ], - "description": " Retrieve the current transfer status for a domain. Returns the status, an optional reason, and a timestamp of the last status change.", + "description": " Get a domain by its unique ID.", "responses": { "200": { - "description": "domainTransferStatus", + "description": "Domain", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/domainTransferStatus" + "$ref": "#\/components\/schemas\/domain" } } } @@ -25449,12 +26036,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTransferStatus", + "method": "get", "group": null, - "weight": 938, + "weight": 988, "cookies": false, "type": "", - "demo": "domains\/get-transfer-status.md", + "demo": "domains\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25485,33 +26072,31 @@ "in": "path" } ] - } - }, - "\/domains\/{domainId}\/zone": { - "get": { - "summary": "Retrieve the DNS zone file for the given domain.", - "operationId": "domainsGetZone", + }, + "delete": { + "summary": "Delete a domain by its unique ID.", + "operationId": "domainsDelete", "tags": [ "domains" ], - "description": " Retrieve the DNS zone file for the given domain. This endpoint will return the DNS\n zone file in a standardized format that can be used to configure DNS servers.", + "description": "Delete a domain by its unique ID. This endpoint can be used to delete a domain from your project.\nOnce deleted, the domain will no longer be available for use and all associated resources will be removed.", "responses": { - "200": { - "description": "File" + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getZone", + "method": "delete", "group": null, - "weight": 929, + "weight": 987, "cookies": false, "type": "", - "demo": "domains\/get-zone.md", + "demo": "domains\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -25538,16 +26123,18 @@ "in": "path" } ] - }, - "put": { - "summary": "Update the DNS zone for the given domain using the provided zone file content. All parsed records are imported and then the main domain document is returned.", - "operationId": "domainsUpdateZone", + } + }, + "\/domains\/{domainId}\/auto-renewal": { + "patch": { + "summary": "Update domain auto-renewal setting.", + "operationId": "domainsUpdateAutoRenewal", "tags": [ "domains" ], - "description": "Update the DNS zone for the given domain using the provided zone file content.\nAll parsed records are imported and then the main domain document is returned.", + "description": " Enable or disable auto-renewal for a domain.", "responses": { - "201": { + "200": { "description": "Domain", "content": { "application\/json": { @@ -25560,12 +26147,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateZone", + "method": "updateAutoRenewal", "group": null, - "weight": 933, + "weight": 992, "cookies": false, "type": "", - "demo": "domains\/update-zone.md", + "demo": "domains\/update-auto-renewal.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25602,14 +26189,14 @@ "schema": { "type": "object", "properties": { - "content": { - "type": "string", - "description": "DNS zone file content as a string.", - "x-example": "<CONTENT>" + "autoRenewal": { + "type": "boolean", + "description": "Whether the domain should renew automatically.", + "x-example": false } }, "required": [ - "content" + "autoRenewal" ] } } @@ -25617,21 +26204,21 @@ } } }, - "\/functions": { - "get": { - "summary": "List functions", - "operationId": "functionsList", + "\/domains\/{domainId}\/nameservers": { + "patch": { + "summary": "Verify which NS records are used and update the domain accordingly.", + "operationId": "domainsUpdateNameservers", "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the project's functions. You can use the query params to filter your results.", + "description": " Verify which NS records are used and update the domain accordingly. This will check the domain's\n nameservers and update the domain's status based on whether the nameservers match the expected\n Appwrite nameservers.", "responses": { "200": { - "description": "Functions List", + "description": "Domain", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/functionList" + "$ref": "#\/components\/schemas\/domain" } } } @@ -25639,19 +26226,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "functions", - "weight": 420, + "method": "updateNameservers", + "group": null, + "weight": 993, "cookies": false, "type": "", - "demo": "functions\/list.md", + "demo": "domains\/update-nameservers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -25661,62 +26247,38 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true + "x-example": "<DOMAIN_ID>" }, - "in": "query" + "in": "path" } ] - }, - "post": { - "summary": "Create function", - "operationId": "functionsCreate", + } + }, + "\/domains\/{domainId}\/presets\/google-workspace": { + "get": { + "summary": "Get Google Workspace preset (Records)", + "operationId": "domainsGetPresetGoogleWorkspace", "tags": [ - "functions" + "domains" ], - "description": "Create a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", + "description": " List Google Workspace DNS records.", "responses": { "201": { - "description": "Function", + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/function" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -25724,19 +26286,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "functions", - "weight": 908, + "method": "getPresetGoogleWorkspace", + "group": null, + "weight": 1024, "cookies": false, "type": "", - "demo": "functions\/create.md", + "demo": "domains\/get-preset-google-workspace.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -25746,341 +26307,96 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "functionId": { - "type": "string", - "description": "Function ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<FUNCTION_ID>" - }, - "name": { - "type": "string", - "description": "Function name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "runtime": { - "type": "string", - "description": "Execution runtime.", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "execute": { - "type": "array", - "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "x-example": "[\"any\"]", - "items": { - "type": "string" - } - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "x-example": null, - "items": { - "type": "string" - } - }, - "schedule": { - "type": "string", - "description": "Schedule CRON syntax.", - "x-example": null - }, - "timeout": { - "type": "integer", - "description": "Function maximum execution time in seconds.", - "x-example": 1, - "format": "int32" - }, - "enabled": { - "type": "boolean", - "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "x-example": false - }, - "entrypoint": { - "type": "string", - "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "x-example": "<ENTRYPOINT>" - }, - "commands": { - "type": "string", - "description": "Build Commands.", - "x-example": "<COMMANDS>" - }, - "scopes": { - "type": "array", - "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the function.", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the function.", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to function code in the linked repo.", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the function deployments.", - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the function executions.", - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "x-example": 0, - "format": "int32" - } - }, - "required": [ - "functionId", - "name", - "runtime" - ] + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + } + ] + }, + "post": { + "summary": "Create Google Workspace preset (Records)", + "operationId": "domainsCreatePresetGoogleWorkspace", + "tags": [ + "domains" + ], + "description": " Add Google Workspace DNS records to the domain. This will create the required MX records \n for Google Workspace email hosting.", + "responses": { + "201": { + "description": "DNS records list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecordsList" + } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "createPresetGoogleWorkspace", + "group": null, + "weight": 1023, + "cookies": false, + "type": "", + "demo": "domains\/create-preset-google-workspace.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + } + ] } }, - "\/functions\/runtimes": { + "\/domains\/{domainId}\/presets\/icloud": { "get": { - "summary": "List runtimes", - "operationId": "functionsListRuntimes", + "summary": "Get iCloud preset (Records)", + "operationId": "domainsGetPresetICloud", "tags": [ - "functions" + "domains" ], - "description": "Get a list of all runtimes that are currently active on your instance.", + "description": " List iCloud DNS records.", "responses": { - "200": { - "description": "Runtimes List", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/runtimeList" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26088,19 +26404,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRuntimes", - "group": "runtimes", - "weight": 422, + "method": "getPresetICloud", + "group": null, + "weight": 1034, "cookies": false, "type": "", - "demo": "functions\/list-runtimes.md", + "demo": "domains\/get-preset-i-cloud.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26110,27 +26425,36 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" } ] - } - }, - "\/functions\/specifications": { - "get": { - "summary": "List specifications", - "operationId": "functionsListSpecifications", + }, + "post": { + "summary": "Create iCloud preset (Records)", + "operationId": "domainsCreatePresetICloud", "tags": [ - "functions" + "domains" ], - "description": "List allowed function specifications for this instance.", + "description": " Add iCloud DNS records to the domain. This will create the required MX and SPF records\n for using iCloud email services with your domain.", "responses": { - "200": { - "description": "Specifications List", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/specificationList" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26138,18 +26462,17 @@ }, "deprecated": false, "x-appwrite": { - "method": "listSpecifications", - "group": "runtimes", - "weight": 423, + "method": "createPresetICloud", + "group": null, + "weight": 1033, "cookies": false, "type": "", - "demo": "functions\/list-specifications.md", + "demo": "domains\/create-preset-i-cloud.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "server", "console" ], "packaging": false, @@ -26160,27 +26483,38 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" } ] } }, - "\/functions\/templates": { + "\/domains\/{domainId}\/presets\/mailgun": { "get": { - "summary": "List templates", - "operationId": "functionsListTemplates", + "summary": "Get Mailgun preset (Records)", + "operationId": "domainsGetPresetMailgun", "tags": [ - "functions" + "domains" ], - "description": "List available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", + "description": " List Mailgun DNS records.", "responses": { - "200": { - "description": "Function Templates List", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/templateFunctionList" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26188,16 +26522,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTemplates", - "group": "templates", - "weight": 446, + "method": "getPresetMailgun", + "group": null, + "weight": 1026, "cookies": false, "type": "", - "demo": "functions\/list-templates.md", + "demo": "domains\/get-preset-mailgun.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "domains.write", "platforms": [ "console" ], @@ -26214,191 +26548,209 @@ ], "parameters": [ { - "name": "runtimes", - "description": "List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [] + "type": "string", + "x-example": "<DOMAIN_ID>" }, - "in": "query" - }, + "in": "path" + } + ] + }, + "post": { + "summary": "Create Mailgun preset (Records)", + "operationId": "domainsCreatePresetMailgun", + "tags": [ + "domains" + ], + "description": " Add Mailgun DNS records to the domain. This endpoint will create the required DNS records \n for Mailgun in the specified domain.", + "responses": { + "201": { + "description": "DNS records list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecordsList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createPresetMailgun", + "group": null, + "weight": 1025, + "cookies": false, + "type": "", + "demo": "domains\/create-preset-mailgun.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "useCases", - "description": "List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "starter", - "databases", - "ai", - "messaging", - "utilities", - "dev-tools", - "auth" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [] - }, - "in": "query" - }, + "Project": [] + } + ], + "parameters": [ { - "name": "limit", - "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 25 + "type": "string", + "x-example": "<DOMAIN_ID>" }, - "in": "query" - }, + "in": "path" + } + ] + } + }, + "\/domains\/{domainId}\/presets\/outlook": { + "get": { + "summary": "Get Outlook preset (Records)", + "operationId": "domainsGetPresetOutlook", + "tags": [ + "domains" + ], + "description": " List Outlook DNS records.", + "responses": { + "201": { + "description": "DNS records list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecordsList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getPresetOutlook", + "group": null, + "weight": 1032, + "cookies": false, + "type": "", + "demo": "domains\/get-preset-outlook.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "offset", - "description": "Offset the list of returned templates. Maximum offset is 5000.", - "required": false, + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 + "type": "string", + "x-example": "<DOMAIN_ID>" }, - "in": "query" - }, + "in": "path" + } + ] + }, + "post": { + "summary": "Create Outlook preset (Records)", + "operationId": "domainsCreatePresetOutlook", + "tags": [ + "domains" + ], + "description": " Add Outlook DNS records to the domain. This will create the required MX records\n for setting up Outlook email hosting for your domain.", + "responses": { + "201": { + "description": "DNS records list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecordsList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createPresetOutlook", + "group": null, + "weight": 1031, + "cookies": false, + "type": "", + "demo": "domains\/create-preset-outlook.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<DOMAIN_ID>" }, - "in": "query" + "in": "path" } ] } }, - "\/functions\/templates\/{templateId}": { + "\/domains\/{domainId}\/presets\/proton-mail": { "get": { - "summary": "Get function template", - "operationId": "functionsGetTemplate", + "summary": "Get ProtonMail preset (Records)", + "operationId": "domainsGetPresetProtonMail", "tags": [ - "functions" + "domains" ], - "description": "Get a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", + "description": " List ProtonMail DNS records.", "responses": { - "200": { - "description": "Template Function", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/templateFunction" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26406,16 +26758,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTemplate", - "group": "templates", - "weight": 445, + "method": "getPresetProtonMail", + "group": null, + "weight": 1030, "cookies": false, "type": "", - "demo": "functions\/get-template.md", + "demo": "domains\/get-preset-proton-mail.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "domains.write", "platforms": [ "console" ], @@ -26432,33 +26784,31 @@ ], "parameters": [ { - "name": "templateId", - "description": "Template ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEMPLATE_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } ] - } - }, - "\/functions\/usage": { - "get": { - "summary": "Get functions usage", - "operationId": "functionsListUsage", + }, + "post": { + "summary": "Create ProtonMail preset (Records)", + "operationId": "domainsCreatePresetProtonMail", "tags": [ - "functions" + "domains" ], - "description": "Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": " Add ProtonMail DNS records to the domain. This will create the required MX records\n for using ProtonMail with your custom domain.", "responses": { - "200": { - "description": "UsageFunctions", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageFunctions" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26466,16 +26816,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listUsage", + "method": "createPresetProtonMail", "group": null, - "weight": 439, + "weight": 1029, "cookies": false, "type": "", - "demo": "functions\/list-usage.md", + "demo": "domains\/create-preset-proton-mail.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -26492,45 +26842,33 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<DOMAIN_ID>" }, - "in": "query" + "in": "path" } ] } }, - "\/functions\/{functionId}": { + "\/domains\/{domainId}\/presets\/zoho": { "get": { - "summary": "Get function", - "operationId": "functionsGet", + "summary": "Get Zoho preset (Records)", + "operationId": "domainsGetPresetZoho", "tags": [ - "functions" + "domains" ], - "description": "Get a function by its unique ID.", + "description": " List Zoho DNS records.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/function" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26538,19 +26876,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "functions", - "weight": 418, + "method": "getPresetZoho", + "group": null, + "weight": 1028, "cookies": false, "type": "", - "demo": "functions\/get.md", + "demo": "domains\/get-preset-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26560,37 +26897,36 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } ] }, - "put": { - "summary": "Update function", - "operationId": "functionsUpdate", + "post": { + "summary": "Create Zoho Mail preset (Records)", + "operationId": "domainsCreatePresetZoho", "tags": [ - "functions" + "domains" ], - "description": "Update function by its unique ID.", + "description": " Add Zoho Mail DNS records to the domain. This will create the required MX records\n for setting up Zoho Mail on your domain.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNS records list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/function" + "$ref": "#\/components\/schemas\/dnsRecordsList" } } } @@ -26598,19 +26934,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "functions", - "weight": 909, + "method": "createPresetZoho", + "group": null, + "weight": 1027, "cookies": false, "type": "", - "demo": "functions\/update.md", + "demo": "domains\/create-preset-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26620,358 +26955,57 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } + ] + } + }, + "\/domains\/{domainId}\/records": { + "get": { + "summary": "List DNS records for a given domain.", + "operationId": "domainsListRecords", + "tags": [ + "domains" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Function name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "runtime": { - "type": "string", - "description": "Execution runtime.", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "execute": { - "type": "array", - "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "x-example": "[\"any\"]", - "items": { - "type": "string" - } - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "x-example": null, - "items": { - "type": "string" - } - }, - "schedule": { - "type": "string", - "description": "Schedule CRON syntax.", - "x-example": null - }, - "timeout": { - "type": "integer", - "description": "Maximum execution time in seconds.", - "x-example": 1, - "format": "int32" - }, - "enabled": { - "type": "boolean", - "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "x-example": false - }, - "entrypoint": { - "type": "string", - "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "x-example": "<ENTRYPOINT>" - }, - "commands": { - "type": "string", - "description": "Build Commands.", - "x-example": "<COMMANDS>" - }, - "scopes": { - "type": "array", - "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Controle System) deployment.", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the function", - "x-example": "<PROVIDER_REPOSITORY_ID>", - "x-nullable": true - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the function", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to function code in the linked repo.", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the function deployments.", - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the function executions.", - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "x-example": 0, - "format": "int32" - } - }, - "required": [ - "name" - ] + "description": " List DNS records for a given domain. You can use this endpoint to list all the DNS records\n associated with your domain.", + "responses": { + "200": { + "description": "DNS records list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecordsList" + } } } } - } - }, - "delete": { - "summary": "Delete function", - "operationId": "functionsDelete", - "tags": [ - "functions" - ], - "description": "Delete a function by its unique ID.", - "responses": { - "204": { - "description": "No content" - } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "functions", - "weight": 421, + "method": "listRecords", + "group": null, + "weight": 1022, "cookies": false, "type": "", - "demo": "functions\/delete.md", + "demo": "domains\/list-records.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26981,39 +27015,51 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. You may filter on attributes such as type, name, value, etc. Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } ] } }, - "\/functions\/{functionId}\/deployment": { - "patch": { - "summary": "Update function's deployment", - "operationId": "functionsUpdateFunctionDeployment", + "\/domains\/{domainId}\/records\/a": { + "post": { + "summary": "Create a new A record for the given domain.", + "operationId": "domainsCreateRecordA", "tags": [ - "functions" + "domains" ], - "description": "Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", + "description": "Create a new A record for the given domain. A records are used to point a domain name \nto an IPv4 address. The record value should be a valid IPv4 address.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/function" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27021,19 +27067,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateFunctionDeployment", - "group": "functions", - "weight": 426, + "method": "createRecordA", + "group": null, + "weight": 1000, "cookies": false, "type": "", - "demo": "functions\/update-function-deployment.md", + "demo": "domains\/create-record-a.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27043,18 +27088,17 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } @@ -27065,14 +27109,32 @@ "schema": { "type": "object", "properties": { - "deploymentId": { + "name": { "type": "string", - "description": "Deployment ID.", - "x-example": "<DEPLOYMENT_ID>" + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "IPv4 address for this A record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>" } }, "required": [ - "deploymentId" + "name", + "value", + "ttl" ] } } @@ -27080,21 +27142,21 @@ } } }, - "\/functions\/{functionId}\/deployments": { - "get": { - "summary": "List deployments", - "operationId": "functionsListDeployments", + "\/domains\/{domainId}\/records\/a\/{recordId}": { + "put": { + "summary": "Update an existing A record for the given domain.", + "operationId": "domainsUpdateRecordA", "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the function's code deployments. You can use the query params to filter your results.", + "description": " Update an existing A record for the given domain. This endpoint allows you to modify \n the properties of an A record including its name (subdomain), IPv4 address, TTL, \n and optional comment.", "responses": { "200": { - "description": "Deployments List", + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deploymentList" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27102,19 +27164,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "listDeployments", - "group": "deployments", - "weight": 427, + "method": "updateRecordA", + "group": null, + "weight": 1001, "cookies": false, "type": "", - "demo": "functions\/list-deployments.md", + "demo": "domains\/update-record-a.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27124,72 +27185,85 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true + "x-example": "<RECORD_ID>" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "IPv4 address for this A record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/aaaa": { "post": { - "summary": "Create deployment", - "operationId": "functionsCreateDeployment", + "summary": "Create a new AAAA record for the given domain.", + "operationId": "domainsCreateRecordAAAA", "tags": [ - "functions" + "domains" ], - "description": "Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", + "description": " Create a new AAAA record for the given domain. This endpoint allows you to add a new IPv6 DNS record \n to your domain. The record will be used to point a hostname to an IPv6 address.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27197,21 +27271,20 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDeployment", - "group": "deployments", - "weight": 424, + "method": "createRecordAAAA", + "group": null, + "weight": 1002, "cookies": false, - "type": "upload", - "demo": "functions\/create-deployment.md", + "type": "", + "demo": "domains\/create-record-aaaa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], - "packaging": true, + "packaging": false, "public": true, "auth": { "Project": [] @@ -27219,55 +27292,53 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } ], "requestBody": { "content": { - "multipart\/form-data": { + "application\/json": { "schema": { "type": "object", "properties": { - "entrypoint": { + "name": { "type": "string", - "description": "Entrypoint File.", - "x-example": "<ENTRYPOINT>", - "x-nullable": true + "description": "Record name (subdomain).", + "x-example": "<NAME>" }, - "commands": { + "value": { "type": "string", - "description": "Build Commands.", - "x-example": "<COMMANDS>", - "x-nullable": true + "description": "IPv6 address for this AAAA record.", + "x-example": null }, - "code": { - "type": "string", - "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", - "x-example": null, - "format": "binary" + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "x-example": false + "comment": { + "type": "string", + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>" } }, "required": [ - "code", - "activate" + "name", + "value", + "ttl" ] } } @@ -27275,21 +27346,21 @@ } } }, - "\/functions\/{functionId}\/deployments\/duplicate": { - "post": { - "summary": "Create duplicate deployment", - "operationId": "functionsCreateDuplicateDeployment", + "\/domains\/{domainId}\/records\/aaaa\/{recordId}": { + "put": { + "summary": "Update an existing AAAA record for the given domain.", + "operationId": "domainsUpdateRecordAAAA", "tags": [ - "functions" + "domains" ], - "description": "Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", + "description": " Update an existing AAAA record for the given domain. This endpoint allows you to modify\n the properties of an existing AAAA record, including its name (subdomain), IPv6 address,\n TTL, and optional comment.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27297,19 +27368,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDuplicateDeployment", - "group": "deployments", - "weight": 432, + "method": "updateRecordAAAA", + "group": null, + "weight": 1003, "cookies": false, "type": "", - "demo": "functions\/create-duplicate-deployment.md", + "demo": "domains\/update-record-aaaa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27319,18 +27389,27 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RECORD_ID>" }, "in": "path" } @@ -27341,19 +27420,32 @@ "schema": { "type": "object", "properties": { - "deploymentId": { + "name": { "type": "string", - "description": "Deployment ID.", - "x-example": "<DEPLOYMENT_ID>" + "description": "Record name (subdomain).", + "x-example": "<NAME>" }, - "buildId": { + "value": { "type": "string", - "description": "Build unique ID.", - "x-example": "<BUILD_ID>" + "description": "IPv6 address for this AAAA record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" } }, "required": [ - "deploymentId" + "name", + "value", + "ttl" ] } } @@ -27361,21 +27453,21 @@ } } }, - "\/functions\/{functionId}\/deployments\/template": { + "\/domains\/{domainId}\/records\/alias": { "post": { - "summary": "Create template deployment", - "operationId": "functionsCreateTemplateDeployment", + "summary": "Create a new ALIAS record for the given domain.", + "operationId": "domainsCreateRecordAlias", "tags": [ - "functions" + "domains" ], - "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", + "description": " Create a new ALIAS record for the given domain. This record type can be used to point your domain \n to another domain name that will serve as an alias. This is particularly useful when you want to \n map your domain to a target domain that may change its IP address.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27383,19 +27475,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTemplateDeployment", - "group": "deployments", - "weight": 429, + "method": "createRecordAlias", + "group": null, + "weight": 1004, "cookies": false, "type": "", - "demo": "functions\/create-template-deployment.md", + "demo": "domains\/create-record-alias.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27405,18 +27496,17 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } @@ -27427,50 +27517,32 @@ "schema": { "type": "object", "properties": { - "repository": { - "type": "string", - "description": "Repository name of the template.", - "x-example": "<REPOSITORY>" - }, - "owner": { + "name": { "type": "string", - "description": "The name of the owner of the template.", - "x-example": "<OWNER>" + "description": "Record name.", + "x-example": "<NAME>" }, - "rootDirectory": { + "value": { "type": "string", - "description": "Path to function code in the template repo.", - "x-example": "<ROOT_DIRECTORY>" + "description": "Target domain for this ALIAS record.", + "x-example": "<VALUE>" }, - "type": { - "type": "string", - "description": "Type for the reference provided. Can be commit, branch, or tag", - "x-example": "commit", - "enum": [ - "commit", - "branch", - "tag" - ], - "x-enum-name": "TemplateReferenceType", - "x-enum-keys": [] + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" }, - "reference": { + "comment": { "type": "string", - "description": "Reference value, can be a commit hash, branch name, or release tag", - "x-example": "<REFERENCE>" - }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "x-example": false + "description": "A comment for this record.", + "x-example": "<COMMENT>" } }, "required": [ - "repository", - "owner", - "rootDirectory", - "type", - "reference" + "name", + "value", + "ttl" ] } } @@ -27478,21 +27550,21 @@ } } }, - "\/functions\/{functionId}\/deployments\/vcs": { - "post": { - "summary": "Create VCS deployment", - "operationId": "functionsCreateVcsDeployment", + "\/domains\/{domainId}\/records\/alias\/{recordId}": { + "put": { + "summary": "Update an existing ALIAS record for the given domain.", + "operationId": "domainsUpdateRecordAlias", "tags": [ - "functions" + "domains" ], - "description": "Create a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", + "description": " Update an existing ALIAS record for the specified domain. This endpoint allows you to modify\n the properties of an existing ALIAS record including its name, target domain, TTL, and comment.\n \n The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).\n It provides a way to map one domain name to another.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27500,19 +27572,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVcsDeployment", - "group": "deployments", - "weight": 430, + "method": "updateRecordAlias", + "group": null, + "weight": 1005, "cookies": false, "type": "", - "demo": "functions\/create-vcs-deployment.md", + "demo": "domains\/update-record-alias.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27522,18 +27593,27 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RECORD_ID>" }, "in": "path" } @@ -27544,31 +27624,32 @@ "schema": { "type": "object", "properties": { - "type": { + "name": { "type": "string", - "description": "Type of reference passed. Allowed values are: branch, commit", - "x-example": "branch", - "enum": [ - "branch", - "commit" - ], - "x-enum-name": "VCSReferenceType", - "x-enum-keys": [] + "description": "Record name.", + "x-example": "<NAME>" }, - "reference": { + "value": { "type": "string", - "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "x-example": "<REFERENCE>" + "description": "Target domain for this ALIAS record.", + "x-example": "<VALUE>" }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "x-example": false + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" } }, "required": [ - "type", - "reference" + "name", + "value", + "ttl" ] } } @@ -27576,21 +27657,21 @@ } } }, - "\/functions\/{functionId}\/deployments\/{deploymentId}": { - "get": { - "summary": "Get deployment", - "operationId": "functionsGetDeployment", + "\/domains\/{domainId}\/records\/caa": { + "post": { + "summary": "Create a new CAA record for the given domain.", + "operationId": "domainsCreateRecordCAA", "tags": [ - "functions" + "domains" ], - "description": "Get a function deployment by its unique ID.", + "description": "Create a new CAA record for the given domain. CAA records are used to specify which \nCertificate Authorities (CAs) are allowed to issue SSL\/TLS certificates for your domain.", "responses": { - "200": { - "description": "Deployment", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27598,19 +27679,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "getDeployment", - "group": "deployments", - "weight": 425, + "method": "createRecordCAA", + "group": null, + "weight": 1006, "cookies": false, "type": "", - "demo": "functions\/get-deployment.md", + "demo": "domains\/create-record-caa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27620,60 +27700,94 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<FUNCTION_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete deployment", - "operationId": "functionsDeleteDeployment", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name.", + "x-example": null + }, + "value": { + "type": "string", + "description": "CAA value (e.g. issuer domain).", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/caa\/{recordId}": { + "put": { + "summary": "Update an existing CAA record for the given domain.", + "operationId": "domainsUpdateRecordCAA", "tags": [ - "functions" + "domains" ], - "description": "Delete a code deployment by its unique ID.", + "description": " Update an existing CAA record for the given domain. A CAA (Certification Authority Authorization) \n record is used to specify which certificate authorities (CAs) are authorized to issue certificates \n for a domain.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "DNSRecord", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecord" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDeployment", - "group": "deployments", - "weight": 428, + "method": "updateRecordCAA", + "group": null, + "weight": 1007, "cookies": false, "type": "", - "demo": "functions\/delete-deployment.md", + "demo": "domains\/update-record-caa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27683,63 +27797,104 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "<RECORD_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name.", + "x-example": null + }, + "value": { + "type": "string", + "description": "CAA value (e.g. issuer domain).", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } } }, - "\/functions\/{functionId}\/deployments\/{deploymentId}\/download": { - "get": { - "summary": "Get deployment download", - "operationId": "functionsGetDeploymentDownload", + "\/domains\/{domainId}\/records\/cname": { + "post": { + "summary": "Create a new CNAME record for the given domain.", + "operationId": "domainsCreateRecordCNAME", "tags": [ - "functions" + "domains" ], - "description": "Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": " Create a new CNAME record for the given domain.\n \n A CNAME record maps a subdomain to another domain name, allowing you to create aliases \n for your domain. For example, you can create a CNAME record to point 'blog.example.com' \n to 'example.wordpress.com'.", "responses": { - "200": { - "description": "File" + "201": { + "description": "DNSRecord", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecord" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "getDeploymentDownload", - "group": "deployments", - "weight": 431, + "method": "createRecordCNAME", + "group": null, + "weight": 1008, "cookies": false, - "type": "location", - "demo": "functions\/get-deployment-download.md", + "type": "", + "demo": "domains\/create-record-cname.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server", - "server" + "console" ], "packaging": false, "public": true, @@ -27749,67 +27904,182 @@ }, "security": [ { - "Project": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" - }, + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Canonical target for this CNAME record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/cname\/{recordId}": { + "put": { + "summary": "Update an existing CNAME record for the given domain.", + "operationId": "domainsUpdateRecordCNAME", + "tags": [ + "domains" + ], + "description": " Update an existing CNAME record for the given domain.", + "responses": { + "200": { + "description": "DNSRecord", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecord" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateRecordCNAME", + "group": null, + "weight": 1009, + "cookies": false, + "type": "", + "demo": "domains\/update-record-cname.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "deploymentId", - "description": "Deployment ID.", + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "type", - "description": "Deployment file to download. Can be: \"source\", \"output\".", - "required": false, + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, "schema": { "type": "string", - "x-example": "source", - "enum": [ - "source", - "output" - ], - "x-enum-name": "DeploymentDownloadType", - "x-enum-keys": [], - "default": "source" + "x-example": "<RECORD_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Canonical target for this CNAME record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } } }, - "\/functions\/{functionId}\/deployments\/{deploymentId}\/status": { - "patch": { - "summary": "Update deployment status", - "operationId": "functionsUpdateDeploymentStatus", + "\/domains\/{domainId}\/records\/https": { + "post": { + "summary": "Create a new HTTPS record for the given domain.", + "operationId": "domainsCreateRecordHTTPS", "tags": [ - "functions" + "domains" ], - "description": "Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", + "description": " Create a new HTTPS record for the given domain. This record is used to configure HTTPS \n settings for your domain, enabling secure communication over SSL\/TLS.", "responses": { - "200": { - "description": "Deployment", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27817,19 +28087,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDeploymentStatus", - "group": "deployments", - "weight": 433, + "method": "createRecordHTTPS", + "group": null, + "weight": 1010, "cookies": false, "type": "", - "demo": "functions\/update-deployment-status.md", + "demo": "domains\/create-record-https.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27839,49 +28108,75 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<FUNCTION_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target for the HTTPS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } } }, - "\/functions\/{functionId}\/executions": { - "get": { - "summary": "List executions", - "operationId": "functionsListExecutions", + "\/domains\/{domainId}\/records\/https\/{recordId}": { + "put": { + "summary": "Update an existing HTTPS record for the given domain.", + "operationId": "domainsUpdateRecordHTTPS", "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the current user function execution logs. You can use the query params to filter your results.", + "description": "Update an existing HTTPS record for the given domain. This endpoint allows you to modify \nthe properties of an HTTPS record associated with your domain, including the name (subdomain), \ntarget value, TTL, and optional comment.", "responses": { "200": { - "description": "Executions List", + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/executionList" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27889,24 +28184,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "listExecutions", - "group": "executions", - "weight": 436, + "method": "updateRecordHTTPS", + "group": null, + "weight": 1011, "cookies": false, "type": "", - "demo": "functions\/list-executions.md", + "demo": "domains\/update-record-https.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.read", - "execution.read" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, @@ -27916,63 +28205,85 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<RECORD_ID>" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target for the HTTPS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/mx": { "post": { - "summary": "Create execution", - "operationId": "functionsCreateExecution", + "summary": "Create a new MX record for the given domain.", + "operationId": "domainsCreateRecordMX", "tags": [ - "functions" + "domains" ], - "description": "Trigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", + "description": " Create a new MX record for the given domain. MX records are used to define the mail servers responsible \n for accepting email messages for the domain. Multiple MX records can be created with different priorities.\n The priority parameter determines the order in which mail servers are used, with lower values indicating \n higher priority.", "responses": { "201": { - "description": "Execution", + "description": "DNSRecord", "content": { - "multipart\/form-data": { + "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/execution" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -27980,24 +28291,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "createExecution", - "group": "executions", - "weight": 434, + "method": "createRecordMX", + "group": null, + "weight": 1012, "cookies": false, "type": "", - "demo": "functions\/create-execution.md", + "demo": "domains\/create-record-mx.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.write", - "execution.write" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, @@ -28007,20 +28312,17 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } @@ -28031,70 +28333,61 @@ "schema": { "type": "object", "properties": { - "body": { + "name": { "type": "string", - "description": "HTTP body of execution. Default value is empty string.", - "x-example": "<BODY>" - }, - "async": { - "type": "boolean", - "description": "Execute code in the background. Default value is false.", - "x-example": false + "description": "Record name (subdomain).", + "x-example": "<NAME>" }, - "path": { + "value": { "type": "string", - "description": "HTTP path of execution. Path can include query params. Default value is \/", - "x-example": "<PATH>" + "description": "Mail server domain for this MX record.", + "x-example": "<VALUE>" }, - "method": { - "type": "string", - "description": "HTTP method of execution. Default value is POST.", - "x-example": "GET", - "enum": [ - "GET", - "POST", - "PUT", - "PATCH", - "DELETE", - "OPTIONS", - "HEAD" - ], - "x-enum-name": "ExecutionMethod", - "x-enum-keys": [] + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" }, - "headers": { - "type": "object", - "description": "HTTP headers of execution. Defaults to empty.", - "x-example": "{}" + "priority": { + "type": "integer", + "description": "MX priority.", + "x-example": null, + "format": "int32" }, - "scheduledAt": { + "comment": { "type": "string", - "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "<SCHEDULED_AT>", - "x-nullable": true + "description": "A comment for this record.", + "x-example": "<COMMENT>" } - } + }, + "required": [ + "name", + "value", + "ttl", + "priority" + ] } } } } } }, - "\/functions\/{functionId}\/executions\/{executionId}": { - "get": { - "summary": "Get execution", - "operationId": "functionsGetExecution", + "\/domains\/{domainId}\/records\/mx\/{recordId}": { + "put": { + "summary": "Update an existing MX record for the given domain.", + "operationId": "domainsUpdateRecordMX", "tags": [ - "functions" + "domains" ], - "description": "Get a function execution log by its unique ID.", + "description": " Update an existing MX record for the given domain.", "responses": { "200": { - "description": "Execution", + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/execution" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28102,24 +28395,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "getExecution", - "group": "executions", - "weight": 435, + "method": "updateRecordMX", + "group": null, + "weight": 1013, "cookies": false, "type": "", - "demo": "functions\/get-execution.md", + "demo": "domains\/update-record-mx.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.read", - "execution.read" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, @@ -28129,65 +28416,111 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "executionId", - "description": "Execution ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<EXECUTION_ID>" + "x-example": "<RECORD_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete execution", - "operationId": "functionsDeleteExecution", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Mail server domain for this MX record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "MX priority.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/ns": { + "post": { + "summary": "Create a new NS record for the given domain.", + "operationId": "domainsCreateRecordNS", "tags": [ - "functions" + "domains" ], - "description": "Delete a function execution by its unique ID.", + "description": " Create a new NS record for the given domain. NS records specify the nameservers that are used \n to resolve the domain name to IP addresses. Each domain can have multiple NS records.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "DNSRecord", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecord" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteExecution", - "group": "executions", - "weight": 437, + "method": "createRecordNS", + "group": null, + "weight": 1014, "cookies": false, "type": "", - "demo": "functions\/delete-execution.md", + "demo": "domains\/create-record-ns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.write", - "execution.write" - ], + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28197,49 +28530,75 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<FUNCTION_ID>" - }, - "in": "path" - }, - { - "name": "executionId", - "description": "Execution ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<EXECUTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Nameserver target for this NS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } } }, - "\/functions\/{functionId}\/usage": { - "get": { - "summary": "Get function usage", - "operationId": "functionsGetUsage", + "\/domains\/{domainId}\/records\/ns\/{recordId}": { + "put": { + "summary": "Update an existing NS record for the given domain.", + "operationId": "domainsUpdateRecordNS", "tags": [ - "functions" + "domains" ], - "description": "Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": " Update an existing NS record for the given domain. This endpoint allows you to modify \n the properties of an NS (nameserver) record associated with your domain. You can update \n the record name (subdomain), target nameserver value, TTL, and add or modify comments \n for better record management.", "responses": { "200": { - "description": "UsageFunction", + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageFunction" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28247,16 +28606,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "updateRecordNS", "group": null, - "weight": 438, + "weight": 1015, "cookies": false, "type": "", - "demo": "functions\/get-usage.md", + "demo": "domains\/update-record-ns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -28273,55 +28632,80 @@ ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<RECORD_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Nameserver target for this NS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } + } + } + } } }, - "\/functions\/{functionId}\/variables": { - "get": { - "summary": "List variables", - "operationId": "functionsListVariables", + "\/domains\/{domainId}\/records\/srv": { + "post": { + "summary": "Create a new SRV record for the given domain.", + "operationId": "domainsCreateRecordSRV", "tags": [ - "functions" + "domains" ], - "description": "Get a list of all variables of a specific function.", + "description": " Create a new SRV record for the given domain. SRV records are used to define the location \n of servers for specific services. For example, they can be used to specify which server \n handles a specific service like SIP or XMPP for the domain.", "responses": { - "200": { - "description": "Variables List", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variableList" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28329,19 +28713,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 442, + "method": "createRecordSRV", + "group": null, + "weight": 1016, "cookies": false, "type": "", - "demo": "functions\/list-variables.md", + "demo": "domains\/create-record-srv.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28351,61 +28734,96 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } - ] - }, - "post": { - "summary": "Create variable", - "operationId": "functionsCreateVariable", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (service name).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target hostname for this SRV record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Record priority.", + "x-example": null, + "format": "int32" + }, + "weight": { + "type": "integer", + "description": "Record weight.", + "x-example": null, + "format": "int32" + }, + "port": { + "type": "integer", + "description": "Port number for the service.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority", + "weight", + "port" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/srv\/{recordId}": { + "put": { + "summary": "Update an existing SRV record for the given domain.", + "operationId": "domainsUpdateRecordSRV", "tags": [ - "functions" + "domains" ], - "description": "Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", + "description": " Update an existing SRV record for the given domain.\n \n Required parameters:\n - domainId: Domain unique ID\n - recordId: DNS record unique ID\n - name: Record name (service name)\n - value: Target hostname for this SRV record\n - ttl: Time to live, in seconds\n - priority: Record priority\n - weight: Record weight\n - port: Port number for the service\n \n Optional parameters:\n - comment: A comment for this record", "responses": { - "201": { - "description": "Variable", + "200": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28413,19 +28831,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 910, + "method": "updateRecordSRV", + "group": null, + "weight": 1017, "cookies": false, "type": "", - "demo": "functions\/create-variable.md", + "demo": "domains\/update-record-srv.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28435,18 +28852,27 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RECORD_ID>" }, "in": "path" } @@ -28457,31 +28883,53 @@ "schema": { "type": "object", "properties": { - "variableId": { - "type": "string", - "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<VARIABLE_ID>" - }, - "key": { + "name": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "x-example": "<KEY>" + "description": "Record name (service name).", + "x-example": "<NAME>" }, "value": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", + "description": "Target hostname for this SRV record.", "x-example": "<VALUE>" }, - "secret": { - "type": "boolean", - "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Record priority.", + "x-example": null, + "format": "int32" + }, + "weight": { + "type": "integer", + "description": "Record weight.", + "x-example": null, + "format": "int32" + }, + "port": { + "type": "integer", + "description": "Port number for the service.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" } }, "required": [ - "variableId", - "key", - "value" + "name", + "value", + "ttl", + "priority", + "weight", + "port" ] } } @@ -28489,21 +28937,21 @@ } } }, - "\/functions\/{functionId}\/variables\/{variableId}": { - "get": { - "summary": "Get variable", - "operationId": "functionsGetVariable", + "\/domains\/{domainId}\/records\/txt": { + "post": { + "summary": "Create a new TXT record for the given domain.", + "operationId": "domainsCreateRecordTXT", "tags": [ - "functions" + "domains" ], - "description": "Get a variable by its unique ID.", + "description": " Create a new TXT record for the given domain. TXT records can be used \n to provide additional information about your domain, such as domain \n verification records, SPF records, or DKIM records.", "responses": { - "200": { - "description": "Variable", + "201": { + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28511,19 +28959,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "getVariable", - "group": "variables", - "weight": 441, + "method": "createRecordTXT", + "group": null, + "weight": 1018, "cookies": false, "type": "", - "demo": "functions\/get-variable.md", + "demo": "domains\/create-record-txt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28533,47 +28980,74 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" - }, - "in": "path" - }, - { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<VARIABLE_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain) for the TXT record.", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "TXT record value.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" + } + }, + "required": [ + "name", + "ttl" + ] + } + } + } + } + } + }, + "\/domains\/{domainId}\/records\/txt\/{recordId}": { "put": { - "summary": "Update variable", - "operationId": "functionsUpdateVariable", + "summary": "Update an existing TXT record for the given domain.", + "operationId": "domainsUpdateRecordTXT", "tags": [ - "functions" + "domains" ], - "description": "Update variable by its unique ID.", + "description": " Update an existing TXT record for the given domain.\n \n Update the TXT record details for a specific domain by providing the domain ID,\n record ID, and the new record configuration including name, value, TTL, and an optional comment.", "responses": { "200": { - "description": "Variable", + "description": "DNSRecord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/dnsRecord" } } } @@ -28581,19 +29055,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateVariable", - "group": "variables", - "weight": 443, + "method": "updateRecordTXT", + "group": null, + "weight": 1019, "cookies": false, "type": "", - "demo": "functions\/update-variable.md", + "demo": "domains\/update-record-txt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28603,28 +29076,27 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "variableId", - "description": "Variable unique ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<VARIABLE_ID>" + "x-example": "<RECORD_ID>" }, "in": "path" } @@ -28635,57 +29107,73 @@ "schema": { "type": "object", "properties": { - "key": { + "name": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "x-example": "<KEY>", - "x-nullable": true + "description": "Record name (subdomain) for the TXT record.", + "x-example": "<NAME>" }, "value": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>", - "x-nullable": true + "description": "TXT record value.", + "x-example": "<VALUE>" }, - "secret": { - "type": "boolean", - "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false, - "x-nullable": true + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>" } - } + }, + "required": [ + "name", + "value", + "ttl" + ] } } } } - }, - "delete": { - "summary": "Delete variable", - "operationId": "functionsDeleteVariable", + } + }, + "\/domains\/{domainId}\/records\/{recordId}": { + "get": { + "summary": "Get a single DNS record for a given domain by record ID.", + "operationId": "domainsGetRecord", "tags": [ - "functions" + "domains" ], - "description": "Delete a variable by its unique ID.", + "description": " Get a single DNS record for a given domain by record ID.\n \n This endpoint allows you to retrieve a specific DNS record associated with a domain\n using its unique identifier. The record contains information about the DNS configuration\n such as type, value, and TTL settings.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "DNSRecord", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/dnsRecord" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteVariable", - "group": "variables", - "weight": 444, + "method": "getRecord", + "group": null, + "weight": 1021, "cookies": false, "type": "", - "demo": "functions\/delete-variable.md", + "demo": "domains\/get-record.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28695,104 +29183,109 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FUNCTION_ID>" + "x-example": "<DOMAIN_ID>" }, "in": "path" }, { - "name": "variableId", - "description": "Variable unique ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<VARIABLE_ID>" + "x-example": "<RECORD_ID>" }, "in": "path" } ] - } - }, - "\/graphql": { - "post": { - "summary": "GraphQL endpoint", - "operationId": "graphqlQuery", + }, + "delete": { + "summary": "Delete a DNS record for the given domain.", + "operationId": "domainsDeleteRecord", "tags": [ - "graphql" + "domains" ], - "description": "Execute a GraphQL mutation.", + "description": " Delete a DNS record for the given domain. This endpoint allows you to delete an existing DNS record \n from a specific domain.", "responses": { - "200": { - "description": "Any", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/any" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "query", - "group": "graphql", - "weight": 117, + "method": "deleteRecord", + "group": null, + "weight": 1020, "cookies": false, - "type": "graphql", - "demo": "graphql\/query.md", - "rate-limit": 60, - "rate-time": 60, + "type": "", + "demo": "domains\/delete-record.md", + "rate-limit": 0, + "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "graphql", + "scope": "domains.write", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RECORD_ID>" + }, + "in": "path" } ] } }, - "\/graphql\/mutation": { - "post": { - "summary": "GraphQL endpoint", - "operationId": "graphqlMutation", + "\/domains\/{domainId}\/team": { + "patch": { + "summary": "Update domain team.", + "operationId": "domainsUpdateTeam", "tags": [ - "graphql" + "domains" ], - "description": "Execute a GraphQL mutation.", + "description": " Update the team ID for a specific domain. This endpoint requires admin access.\n \n Updating the team ID will transfer ownership and access control of the domain\n and all its DNS records to the new team.", "responses": { "200": { - "description": "Any", + "description": "Domain", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/any" + "$ref": "#\/components\/schemas\/domain" } } } @@ -28800,54 +29293,78 @@ }, "deprecated": false, "x-appwrite": { - "method": "mutation", - "group": "graphql", - "weight": 116, + "method": "updateTeam", + "group": null, + "weight": 995, "cookies": false, - "type": "graphql", - "demo": "graphql\/mutation.md", - "rate-limit": 60, - "rate-time": 60, + "type": "", + "demo": "domains\/update-team.md", + "rate-limit": 0, + "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "graphql", + "scope": "domains.write", "platforms": [ - "console", - "server", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } - ] + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "New team unique ID.", + "x-example": "<TEAM_ID>" + } + }, + "required": [ + "teamId" + ] + } + } + } + } } }, - "\/health": { + "\/domains\/{domainId}\/transfers\/status": { "get": { - "summary": "Get HTTP", - "operationId": "healthGet", + "summary": "Get domain transfer status.", + "operationId": "domainsGetTransferStatus", "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite HTTP server is up and responsive.", + "description": " Retrieve the current transfer status for a domain. Returns the status, an optional reason, and a timestamp of the last status change.", "responses": { "200": { - "description": "Health Status", + "description": "domainTransferStatus", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatus" + "$ref": "#\/components\/schemas\/domainTransferStatus" } } } @@ -28855,50 +29372,59 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "health", - "weight": 447, + "method": "getTransferStatus", + "group": null, + "weight": 999, "cookies": false, "type": "", - "demo": "health\/get.md", + "demo": "domains\/get-transfer-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" } ] } }, - "\/health\/anti-virus": { + "\/domains\/{domainId}\/zone": { "get": { - "summary": "Get antivirus", - "operationId": "healthGetAntivirus", + "summary": "Retrieve the DNS zone file for the given domain.", + "operationId": "domainsGetZone", "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite Antivirus server is up and connection is successful.", + "description": " Retrieve the DNS zone file for the given domain. This endpoint will return the DNS\n zone file in a standardized format that can be used to configure DNS servers.", "responses": { "200": { - "description": "Health Antivirus", + "description": "Text", "content": { - "application\/json": { + "text\/plain": { "schema": { - "$ref": "#\/components\/schemas\/healthAntivirus" + "type": "string" } } } @@ -28906,50 +29432,57 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAntivirus", - "group": "health", - "weight": 456, + "method": "getZone", + "group": null, + "weight": 990, "cookies": false, "type": "", - "demo": "health\/get-antivirus.md", + "demo": "domains\/get-zone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" } ] - } - }, - "\/health\/cache": { - "get": { - "summary": "Get cache", - "operationId": "healthGetCache", + }, + "put": { + "summary": "Update the DNS zone for the given domain using the provided zone file content. All parsed records are imported and then the main domain document is returned.", + "operationId": "domainsUpdateZone", "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite in-memory cache servers are up and connection is successful.", + "description": "Update the DNS zone for the given domain using the provided zone file content.\nAll parsed records are imported and then the main domain document is returned.", "responses": { - "200": { - "description": "Status List", + "201": { + "description": "Domain", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatusList" + "$ref": "#\/components\/schemas\/domain" } } } @@ -28957,50 +29490,78 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCache", - "group": "health", - "weight": 450, + "method": "updateZone", + "group": null, + "weight": 994, "cookies": false, "type": "", - "demo": "health\/get-cache.md", + "demo": "domains\/update-zone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } - ] + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOMAIN_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "DNS zone file content as a string.", + "x-example": "<CONTENT>" + } + }, + "required": [ + "content" + ] + } + } + } + } } }, - "\/health\/certificate": { + "\/functions": { "get": { - "summary": "Get the SSL certificate for a domain", - "operationId": "healthGetCertificate", + "summary": "List functions", + "operationId": "functionsList", "tags": [ - "health" + "functions" ], - "description": "Get the SSL certificate for a domain", + "description": "Get a list of all the project's functions. You can use the query params to filter your results.", "responses": { "200": { - "description": "Health Certificate", + "description": "Functions List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthCertificate" + "$ref": "#\/components\/schemas\/functionList" } } } @@ -29008,23 +29569,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCertificate", - "group": "health", - "weight": 453, + "method": "list", + "group": "functions", + "weight": 425, "cookies": false, "type": "", - "demo": "health\/get-certificate.md", + "demo": "functions\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -29037,32 +29597,56 @@ ], "parameters": [ { - "name": "domain", - "description": "string", + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId", "required": false, "schema": { - "type": "string" - }, + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, "in": "query" } ] - } - }, - "\/health\/console-pausing": { - "get": { - "summary": "Get console pausing health", - "operationId": "healthGetConsolePausing", + }, + "post": { + "summary": "Create function", + "operationId": "functionsCreate", "tags": [ - "health" + "functions" ], - "description": "Get console pausing health status. Monitors projects approaching the pause threshold to detect potential issues with console access tracking.\n", + "description": "Create a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "responses": { - "200": { - "description": "Health Status", + "201": { + "description": "Function", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatus" + "$ref": "#\/components\/schemas\/function" } } } @@ -29070,23 +29654,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getConsolePausing", - "group": null, - "weight": 1052, + "method": "create", + "group": "functions", + "weight": 969, "cookies": false, "type": "", - "demo": "health\/get-console-pausing.md", + "demo": "functions\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-console-pausing.md", "auth": { "Project": [] } @@ -29097,47 +29680,344 @@ "Key": [] } ], - "parameters": [ - { - "name": "threshold", - "description": "Percentage threshold of projects approaching pause. When hit (equal or higher), endpoint returns server error. Default value is 10.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 10 - }, - "in": "query" - }, - { - "name": "inactivityDays", - "description": "Number of days of inactivity before a project is paused. Should match the plan's projectInactivityDays setting. Default value is 7.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 7 - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "functionId": { + "type": "string", + "description": "Function ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<FUNCTION_ID>" + }, + "name": { + "type": "string", + "description": "Function name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "runtime": { + "type": "string", + "description": "Execution runtime.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "execute": { + "type": "array", + "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "items": { + "type": "string" + } + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "schedule": { + "type": "string", + "description": "Schedule CRON syntax.", + "x-example": null + }, + "timeout": { + "type": "integer", + "description": "Function maximum execution time in seconds.", + "x-example": 1, + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", + "x-example": false + }, + "logging": { + "type": "boolean", + "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", + "x-example": false + }, + "entrypoint": { + "type": "string", + "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", + "x-example": "<ENTRYPOINT>" + }, + "commands": { + "type": "string", + "description": "Build Commands.", + "x-example": "<COMMANDS>" + }, + "scopes": { + "type": "array", + "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the function.", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the function.", + "x-example": "<PROVIDER_BRANCH>" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to function code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the function deployments.", + "x-example": null + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the function executions.", + "x-example": null + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "format": "int32" + } + }, + "required": [ + "functionId", + "name", + "runtime" + ] + } + } } - ] + } } }, - "\/health\/db": { + "\/functions\/runtimes": { "get": { - "summary": "Get DB", - "operationId": "healthGetDB", + "summary": "List runtimes", + "operationId": "functionsListRuntimes", "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite database servers are up and connection is successful.", + "description": "Get a list of all runtimes that are currently active on your instance.", "responses": { "200": { - "description": "Status List", + "description": "Runtimes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatusList" + "$ref": "#\/components\/schemas\/runtimeList" } } } @@ -29145,23 +30025,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getDB", - "group": "health", - "weight": 449, + "method": "listRuntimes", + "group": "runtimes", + "weight": 427, "cookies": false, "type": "", - "demo": "health\/get-db.md", + "demo": "functions\/list-runtimes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -29174,21 +30053,21 @@ ] } }, - "\/health\/pubsub": { + "\/functions\/specifications": { "get": { - "summary": "Get pubsub", - "operationId": "healthGetPubSub", + "summary": "List specifications", + "operationId": "functionsListSpecifications", "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite pub-sub servers are up and connection is successful.", + "description": "List allowed function specifications for this instance.", "responses": { "200": { - "description": "Status List", + "description": "Specifications List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatusList" + "$ref": "#\/components\/schemas\/specificationList" } } } @@ -29196,23 +30075,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPubSub", - "group": "health", - "weight": 451, + "method": "listSpecifications", + "group": "runtimes", + "weight": 428, "cookies": false, "type": "", - "demo": "health\/get-pub-sub.md", + "demo": "functions\/list-specifications.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ - "console", - "server" + "server", + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -29225,21 +30103,21 @@ ] } }, - "\/health\/queue\/audits": { + "\/functions\/templates": { "get": { - "summary": "Get audits queue", - "operationId": "healthGetQueueAudits", + "summary": "List templates", + "operationId": "functionsListTemplates", "tags": [ - "health" + "functions" ], - "description": "Get the number of audit logs that are waiting to be processed in the Appwrite internal queue server.\n", + "description": "List available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "responses": { "200": { - "description": "Health Queue", + "description": "Function Templates List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/templateFunctionList" } } } @@ -29247,255 +30125,217 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueAudits", - "group": "queue", - "weight": 457, + "method": "listTemplates", + "group": "templates", + "weight": 451, "cookies": false, "type": "", - "demo": "health\/get-queue-audits.md", + "demo": "functions\/list-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-audits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "runtimes", + "description": "List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.", "required": false, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 - }, - "in": "query" - } - ] - } - }, - "\/health\/queue\/billing-project-aggregation": { - "get": { - "summary": "Get billing project aggregation queue", - "operationId": "healthGetQueueBillingProjectAggregation", - "tags": [ - "health" - ], - "description": "Get billing project aggregation queue.", - "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueBillingProjectAggregation", - "group": null, - "weight": 1048, - "cookies": false, - "type": "", - "demo": "health\/get-queue-billing-project-aggregation.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-project-aggregation.md", - "auth": { - "Project": [] - } - }, - "security": [ + "type": "array", + "items": { + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [] + }, + "in": "query" + }, { - "Project": [], - "Key": [] - } - ], - "parameters": [ + "name": "useCases", + "description": "List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "starter", + "databases", + "ai", + "messaging", + "utilities", + "dev-tools", + "auth" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [] + }, + "in": "query" + }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "limit", + "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", "required": false, "schema": { "type": "integer", "format": "int32", - "default": 10000 + "x-example": 1, + "default": 25 }, "in": "query" - } - ] - } - }, - "\/health\/queue\/billing-team-aggregation": { - "get": { - "summary": "Get billing team aggregation queue", - "operationId": "healthGetQueueBillingTeamAggregation", - "tags": [ - "health" - ], - "description": "Get billing team aggregation queue.", - "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueBillingTeamAggregation", - "group": null, - "weight": 1047, - "cookies": false, - "type": "", - "demo": "health\/get-queue-billing-team-aggregation.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-team-aggregation.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ + }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "offset", + "description": "Offset the list of returned templates. Maximum offset is 5000.", "required": false, "schema": { "type": "integer", "format": "int32", - "default": 10000 + "x-example": 0, + "default": 0 }, "in": "query" - } - ] - } - }, - "\/health\/queue\/builds": { - "get": { - "summary": "Get builds queue", - "operationId": "healthGetQueueBuilds", - "tags": [ - "health" - ], - "description": "Get the number of builds that are waiting to be processed in the Appwrite internal queue server.", - "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueBuilds", - "group": "queue", - "weight": 461, - "cookies": false, - "type": "", - "demo": "health\/get-queue-builds.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ + }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] } }, - "\/health\/queue\/builds-priority": { + "\/functions\/templates\/{templateId}": { "get": { - "summary": "Get billing aggregation queue", - "operationId": "healthGetQueuePriorityBuilds", + "summary": "Get function template", + "operationId": "functionsGetTemplate", "tags": [ - "health" + "functions" ], - "description": "Get the priority builds queue size.", + "description": "Get a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "responses": { "200": { - "description": "Health Queue", + "description": "Template Function", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/templateFunction" } } } @@ -29503,63 +30343,59 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueuePriorityBuilds", - "group": null, - "weight": 1049, + "method": "getTemplate", + "group": "templates", + "weight": 450, "cookies": false, "type": "", - "demo": "health\/get-queue-priority-builds.md", + "demo": "functions\/get-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-priority-builds.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 500.", - "required": false, + "name": "templateId", + "description": "Template ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 500 + "type": "string", + "x-example": "<TEMPLATE_ID>" }, - "in": "query" + "in": "path" } ] } }, - "\/health\/queue\/certificates": { + "\/functions\/usage": { "get": { - "summary": "Get certificates queue", - "operationId": "healthGetQueueCertificates", + "summary": "Get functions usage", + "operationId": "functionsListUsage", "tags": [ - "health" + "functions" ], - "description": "Get the number of certificates that are waiting to be issued against [Letsencrypt](https:\/\/letsencrypt.org\/) in the Appwrite internal queue server.", + "description": "Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { "200": { - "description": "Health Queue", + "description": "UsageFunctions", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/usageFunctions" } } } @@ -29567,63 +30403,71 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueCertificates", - "group": "queue", - "weight": 460, + "method": "listUsage", + "group": null, + "weight": 444, "cookies": false, "type": "", - "demo": "health\/get-queue-certificates.md", + "demo": "functions\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "range", + "description": "Date range.", "required": false, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, "in": "query" } ] } }, - "\/health\/queue\/databases": { + "\/functions\/{functionId}": { "get": { - "summary": "Get databases queue", - "operationId": "healthGetQueueDatabases", + "summary": "Get function", + "operationId": "functionsGet", "tags": [ - "health" + "functions" ], - "description": "Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a function by its unique ID.", "responses": { "200": { - "description": "Health Queue", + "description": "Function", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/function" } } } @@ -29631,23 +30475,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueDatabases", - "group": "queue", - "weight": 462, + "method": "get", + "group": "functions", + "weight": 423, "cookies": false, "type": "", - "demo": "health\/get-queue-databases.md", + "demo": "functions\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -29660,45 +30503,31 @@ ], "parameters": [ { - "name": "name", - "description": "Queue name for which to check the queue size", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { "type": "string", - "x-example": "<NAME>", - "default": "database_db_main" - }, - "in": "query" - }, - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/health\/queue\/deletes": { - "get": { - "summary": "Get deletes queue", - "operationId": "healthGetQueueDeletes", + }, + "put": { + "summary": "Update function", + "operationId": "functionsUpdate", "tags": [ - "health" + "functions" ], - "description": "Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.", + "description": "Update function by its unique ID.", "responses": { "200": { - "description": "Health Queue", + "description": "Function", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/function" } } } @@ -29706,23 +30535,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueDeletes", - "group": "queue", - "weight": 463, + "method": "update", + "group": "functions", + "weight": 970, "cookies": false, "type": "", - "demo": "health\/get-queue-deletes.md", + "demo": "functions\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -29735,149 +30563,362 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] - } - }, - "\/health\/queue\/failed\/{name}": { - "get": { - "summary": "Get number of failed queue jobs", - "operationId": "healthGetFailedJobs", - "tags": [ - "health" ], - "description": "Returns the amount of failed jobs in a given queue.\n", - "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getFailedJobs", - "group": "queue", - "weight": 470, - "cookies": false, - "type": "", - "demo": "health\/get-failed-jobs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "name", - "description": "The name of the queue", - "required": true, - "schema": { - "type": "string", - "x-example": "v1-database", - "enum": [ - "v1-database", - "v1-deletes", - "v1-audits", - "v1-mails", - "v1-functions", - "v1-stats-resources", - "v1-stats-usage", - "v1-webhooks", - "v1-certificates", - "v1-builds", - "v1-screenshots", - "v1-messaging", - "v1-migrations" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "in": "path" - }, - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 5000 - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Function name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "runtime": { + "type": "string", + "description": "Execution runtime.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "execute": { + "type": "array", + "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "items": { + "type": "string" + } + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "schedule": { + "type": "string", + "description": "Schedule CRON syntax.", + "x-example": null + }, + "timeout": { + "type": "integer", + "description": "Maximum execution time in seconds.", + "x-example": 1, + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", + "x-example": false + }, + "logging": { + "type": "boolean", + "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", + "x-example": false + }, + "entrypoint": { + "type": "string", + "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", + "x-example": "<ENTRYPOINT>" + }, + "commands": { + "type": "string", + "description": "Build Commands.", + "x-example": "<COMMANDS>" + }, + "scopes": { + "type": "array", + "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Controle System) deployment.", + "x-example": "<INSTALLATION_ID>" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the function", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "x-nullable": true + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the function", + "x-example": "<PROVIDER_BRANCH>" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to function code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the function deployments.", + "x-example": null + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the function executions.", + "x-example": null + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "format": "int32" + } + }, + "required": [ + "name" + ] + } + } } - ] - } - }, - "\/health\/queue\/functions": { - "get": { - "summary": "Get functions queue", - "operationId": "healthGetQueueFunctions", + } + }, + "delete": { + "summary": "Delete function", + "operationId": "functionsDelete", "tags": [ - "health" + "functions" ], - "description": "Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.", + "description": "Delete a function by its unique ID.", "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getQueueFunctions", - "group": "queue", - "weight": 467, + "method": "delete", + "group": "functions", + "weight": 426, "cookies": false, "type": "", - "demo": "health\/get-queue-functions.md", + "demo": "functions\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -29890,34 +30931,33 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } ] } }, - "\/health\/queue\/logs": { - "get": { - "summary": "Get logs queue", - "operationId": "healthGetQueueLogs", + "\/functions\/{functionId}\/deployment": { + "patch": { + "summary": "Update function's deployment", + "operationId": "functionsUpdateFunctionDeployment", "tags": [ - "health" + "functions" ], - "description": "Get the number of logs that are waiting to be processed in the Appwrite internal queue server.", + "description": "Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "responses": { "200": { - "description": "Health Queue", + "description": "Function", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/function" } } } @@ -29925,23 +30965,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueLogs", - "group": "queue", - "weight": 459, + "method": "updateFunctionDeployment", + "group": "functions", + "weight": 431, "cookies": false, "type": "", - "demo": "health\/get-queue-logs.md", + "demo": "functions\/update-function-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -29954,34 +30993,52 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" + } + }, + "required": [ + "deploymentId" + ] + } + } + } + } } }, - "\/health\/queue\/mails": { + "\/functions\/{functionId}\/deployments": { "get": { - "summary": "Get mails queue", - "operationId": "healthGetQueueMails", + "summary": "List deployments", + "operationId": "functionsListDeployments", "tags": [ - "health" + "functions" ], - "description": "Get the number of mails that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a list of all the function's code deployments. You can use the query params to filter your results.", "responses": { "200": { - "description": "Health Queue", + "description": "Deployments List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deploymentList" } } } @@ -29989,23 +31046,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueMails", - "group": "queue", - "weight": 464, + "method": "listDeployments", + "group": "deployments", + "weight": 432, "cookies": false, "type": "", - "demo": "health\/get-queue-mails.md", + "demo": "functions\/list-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -30018,34 +31074,66 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" - } - ] - } - }, - "\/health\/queue\/messaging": { - "get": { - "summary": "Get messaging queue", - "operationId": "healthGetQueueMessaging", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create deployment", + "operationId": "functionsCreateDeployment", "tags": [ - "health" + "functions" ], - "description": "Get the number of messages that are waiting to be processed in the Appwrite internal queue server.", + "description": "Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "responses": { - "200": { - "description": "Health Queue", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30053,23 +31141,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueMessaging", - "group": "queue", - "weight": 465, + "method": "createDeployment", + "group": "deployments", + "weight": 429, "cookies": false, - "type": "", - "demo": "health\/get-queue-messaging.md", + "type": "upload", + "demo": "functions\/create-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], - "packaging": false, + "packaging": true, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -30082,34 +31169,71 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "multipart\/form-data": { + "schema": { + "type": "object", + "properties": { + "entrypoint": { + "type": "string", + "description": "Entrypoint File.", + "x-example": "<ENTRYPOINT>", + "x-nullable": true + }, + "commands": { + "type": "string", + "description": "Build Commands.", + "x-example": "<COMMANDS>", + "x-nullable": true + }, + "code": { + "type": "string", + "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", + "x-example": null, + "format": "binary" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false + } + }, + "required": [ + "code", + "activate" + ] + } + } + } + } } }, - "\/health\/queue\/migrations": { - "get": { - "summary": "Get migrations queue", - "operationId": "healthGetQueueMigrations", + "\/functions\/{functionId}\/deployments\/duplicate": { + "post": { + "summary": "Create duplicate deployment", + "operationId": "functionsCreateDuplicateDeployment", "tags": [ - "health" + "functions" ], - "description": "Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.", + "description": "Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "responses": { - "200": { - "description": "Health Queue", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30117,23 +31241,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueMigrations", - "group": "queue", - "weight": 466, + "method": "createDuplicateDeployment", + "group": "deployments", + "weight": 437, "cookies": false, "type": "", - "demo": "health\/get-queue-migrations.md", + "demo": "functions\/create-duplicate-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -30146,34 +31269,57 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" + }, + "buildId": { + "type": "string", + "description": "Build unique ID.", + "x-example": "<BUILD_ID>" + } + }, + "required": [ + "deploymentId" + ] + } + } + } + } } }, - "\/health\/queue\/region-manager": { - "get": { - "summary": "Get region manager queue", - "operationId": "healthGetQueueRegionManager", + "\/functions\/{functionId}\/deployments\/template": { + "post": { + "summary": "Create template deployment", + "operationId": "functionsCreateTemplateDeployment", "tags": [ - "health" + "functions" ], - "description": "Get region manager queue.", + "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "responses": { - "200": { - "description": "Health Queue", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30181,23 +31327,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueRegionManager", - "group": null, - "weight": 1050, + "method": "createTemplateDeployment", + "group": "deployments", + "weight": 434, "cookies": false, "type": "", - "demo": "health\/get-queue-region-manager.md", + "demo": "functions\/create-template-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-region-manager.md", "auth": { "Project": [] } @@ -30210,34 +31355,88 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 100 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "repository": { + "type": "string", + "description": "Repository name of the template.", + "x-example": "<REPOSITORY>" + }, + "owner": { + "type": "string", + "description": "The name of the owner of the template.", + "x-example": "<OWNER>" + }, + "rootDirectory": { + "type": "string", + "description": "Path to function code in the template repo.", + "x-example": "<ROOT_DIRECTORY>" + }, + "type": { + "type": "string", + "description": "Type for the reference provided. Can be commit, branch, or tag", + "x-example": "commit", + "enum": [ + "commit", + "branch", + "tag" + ], + "x-enum-name": "TemplateReferenceType", + "x-enum-keys": [] + }, + "reference": { + "type": "string", + "description": "Reference value, can be a commit hash, branch name, or release tag", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false + } + }, + "required": [ + "repository", + "owner", + "rootDirectory", + "type", + "reference" + ] + } + } + } + } } }, - "\/health\/queue\/stats-resources": { - "get": { - "summary": "Get stats resources queue", - "operationId": "healthGetQueueStatsResources", + "\/functions\/{functionId}\/deployments\/vcs": { + "post": { + "summary": "Create VCS deployment", + "operationId": "functionsCreateVcsDeployment", "tags": [ - "health" + "functions" ], - "description": "Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.", + "description": "Create a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "responses": { - "200": { - "description": "Health Queue", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30245,23 +31444,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueStatsResources", - "group": "queue", - "weight": 468, + "method": "createVcsDeployment", + "group": "deployments", + "weight": 435, "cookies": false, "type": "", - "demo": "health\/get-queue-stats-resources.md", + "demo": "functions\/create-vcs-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -30274,34 +31472,69 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of reference passed. Allowed values are: branch, commit", + "x-example": "branch", + "enum": [ + "branch", + "commit" + ], + "x-enum-name": "VCSReferenceType", + "x-enum-keys": [] + }, + "reference": { + "type": "string", + "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false + } + }, + "required": [ + "type", + "reference" + ] + } + } + } + } } }, - "\/health\/queue\/stats-usage": { + "\/functions\/{functionId}\/deployments\/{deploymentId}": { "get": { - "summary": "Get stats usage queue", - "operationId": "healthGetQueueUsage", + "summary": "Get deployment", + "operationId": "functionsGetDeployment", "tags": [ - "health" + "functions" ], - "description": "Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a function deployment by its unique ID.", "responses": { "200": { - "description": "Health Queue", + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthQueue" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30309,23 +31542,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getQueueUsage", - "group": "queue", - "weight": 469, + "method": "getDeployment", + "group": "deployments", + "weight": 430, "cookies": false, "type": "", - "demo": "health\/get-queue-usage.md", + "demo": "functions\/get-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -30338,58 +31570,57 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DEPLOYMENT_ID>" + }, + "in": "path" } ] - } - }, - "\/health\/queue\/threats": { - "get": { - "summary": "Get threats queue", - "operationId": "healthGetQueueThreats", + }, + "delete": { + "summary": "Delete deployment", + "operationId": "functionsDeleteDeployment", "tags": [ - "health" + "functions" ], - "description": "Get threats queue.", + "description": "Delete a code deployment by its unique ID.", "responses": { - "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getQueueThreats", - "group": null, - "weight": 1051, + "method": "deleteDeployment", + "group": "deployments", + "weight": 433, "cookies": false, "type": "", - "demo": "health\/get-queue-threats.md", + "demo": "functions\/delete-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-threats.md", "auth": { "Project": [] } @@ -30402,58 +31633,60 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 100 + "type": "string", + "x-example": "<FUNCTION_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DEPLOYMENT_ID>" + }, + "in": "path" } ] } }, - "\/health\/queue\/webhooks": { + "\/functions\/{functionId}\/deployments\/{deploymentId}\/download": { "get": { - "summary": "Get webhooks queue", - "operationId": "healthGetQueueWebhooks", + "summary": "Get deployment download", + "operationId": "functionsGetDeploymentDownload", "tags": [ - "health" + "functions" ], - "description": "Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { "200": { - "description": "Health Queue", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthQueue" - } - } - } + "description": "File" } }, "deprecated": false, "x-appwrite": { - "method": "getQueueWebhooks", - "group": "queue", - "weight": 458, + "method": "getDeploymentDownload", + "group": "deployments", + "weight": 436, "cookies": false, - "type": "", - "demo": "health\/get-queue-webhooks.md", + "type": "location", + "demo": "functions\/get-deployment-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -30461,39 +31694,66 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DEPLOYMENT_ID>" + }, + "in": "path" + }, + { + "name": "type", + "description": "Deployment file to download. Can be: \"source\", \"output\".", "required": false, "schema": { - "type": "integer", - "format": "int32", - "default": 5000 + "type": "string", + "x-example": "source", + "enum": [ + "source", + "output" + ], + "x-enum-name": "DeploymentDownloadType", + "x-enum-keys": [], + "default": "source" }, "in": "query" } ] } }, - "\/health\/storage": { - "get": { - "summary": "Get storage", - "operationId": "healthGetStorage", + "\/functions\/{functionId}\/deployments\/{deploymentId}\/status": { + "patch": { + "summary": "Update deployment status", + "operationId": "functionsUpdateDeploymentStatus", "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite storage device is up and connection is successful.", + "description": "Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "responses": { "200": { - "description": "Health Status", + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthStatus" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -30501,23 +31761,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getStorage", - "group": "storage", - "weight": 455, + "method": "updateDeploymentStatus", + "group": "deployments", + "weight": 438, "cookies": false, "type": "", - "demo": "health\/get-storage.md", + "demo": "functions\/update-deployment-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -30527,75 +31786,46 @@ "Project": [], "Key": [] } - ] - } - }, - "\/health\/storage\/local": { - "get": { - "summary": "Get local storage", - "operationId": "healthGetStorageLocal", - "tags": [ - "health" ], - "description": "Check the Appwrite local storage device is up and connection is successful.", - "responses": { - "200": { - "description": "Health Status", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/healthStatus" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getStorageLocal", - "group": "storage", - "weight": 454, - "cookies": false, - "type": "", - "demo": "health\/get-storage-local.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", - "auth": { - "Project": [] - } - }, - "security": [ + "parameters": [ { - "Project": [], - "Key": [] + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DEPLOYMENT_ID>" + }, + "in": "path" } ] } }, - "\/health\/time": { + "\/functions\/{functionId}\/executions": { "get": { - "summary": "Get time", - "operationId": "healthGetTime", + "summary": "List executions", + "operationId": "functionsListExecutions", "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https:\/\/en.wikipedia.org\/wiki\/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.", + "description": "Get a list of all the current user function execution logs. You can use the query params to filter your results.", "responses": { "200": { - "description": "Health Time", + "description": "Executions List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/healthTime" + "$ref": "#\/components\/schemas\/executionList" } } } @@ -30603,23 +31833,27 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTime", - "group": "health", - "weight": 452, + "method": "listExecutions", + "group": "executions", + "weight": 441, "cookies": false, "type": "", - "demo": "health\/get-time.md", + "demo": "functions\/list-executions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": [ + "executions.read", + "execution.read" + ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -30627,26 +31861,62 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/locale": { - "get": { - "summary": "Get user locale", - "operationId": "localeGet", + }, + "post": { + "summary": "Create execution", + "operationId": "functionsCreateExecution", "tags": [ - "locale" + "functions" ], - "description": "Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.\n\n([IP Geolocation by DB-IP](https:\/\/db-ip.com))", + "description": "Trigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "responses": { - "200": { - "description": "Locale", + "201": { + "description": "Execution", "content": { - "application\/json": { + "multipart\/form-data": { "schema": { - "$ref": "#\/components\/schemas\/locale" + "$ref": "#\/components\/schemas\/execution" } } } @@ -30654,16 +31924,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": null, - "weight": 49, + "method": "createExecution", + "group": "executions", + "weight": 439, "cookies": false, "type": "", - "demo": "locale\/get.md", + "demo": "functions\/create-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": [ + "executions.write", + "execution.write" + ], "platforms": [ "console", "client", @@ -30672,7 +31945,6 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -30684,24 +31956,89 @@ "Key": [], "JWT": [] } - ] + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "HTTP body of execution. Default value is empty string.", + "x-example": "<BODY>" + }, + "async": { + "type": "boolean", + "description": "Execute code in the background. Default value is false.", + "x-example": false + }, + "path": { + "type": "string", + "description": "HTTP path of execution. Path can include query params. Default value is \/", + "x-example": "<PATH>" + }, + "method": { + "type": "string", + "description": "HTTP method of execution. Default value is POST.", + "x-example": "GET", + "enum": [ + "GET", + "POST", + "PUT", + "PATCH", + "DELETE", + "OPTIONS", + "HEAD" + ], + "x-enum-name": "ExecutionMethod", + "x-enum-keys": [] + }, + "headers": { + "type": "object", + "description": "HTTP headers of execution. Defaults to empty.", + "x-example": "{}" + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", + "x-example": "<SCHEDULED_AT>", + "x-nullable": true + } + } + } + } + } + } } }, - "\/locale\/codes": { + "\/functions\/{functionId}\/executions\/{executionId}": { "get": { - "summary": "List locale codes", - "operationId": "localeListCodes", + "summary": "Get execution", + "operationId": "functionsGetExecution", "tags": [ - "locale" + "functions" ], - "description": "List of all locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes).", + "description": "Get a function execution log by its unique ID.", "responses": { "200": { - "description": "Locale codes list", + "description": "Execution", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/localeCodeList" + "$ref": "#\/components\/schemas\/execution" } } } @@ -30709,16 +32046,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCodes", - "group": null, - "weight": 50, + "method": "getExecution", + "group": "executions", + "weight": 440, "cookies": false, "type": "", - "demo": "locale\/list-codes.md", + "demo": "functions\/get-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": [ + "executions.read", + "execution.read" + ], "platforms": [ "console", "client", @@ -30727,7 +32067,6 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -30739,50 +32078,63 @@ "Key": [], "JWT": [] } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "executionId", + "description": "Execution ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<EXECUTION_ID>" + }, + "in": "path" + } ] - } - }, - "\/locale\/continents": { - "get": { - "summary": "List continents", - "operationId": "localeListContinents", + }, + "delete": { + "summary": "Delete execution", + "operationId": "functionsDeleteExecution", "tags": [ - "locale" + "functions" ], - "description": "List of all continents. You can use the locale header to get the data in a supported language.", + "description": "Delete a function execution by its unique ID.", "responses": { - "200": { - "description": "Continents List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/continentList" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "listContinents", - "group": null, - "weight": 54, + "method": "deleteExecution", + "group": "executions", + "weight": 442, "cookies": false, "type": "", - "demo": "locale\/list-continents.md", + "demo": "functions\/delete-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": [ + "executions.write", + "execution.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -30790,28 +32142,48 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "executionId", + "description": "Execution ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<EXECUTION_ID>" + }, + "in": "path" } ] } }, - "\/locale\/countries": { + "\/functions\/{functionId}\/usage": { "get": { - "summary": "List countries", - "operationId": "localeListCountries", + "summary": "Get function usage", + "operationId": "functionsGetUsage", "tags": [ - "locale" + "functions" ], - "description": "List of all countries. You can use the locale header to get the data in a supported language.", + "description": "Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { "200": { - "description": "Countries List", + "description": "UsageFunction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/countryList" + "$ref": "#\/components\/schemas\/usageFunction" } } } @@ -30819,54 +32191,81 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCountries", + "method": "getUsage", "group": null, - "weight": 51, + "weight": 443, "cookies": false, "type": "", - "demo": "locale\/list-countries.md", + "demo": "functions\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.read", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" } ] } }, - "\/locale\/countries\/eu": { + "\/functions\/{functionId}\/variables": { "get": { - "summary": "List EU countries", - "operationId": "localeListCountriesEU", + "summary": "List variables", + "operationId": "functionsListVariables", "tags": [ - "locale" + "functions" ], - "description": "List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.", + "description": "Get a list of all variables of a specific function.", "responses": { "200": { - "description": "Countries List", + "description": "Variables List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/countryList" + "$ref": "#\/components\/schemas\/variableList" } } } @@ -30874,25 +32273,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCountriesEU", - "group": null, - "weight": 52, + "method": "listVariables", + "group": "variables", + "weight": 447, "cookies": false, "type": "", - "demo": "locale\/list-countries-eu.md", + "demo": "functions\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -30900,28 +32296,60 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/locale\/countries\/phones": { - "get": { - "summary": "List countries phone codes", - "operationId": "localeListCountriesPhones", + }, + "post": { + "summary": "Create variable", + "operationId": "functionsCreateVariable", "tags": [ - "locale" + "functions" ], - "description": "List of all countries phone codes. You can use the locale header to get the data in a supported language.", + "description": "Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "responses": { - "200": { - "description": "Phones List", + "201": { + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/phoneList" + "$ref": "#\/components\/schemas\/variable" } } } @@ -30929,25 +32357,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCountriesPhones", - "group": null, - "weight": 53, + "method": "createVariable", + "group": "variables", + "weight": 971, "cookies": false, "type": "", - "demo": "locale\/list-countries-phones.md", + "demo": "functions\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -30955,28 +32380,74 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } - ] + ], + "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "variableId": { + "type": "string", + "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<VARIABLE_ID>" + }, + "key": { + "type": "string", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>" + }, + "value": { + "type": "string", + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>" + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", + "x-example": false + } + }, + "required": [ + "variableId", + "key", + "value" + ] + } + } + } + } } }, - "\/locale\/currencies": { + "\/functions\/{functionId}\/variables\/{variableId}": { "get": { - "summary": "List currencies", - "operationId": "localeListCurrencies", + "summary": "Get variable", + "operationId": "functionsGetVariable", "tags": [ - "locale" + "functions" ], - "description": "List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.", + "description": "Get a variable by its unique ID.", "responses": { "200": { - "description": "Currencies List", + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/currencyList" + "$ref": "#\/components\/schemas\/variable" } } } @@ -30984,25 +32455,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCurrencies", - "group": null, - "weight": 55, + "method": "getVariable", + "group": "variables", + "weight": 446, "cookies": false, "type": "", - "demo": "locale\/list-currencies.md", + "demo": "functions\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -31010,28 +32478,46 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<VARIABLE_ID>" + }, + "in": "path" } ] - } - }, - "\/locale\/languages": { - "get": { - "summary": "List languages", - "operationId": "localeListLanguages", + }, + "put": { + "summary": "Update variable", + "operationId": "functionsUpdateVariable", "tags": [ - "locale" + "functions" ], - "description": "List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.", + "description": "Update variable by its unique ID.", "responses": { "200": { - "description": "Languages List", + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/languageList" + "$ref": "#\/components\/schemas\/variable" } } } @@ -31039,25 +32525,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listLanguages", - "group": null, - "weight": 56, + "method": "updateVariable", + "group": "variables", + "weight": 448, "cookies": false, "type": "", - "demo": "locale\/list-languages.md", + "demo": "functions\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -31065,203 +32548,140 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } - ] - } - }, - "\/manager\/blocks": { - "post": { - "summary": "Create a new resource block for a project", - "operationId": "managerCreateBlock", - "tags": [ - "manager" ], - "description": "Creates a new resource block.", - "responses": { - "201": { - "description": "Block", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/block" - } - } - } + "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<VARIABLE_ID>" + }, + "in": "path" } - }, - "deprecated": false, - "x-appwrite": { - "method": "createBlock", - "group": null, - "weight": 983, - "cookies": false, - "type": "", - "demo": "manager\/create-block.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "", - "platforms": [ - "console" - ], - "packaging": false, - "public": true - }, + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "projectId": { - "type": "string", - "description": "Project ID", - "x-example": "<PROJECT_ID>" - }, - "resourceType": { - "type": "string", - "description": "Resource type to block (e.g., projects, functions, databases, storage, etc.)", - "x-example": "projects", - "enum": [ - "projects", - "functions", - "sites", - "databases", - "buckets", - "providers", - "topics", - "subscribers", - "messages" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { + "key": { "type": "string", - "description": "Optional resource ID (if omitted, all resources of this type will be blocked)", - "x-example": "<RESOURCE_ID>" + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>", + "x-nullable": true }, - "reason": { + "value": { "type": "string", - "description": "Optional reason why the resource is blocked", - "x-example": "<REASON>" + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>", + "x-nullable": true }, - "expiredAt": { - "type": "string", - "description": "Optional expiration date for the block", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "projectId", - "resourceType" - ] + } } } } } }, "delete": { - "summary": "Delete resource blocks for a project", - "operationId": "managerDeleteBlock", + "summary": "Delete variable", + "operationId": "functionsDeleteVariable", "tags": [ - "manager" + "functions" ], - "description": "Deletes resource blocks for a project.", + "description": "Delete a variable by its unique ID.", "responses": { - "200": { - "description": "BlockDelete", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/blockDelete" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "deleteBlock", - "group": null, - "weight": 985, + "method": "deleteVariable", + "group": "variables", + "weight": 449, "cookies": false, "type": "", - "demo": "manager\/delete-block.md", + "demo": "functions\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "functions.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true + "public": true, + "auth": { + "Project": [] + } }, - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "projectId": { - "type": "string", - "description": "Project ID", - "x-example": "<PROJECT_ID>" - }, - "resourceType": { - "type": "string", - "description": "Resource type to unblock", - "x-example": "projects", - "enum": [ - "projects", - "functions", - "sites", - "databases", - "buckets", - "providers", - "topics", - "subscribers", - "messages" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { - "type": "string", - "description": "Optional resource ID (if omitted, all blocks of this type will be removed)", - "x-example": "<RESOURCE_ID>" - } - }, - "required": [ - "projectId", - "resourceType" - ] - } - } + "security": [ + { + "Project": [], + "Key": [] } - } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FUNCTION_ID>" + }, + "in": "path" + }, + { + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<VARIABLE_ID>" + }, + "in": "path" + } + ] } }, - "\/manager\/blocks\/{projectId}": { - "get": { - "summary": "List all resource blocks for a project", - "operationId": "managerListBlocks", + "\/graphql": { + "post": { + "summary": "GraphQL endpoint", + "operationId": "graphqlQuery", "tags": [ - "manager" + "graphql" ], - "description": "Lists all resource blocks for a project.", + "description": "Execute a GraphQL mutation.", "responses": { "200": { - "description": "Blocks list", + "description": "Any", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/blockList" + "$ref": "#\/components\/schemas\/any" } } } @@ -31269,51 +32689,54 @@ }, "deprecated": false, "x-appwrite": { - "method": "listBlocks", - "group": null, - "weight": 984, + "method": "query", + "group": "graphql", + "weight": 116, "cookies": false, - "type": "", - "demo": "manager\/list-blocks.md", - "rate-limit": 0, - "rate-time": 3600, + "type": "graphql", + "demo": "graphql\/query.md", + "rate-limit": 60, + "rate-time": 60, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "graphql", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, - "public": true + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", + "auth": { + "Project": [] + } }, - "parameters": [ + "security": [ { - "name": "projectId", - "description": "Project ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ] } }, - "\/manager\/users\/status": { - "patch": { - "summary": "Update a user status by ID or email", - "operationId": "managerUpdateUserStatus", + "\/graphql\/mutation": { + "post": { + "summary": "GraphQL endpoint", + "operationId": "graphqlMutation", "tags": [ - "manager" + "graphql" ], - "description": "Updates a console user status using a user ID or email address.", + "description": "Execute a GraphQL mutation.", "responses": { "200": { - "description": "User", + "description": "Any", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/any" } } } @@ -31321,73 +32744,54 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateUserStatus", - "group": "users", - "weight": 986, + "method": "mutation", + "group": "graphql", + "weight": 115, "cookies": false, - "type": "", - "demo": "manager\/update-user-status.md", - "rate-limit": 0, - "rate-time": 3600, + "type": "graphql", + "demo": "graphql\/mutation.md", + "rate-limit": 60, + "rate-time": 60, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "graphql", "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, - "public": true + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", + "auth": { + "Project": [] + } }, - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email address.", - "x-example": "<EMAIL>" - }, - "status": { - "type": "boolean", - "description": "User status. Set to `false` to block and `true` to unblock.", - "x-example": false - }, - "reason": { - "type": "string", - "description": "Optional reason when blocking a user. Accepted for parity with the CLI task but not persisted.", - "x-example": "<REASON>" - } - }, - "required": [ - "status" - ] - } - } + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } - } + ] } }, - "\/messaging\/messages": { + "\/health": { "get": { - "summary": "List messages", - "operationId": "messagingListMessages", + "summary": "Get HTTP", + "operationId": "healthGet", "tags": [ - "messaging" + "health" ], - "description": "Get a list of all messages from the current Appwrite project.", + "description": "Check the Appwrite HTTP server is up and responsive.", "responses": { "200": { - "description": "Message list", + "description": "Health Status", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/messageList" + "$ref": "#\/components\/schemas\/healthStatus" } } } @@ -31395,23 +32799,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listMessages", - "group": "messages", - "weight": 158, + "method": "get", + "group": "health", + "weight": 452, "cookies": false, "type": "", - "demo": "messaging\/list-messages.md", + "demo": "health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -31421,61 +32825,24 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - } ] } }, - "\/messaging\/messages\/email": { - "post": { - "summary": "Create email", - "operationId": "messagingCreateEmail", + "\/health\/anti-virus": { + "get": { + "summary": "Get antivirus", + "operationId": "healthGetAntivirus", "tags": [ - "messaging" + "health" ], - "description": "Create a new email message.", + "description": "Check the Appwrite Antivirus server is up and connection is successful.", "responses": { - "201": { - "description": "Message", + "200": { + "description": "Health Antivirus", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthAntivirus" } } } @@ -31483,23 +32850,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createEmail", - "group": "messages", - "weight": 155, + "method": "getAntivirus", + "group": "health", + "weight": 461, "cookies": false, "type": "", - "demo": "messaging\/create-email.md", + "demo": "health\/get-antivirus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } @@ -31509,120 +32876,75 @@ "Project": [], "Key": [] } + ] + } + }, + "\/health\/cache": { + "get": { + "summary": "Get cache", + "operationId": "healthGetCache", + "tags": [ + "health" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<MESSAGE_ID>" - }, - "subject": { - "type": "string", - "description": "Email Subject.", - "x-example": "<SUBJECT>" - }, - "content": { - "type": "string", - "description": "Email Content.", - "x-example": "<CONTENT>" - }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "cc": { - "type": "array", - "description": "Array of target IDs to be added as CC.", - "x-example": null, - "items": { - "type": "string" - } - }, - "bcc": { - "type": "array", - "description": "Array of target IDs to be added as BCC.", - "x-example": null, - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": null, - "items": { - "type": "string" - } - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false - }, - "html": { - "type": "boolean", - "description": "Is content of type HTML", - "x-example": false - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "messageId", - "subject", - "content" - ] + "description": "Check the Appwrite in-memory cache servers are up and connection is successful.", + "responses": { + "200": { + "description": "Status List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/healthStatusList" + } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "getCache", + "group": "health", + "weight": 455, + "cookies": false, + "type": "", + "demo": "health\/get-cache.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "health.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ] } }, - "\/messaging\/messages\/email\/{messageId}": { - "patch": { - "summary": "Update email", - "operationId": "messagingUpdateEmail", + "\/health\/certificate": { + "get": { + "summary": "Get the SSL certificate for a domain", + "operationId": "healthGetCertificate", "tags": [ - "messaging" + "health" ], - "description": "Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Get the SSL certificate for a domain", "responses": { "200": { - "description": "Message", + "description": "Health Certificate", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthCertificate" } } } @@ -31630,23 +32952,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateEmail", - "group": "messages", - "weight": 162, + "method": "getCertificate", + "group": "health", + "weight": 458, "cookies": false, "type": "", - "demo": "messaging\/update-email.md", + "demo": "health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -31659,129 +32981,32 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, + "name": "domain", + "description": "string", + "required": false, "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" + "type": "string" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "subject": { - "type": "string", - "description": "Email Subject.", - "x-example": "<SUBJECT>", - "x-nullable": true - }, - "content": { - "type": "string", - "description": "Email Content.", - "x-example": "<CONTENT>", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false, - "x-nullable": true - }, - "html": { - "type": "boolean", - "description": "Is content of type HTML", - "x-example": false, - "x-nullable": true - }, - "cc": { - "type": "array", - "description": "Array of target IDs to be added as CC.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "bcc": { - "type": "array", - "description": "Array of target IDs to be added as BCC.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "attachments": { - "type": "array", - "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/messages\/push": { - "post": { - "summary": "Create push notification", - "operationId": "messagingCreatePush", + "\/health\/console-pausing": { + "get": { + "summary": "Get console pausing health", + "operationId": "healthGetConsolePausing", "tags": [ - "messaging" + "health" ], - "description": "Create a new push notification.", + "description": "Get console pausing health status. Monitors projects approaching the pause threshold to detect potential issues with console access tracking.\n", "responses": { - "201": { - "description": "Message", + "200": { + "description": "Health Status", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthStatus" } } } @@ -31789,23 +33014,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPush", - "group": "messages", - "weight": 157, + "method": "getConsolePausing", + "group": null, + "weight": 1115, "cookies": false, "type": "", - "demo": "messaging\/create-push.md", + "demo": "health\/get-console-pausing.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-console-pausing.md", "auth": { "Project": [] } @@ -31816,151 +33041,47 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<MESSAGE_ID>" - }, - "title": { - "type": "string", - "description": "Title for push notification.", - "x-example": "<TITLE>" - }, - "body": { - "type": "string", - "description": "Body for push notification.", - "x-example": "<BODY>" - }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "data": { - "type": "object", - "description": "Additional key-value pair data for push notification.", - "x-example": "{}", - "x-nullable": true - }, - "action": { - "type": "string", - "description": "Action for push notification.", - "x-example": "<ACTION>" - }, - "image": { - "type": "string", - "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>" - }, - "icon": { - "type": "string", - "description": "Icon for push notification. Available only for Android and Web Platform.", - "x-example": "<ICON>" - }, - "sound": { - "type": "string", - "description": "Sound for push notification. Available only for Android and iOS Platform.", - "x-example": "<SOUND>" - }, - "color": { - "type": "string", - "description": "Color for push notification. Available only for Android Platform.", - "x-example": "<COLOR>" - }, - "tag": { - "type": "string", - "description": "Tag for push notification. Available only for Android Platform.", - "x-example": "<TAG>" - }, - "badge": { - "type": "integer", - "description": "Badge for push notification. Available only for iOS Platform.", - "x-example": null, - "format": "int32" - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "contentAvailable": { - "type": "boolean", - "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false - }, - "critical": { - "type": "boolean", - "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false - }, - "priority": { - "type": "string", - "description": "Set the notification priority. \"normal\" will consider device state and may not deliver notifications immediately. \"high\" will always attempt to immediately deliver the notification.", - "x-example": "normal", - "enum": [ - "normal", - "high" - ], - "x-enum-name": "MessagePriority", - "x-enum-keys": [] - } - }, - "required": [ - "messageId" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Percentage threshold of projects approaching pause. When hit (equal or higher), endpoint returns server error. Default value is 10.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 10 + }, + "in": "query" + }, + { + "name": "inactivityDays", + "description": "Number of days of inactivity before a project is paused. Should match the plan's projectInactivityDays setting. Default value is 7.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 7 + }, + "in": "query" } - } + ] } }, - "\/messaging\/messages\/push\/{messageId}": { - "patch": { - "summary": "Update push notification", - "operationId": "messagingUpdatePush", + "\/health\/db": { + "get": { + "summary": "Get DB", + "operationId": "healthGetDB", "tags": [ - "messaging" + "health" ], - "description": "Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Check the Appwrite database servers are up and connection is successful.", "responses": { "200": { - "description": "Message", + "description": "Status List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthStatusList" } } } @@ -31968,23 +33089,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePush", - "group": "messages", - "weight": 164, + "method": "getDB", + "group": "health", + "weight": 454, "cookies": false, "type": "", - "demo": "messaging\/update-push.md", + "demo": "health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -31994,266 +33115,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "messageId", - "description": "Message ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "title": { - "type": "string", - "description": "Title for push notification.", - "x-example": "<TITLE>", - "x-nullable": true - }, - "body": { - "type": "string", - "description": "Body for push notification.", - "x-example": "<BODY>", - "x-nullable": true - }, - "data": { - "type": "object", - "description": "Additional Data for push notification.", - "x-example": "{}", - "x-nullable": true - }, - "action": { - "type": "string", - "description": "Action for push notification.", - "x-example": "<ACTION>", - "x-nullable": true - }, - "image": { - "type": "string", - "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>", - "x-nullable": true - }, - "icon": { - "type": "string", - "description": "Icon for push notification. Available only for Android and Web platforms.", - "x-example": "<ICON>", - "x-nullable": true - }, - "sound": { - "type": "string", - "description": "Sound for push notification. Available only for Android and iOS platforms.", - "x-example": "<SOUND>", - "x-nullable": true - }, - "color": { - "type": "string", - "description": "Color for push notification. Available only for Android platforms.", - "x-example": "<COLOR>", - "x-nullable": true - }, - "tag": { - "type": "string", - "description": "Tag for push notification. Available only for Android platforms.", - "x-example": "<TAG>", - "x-nullable": true - }, - "badge": { - "type": "integer", - "description": "Badge for push notification. Available only for iOS platforms.", - "x-example": null, - "format": "int32", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false, - "x-nullable": true - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "contentAvailable": { - "type": "boolean", - "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false, - "x-nullable": true - }, - "critical": { - "type": "boolean", - "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false, - "x-nullable": true - }, - "priority": { - "type": "string", - "description": "Set the notification priority. \"normal\" will consider device battery state and may send notifications later. \"high\" will always attempt to immediately deliver the notification.", - "x-example": "normal", - "enum": [ - "normal", - "high" - ], - "x-enum-name": "MessagePriority", - "x-enum-keys": [], - "x-nullable": true - } - } - } - } - } - } + ] } }, - "\/messaging\/messages\/sms": { - "post": { - "summary": "Create SMS", - "operationId": "messagingCreateSms", + "\/health\/pubsub": { + "get": { + "summary": "Get pubsub", + "operationId": "healthGetPubSub", "tags": [ - "messaging" + "health" ], - "description": "Create a new SMS message.", + "description": "Check the Appwrite pub-sub servers are up and connection is successful.", "responses": { - "201": { - "description": "Message", + "200": { + "description": "Status List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthStatusList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createSms", - "group": "messages", - "weight": 156, + "method": "getPubSub", + "group": "health", + "weight": 456, "cookies": false, "type": "", - "demo": "messaging\/create-sms.md", + "demo": "health\/get-pub-sub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMS" - }, - "methods": [ - { - "name": "createSms", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "content", - "topics", - "users", - "targets", - "draft", - "scheduledAt" - ], - "required": [ - "messageId", - "content" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/message" - } - ], - "description": "Create a new SMS message.", - "demo": "messaging\/create-sms.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMS" - } - }, - { - "name": "createSMS", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "content", - "topics", - "users", - "targets", - "draft", - "scheduledAt" - ], - "required": [ - "messageId", - "content" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/message" - } - ], - "description": "Create a new SMS message.", - "demo": "messaging\/create-sms.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -32263,177 +33166,48 @@ "Project": [], "Key": [] } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<MESSAGE_ID>" - }, - "content": { - "type": "string", - "description": "SMS Content.", - "x-example": "<CONTENT>" - }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - } - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "messageId", - "content" - ] - } - } - } - } + ] } }, - "\/messaging\/messages\/sms\/{messageId}": { - "patch": { - "summary": "Update SMS", - "operationId": "messagingUpdateSms", + "\/health\/queue\/audits": { + "get": { + "summary": "Get audits queue", + "operationId": "healthGetQueueAudits", "tags": [ - "messaging" + "health" ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Get the number of audit logs that are waiting to be processed in the Appwrite internal queue server.\n", "responses": { "200": { - "description": "Message", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthQueue" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateSms", - "group": "messages", - "weight": 163, + "method": "getQueueAudits", + "group": "queue", + "weight": 462, "cookies": false, "type": "", - "demo": "messaging\/update-sms.md", + "demo": "health\/get-queue-audits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMS" - }, - "methods": [ - { - "name": "updateSms", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "topics", - "users", - "targets", - "content", - "draft", - "scheduledAt" - ], - "required": [ - "messageId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/message" - } - ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", - "demo": "messaging\/update-sms.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMS" - } - }, - { - "name": "updateSMS", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "topics", - "users", - "targets", - "content", - "draft", - "scheduledAt" - ], - "required": [ - "messageId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/message" - } - ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", - "demo": "messaging\/update-sms.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-audits.md", "auth": { "Project": [] } @@ -32446,90 +33220,34 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" + "type": "integer", + "format": "int32", + "default": 5000 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "x-example": null, - "items": { - "type": "string" - }, - "x-nullable": true - }, - "content": { - "type": "string", - "description": "Email Content.", - "x-example": "<CONTENT>", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "x-example": false, - "x-nullable": true - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/messages\/{messageId}": { + "\/health\/queue\/billing-project-aggregation": { "get": { - "summary": "Get message", - "operationId": "messagingGetMessage", + "summary": "Get billing project aggregation queue", + "operationId": "healthGetQueueBillingProjectAggregation", "tags": [ - "messaging" + "health" ], - "description": "Get a message by its unique ID.\n", + "description": "Get billing project aggregation queue.", "responses": { "200": { - "description": "Message", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/message" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -32537,23 +33255,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "getMessage", - "group": "messages", - "weight": 161, + "method": "getQueueBillingProjectAggregation", + "group": null, + "weight": 1111, "cookies": false, "type": "", - "demo": "messaging\/get-message.md", + "demo": "health\/get-queue-billing-project-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-project-aggregation.md", "auth": { "Project": [] } @@ -32566,48 +33284,58 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" + "type": "integer", + "format": "int32", + "default": 10000 }, - "in": "path" + "in": "query" } ] - }, - "delete": { - "summary": "Delete message", - "operationId": "messagingDelete", + } + }, + "\/health\/queue\/billing-team-aggregation": { + "get": { + "summary": "Get billing team aggregation queue", + "operationId": "healthGetQueueBillingTeamAggregation", "tags": [ - "messaging" + "health" ], - "description": "Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.", + "description": "Get billing team aggregation queue.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Health Queue", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/healthQueue" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "messages", - "weight": 165, + "method": "getQueueBillingTeamAggregation", + "group": null, + "weight": 1110, "cookies": false, "type": "", - "demo": "messaging\/delete.md", + "demo": "health\/get-queue-billing-team-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-team-aggregation.md", "auth": { "Project": [] } @@ -32620,33 +33348,34 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" + "type": "integer", + "format": "int32", + "default": 10000 }, - "in": "path" + "in": "query" } ] } }, - "\/messaging\/messages\/{messageId}\/logs": { + "\/health\/queue\/builds": { "get": { - "summary": "List message logs", - "operationId": "messagingListMessageLogs", + "summary": "Get builds queue", + "operationId": "healthGetQueueBuilds", "tags": [ - "messaging" + "health" ], - "description": "Get the message activity logs listed by its unique ID.", + "description": "Get the number of builds that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Logs List", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -32654,23 +33383,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listMessageLogs", - "group": "logs", - "weight": 159, + "method": "getQueueBuilds", + "group": "queue", + "weight": 466, "cookies": false, "type": "", - "demo": "messaging\/list-message-logs.md", + "demo": "health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -32683,57 +33412,34 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "default": 5000 }, "in": "query" } ] } }, - "\/messaging\/messages\/{messageId}\/targets": { + "\/health\/queue\/builds-priority": { "get": { - "summary": "List message targets", - "operationId": "messagingListTargets", + "summary": "Get billing aggregation queue", + "operationId": "healthGetQueuePriorityBuilds", "tags": [ - "messaging" + "health" ], - "description": "Get a list of the targets associated with a message.", + "description": "Get the priority builds queue size.", "responses": { "200": { - "description": "Target list", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/targetList" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -32741,23 +33447,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTargets", - "group": "messages", - "weight": 160, + "method": "getQueuePriorityBuilds", + "group": null, + "weight": 1112, "cookies": false, "type": "", - "demo": "messaging\/list-targets.md", + "demo": "health\/get-queue-priority-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-priority-builds.md", "auth": { "Project": [] } @@ -32770,57 +33476,98 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<MESSAGE_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 500.", "required": false, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "integer", + "format": "int32", + "default": 500 }, "in": "query" - }, + } + ] + } + }, + "\/health\/queue\/certificates": { + "get": { + "summary": "Get certificates queue", + "operationId": "healthGetQueueCertificates", + "tags": [ + "health" + ], + "description": "Get the number of certificates that are waiting to be issued against [Letsencrypt](https:\/\/letsencrypt.org\/) in the Appwrite internal queue server.", + "responses": { + "200": { + "description": "Health Queue", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/healthQueue" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getQueueCertificates", + "group": "queue", + "weight": 465, + "cookies": false, + "type": "", + "demo": "health\/get-queue-certificates.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "health.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "default": 5000 }, "in": "query" } ] } }, - "\/messaging\/providers": { + "\/health\/queue\/databases": { "get": { - "summary": "List providers", - "operationId": "messagingListProviders", + "summary": "Get databases queue", + "operationId": "healthGetQueueDatabases", "tags": [ - "messaging" + "health" ], - "description": "Get a list of all providers from the current Appwrite project.", + "description": "Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider list", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/providerList" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -32828,23 +33575,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listProviders", - "group": "providers", - "weight": 129, + "method": "getQueueDatabases", + "group": "queue", + "weight": 467, "cookies": false, "type": "", - "demo": "messaging\/list-providers.md", + "demo": "health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -32857,154 +33604,133 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled", + "name": "name", + "description": "Queue name for which to check the queue size", "required": false, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<NAME>", + "default": "database_db_main" }, "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" + "type": "integer", + "format": "int32", + "default": 5000 }, "in": "query" - }, + } + ] + } + }, + "\/health\/queue\/deletes": { + "get": { + "summary": "Get deletes queue", + "operationId": "healthGetQueueDeletes", + "tags": [ + "health" + ], + "description": "Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.", + "responses": { + "200": { + "description": "Health Queue", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/healthQueue" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getQueueDeletes", + "group": "queue", + "weight": 468, + "cookies": false, + "type": "", + "demo": "health\/get-queue-deletes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "health.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "default": 5000 }, "in": "query" } ] } }, - "\/messaging\/providers\/apns": { - "post": { - "summary": "Create APNS provider", - "operationId": "messagingCreateApnsProvider", + "\/health\/queue\/failed\/{name}": { + "get": { + "summary": "Get number of failed queue jobs", + "operationId": "healthGetFailedJobs", "tags": [ - "messaging" + "health" ], - "description": "Create a new Apple Push Notification service provider.", + "description": "Returns the amount of failed jobs in a given queue.\n", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createApnsProvider", - "group": "providers", - "weight": 128, + "method": "getFailedJobs", + "group": "queue", + "weight": 475, "cookies": false, "type": "", - "demo": "messaging\/create-apns-provider.md", + "demo": "health\/get-failed-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createAPNSProvider" - }, - "methods": [ - { - "name": "createApnsProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new Apple Push Notification service provider.", - "demo": "messaging\/create-apns-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createAPNSProvider" - } - }, - { - "name": "createAPNSProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new Apple Push Notification service provider.", - "demo": "messaging\/create-apns-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -33015,173 +33741,87 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "authKey": { - "type": "string", - "description": "APNS authentication key.", - "x-example": "<AUTH_KEY>" - }, - "authKeyId": { - "type": "string", - "description": "APNS authentication key ID.", - "x-example": "<AUTH_KEY_ID>" - }, - "teamId": { - "type": "string", - "description": "APNS team ID.", - "x-example": "<TEAM_ID>" - }, - "bundleId": { - "type": "string", - "description": "APNS bundle ID.", - "x-example": "<BUNDLE_ID>" - }, - "sandbox": { - "type": "boolean", - "description": "Use APNS sandbox environment.", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "name", + "description": "The name of the queue", + "required": true, + "schema": { + "type": "string", + "x-example": "v1-database", + "enum": [ + "v1-database", + "v1-deletes", + "v1-audits", + "v1-mails", + "v1-functions", + "v1-stats-resources", + "v1-stats-usage", + "v1-webhooks", + "v1-certificates", + "v1-builds", + "v1-screenshots", + "v1-messaging", + "v1-migrations" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "in": "path" + }, + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5000 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/apns\/{providerId}": { - "patch": { - "summary": "Update APNS provider", - "operationId": "messagingUpdateApnsProvider", + "\/health\/queue\/functions": { + "get": { + "summary": "Get functions queue", + "operationId": "healthGetQueueFunctions", "tags": [ - "messaging" + "health" ], - "description": "Update a Apple Push Notification service provider by its unique ID.", + "description": "Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateApnsProvider", - "group": "providers", - "weight": 142, + "method": "getQueueFunctions", + "group": "queue", + "weight": 472, "cookies": false, "type": "", - "demo": "messaging\/update-apns-provider.md", + "demo": "health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateAPNSProvider" - }, - "methods": [ - { - "name": "updateApnsProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a Apple Push Notification service provider by its unique ID.", - "demo": "messaging\/update-apns-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateAPNSProvider" - } - }, - { - "name": "updateAPNSProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a Apple Push Notification service provider by its unique ID.", - "demo": "messaging\/update-apns-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -33194,169 +33834,58 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" + "type": "integer", + "format": "int32", + "default": 5000 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "authKey": { - "type": "string", - "description": "APNS authentication key.", - "x-example": "<AUTH_KEY>" - }, - "authKeyId": { - "type": "string", - "description": "APNS authentication key ID.", - "x-example": "<AUTH_KEY_ID>" - }, - "teamId": { - "type": "string", - "description": "APNS team ID.", - "x-example": "<TEAM_ID>" - }, - "bundleId": { - "type": "string", - "description": "APNS bundle ID.", - "x-example": "<BUNDLE_ID>" - }, - "sandbox": { - "type": "boolean", - "description": "Use APNS sandbox environment.", - "x-example": false, - "x-nullable": true - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/providers\/fcm": { - "post": { - "summary": "Create FCM provider", - "operationId": "messagingCreateFcmProvider", + "\/health\/queue\/logs": { + "get": { + "summary": "Get logs queue", + "operationId": "healthGetQueueLogs", "tags": [ - "messaging" + "health" ], - "description": "Create a new Firebase Cloud Messaging provider.", + "description": "Get the number of logs that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createFcmProvider", - "group": "providers", - "weight": 127, + "method": "getQueueLogs", + "group": "queue", + "weight": 464, "cookies": false, "type": "", - "demo": "messaging\/create-fcm-provider.md", + "demo": "health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createFCMProvider" - }, - "methods": [ - { - "name": "createFcmProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "serviceAccountJSON", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new Firebase Cloud Messaging provider.", - "demo": "messaging\/create-fcm-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createFCMProvider" - } - }, - { - "name": "createFCMProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "serviceAccountJSON", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new Firebase Cloud Messaging provider.", - "demo": "messaging\/create-fcm-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -33367,146 +33896,60 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "serviceAccountJSON": { - "type": "object", - "description": "FCM service account JSON.", - "x-example": "{}", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5000 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/fcm\/{providerId}": { - "patch": { - "summary": "Update FCM provider", - "operationId": "messagingUpdateFcmProvider", + "\/health\/queue\/mails": { + "get": { + "summary": "Get mails queue", + "operationId": "healthGetQueueMails", "tags": [ - "messaging" + "health" ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "description": "Get the number of mails that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateFcmProvider", - "group": "providers", - "weight": 141, + "method": "getQueueMails", + "group": "queue", + "weight": 469, "cookies": false, "type": "", - "demo": "messaging\/update-fcm-provider.md", + "demo": "health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateFCMProvider" - }, - "methods": [ - { - "name": "updateFcmProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "serviceAccountJSON" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", - "demo": "messaging\/update-fcm-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateFCMProvider" - } - }, - { - "name": "updateFCMProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "serviceAccountJSON" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", - "demo": "messaging\/update-fcm-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -33519,61 +33962,34 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" + "type": "integer", + "format": "int32", + "default": 5000 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "serviceAccountJSON": { - "type": "object", - "description": "FCM service account JSON.", - "x-example": "{}", - "x-nullable": true - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/providers\/mailgun": { - "post": { - "summary": "Create Mailgun provider", - "operationId": "messagingCreateMailgunProvider", + "\/health\/queue\/messaging": { + "get": { + "summary": "Get messaging queue", + "operationId": "healthGetQueueMessaging", "tags": [ - "messaging" + "health" ], - "description": "Create a new Mailgun provider.", + "description": "Get the number of messages that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -33581,23 +33997,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createMailgunProvider", - "group": "providers", - "weight": 118, + "method": "getQueueMessaging", + "group": "queue", + "weight": 470, "cookies": false, "type": "", - "demo": "messaging\/create-mailgun-provider.md", + "demo": "health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -33608,92 +34024,36 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Mailgun API Key.", - "x-example": "<API_KEY>" - }, - "domain": { - "type": "string", - "description": "Mailgun Domain.", - "x-example": "<DOMAIN>" - }, - "isEuRegion": { - "type": "boolean", - "description": "Set as EU region.", - "x-example": false, - "x-nullable": true - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5000 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/mailgun\/{providerId}": { - "patch": { - "summary": "Update Mailgun provider", - "operationId": "messagingUpdateMailgunProvider", + "\/health\/queue\/migrations": { + "get": { + "summary": "Get migrations queue", + "operationId": "healthGetQueueMigrations", "tags": [ - "messaging" + "health" ], - "description": "Update a Mailgun provider by its unique ID.", + "description": "Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -33701,23 +34061,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMailgunProvider", - "group": "providers", - "weight": 132, + "method": "getQueueMigrations", + "group": "queue", + "weight": 471, "cookies": false, "type": "", - "demo": "messaging\/update-mailgun-provider.md", + "demo": "health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -33730,92 +34090,34 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" + "type": "integer", + "format": "int32", + "default": 5000 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Mailgun API Key.", - "x-example": "<API_KEY>" - }, - "domain": { - "type": "string", - "description": "Mailgun Domain.", - "x-example": "<DOMAIN>" - }, - "isEuRegion": { - "type": "boolean", - "description": "Set as EU region.", - "x-example": false, - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "x-example": "<REPLY_TO_EMAIL>" - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/providers\/msg91": { - "post": { - "summary": "Create Msg91 provider", - "operationId": "messagingCreateMsg91Provider", + "\/health\/queue\/region-manager": { + "get": { + "summary": "Get region manager queue", + "operationId": "healthGetQueueRegionManager", "tags": [ - "messaging" + "health" ], - "description": "Create a new MSG91 provider.", + "description": "Get region manager queue.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -33823,23 +34125,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createMsg91Provider", - "group": "providers", - "weight": 122, + "method": "getQueueRegionManager", + "group": null, + "weight": 1113, "cookies": false, "type": "", - "demo": "messaging\/create-msg-91-provider.md", + "demo": "health\/get-queue-region-manager.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-region-manager.md", "auth": { "Project": [] } @@ -33850,69 +34152,36 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "templateId": { - "type": "string", - "description": "Msg91 template ID", - "x-example": "<TEMPLATE_ID>" - }, - "senderId": { - "type": "string", - "description": "Msg91 sender ID.", - "x-example": "<SENDER_ID>" - }, - "authKey": { - "type": "string", - "description": "Msg91 auth key.", - "x-example": "<AUTH_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 100 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/msg91\/{providerId}": { - "patch": { - "summary": "Update Msg91 provider", - "operationId": "messagingUpdateMsg91Provider", + "\/health\/queue\/stats-resources": { + "get": { + "summary": "Get stats resources queue", + "operationId": "healthGetQueueStatsResources", "tags": [ - "messaging" + "health" ], - "description": "Update a MSG91 provider by its unique ID.", + "description": "Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -33920,23 +34189,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMsg91Provider", - "group": "providers", - "weight": 136, + "method": "getQueueStatsResources", + "group": "queue", + "weight": 473, "cookies": false, "type": "", - "demo": "messaging\/update-msg-91-provider.md", + "demo": "health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -33949,70 +34218,34 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" + "type": "integer", + "format": "int32", + "default": 5000 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "templateId": { - "type": "string", - "description": "Msg91 template ID.", - "x-example": "<TEMPLATE_ID>" - }, - "senderId": { - "type": "string", - "description": "Msg91 sender ID.", - "x-example": "<SENDER_ID>" - }, - "authKey": { - "type": "string", - "description": "Msg91 auth key.", - "x-example": "<AUTH_KEY>" - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/providers\/resend": { - "post": { - "summary": "Create Resend provider", - "operationId": "messagingCreateResendProvider", + "\/health\/queue\/stats-usage": { + "get": { + "summary": "Get stats usage queue", + "operationId": "healthGetQueueUsage", "tags": [ - "messaging" + "health" ], - "description": "Create a new Resend provider.", + "description": "Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -34020,23 +34253,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createResendProvider", - "group": "providers", - "weight": 120, + "method": "getQueueUsage", + "group": "queue", + "weight": 474, "cookies": false, "type": "", - "demo": "messaging\/create-resend-provider.md", + "demo": "health\/get-queue-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -34047,81 +34280,36 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Resend API key.", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5000 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/resend\/{providerId}": { - "patch": { - "summary": "Update Resend provider", - "operationId": "messagingUpdateResendProvider", + "\/health\/queue\/threats": { + "get": { + "summary": "Get threats queue", + "operationId": "healthGetQueueThreats", "tags": [ - "messaging" + "health" ], - "description": "Update a Resend provider by its unique ID.", + "description": "Get threats queue.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -34129,23 +34317,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateResendProvider", - "group": "providers", - "weight": 134, + "method": "getQueueThreats", + "group": null, + "weight": 1114, "cookies": false, "type": "", - "demo": "messaging\/update-resend-provider.md", + "demo": "health\/get-queue-threats.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-threats.md", "auth": { "Project": [] } @@ -34158,81 +34346,34 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", + "required": false, "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" + "type": "integer", + "format": "int32", + "default": 100 }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "apiKey": { - "type": "string", - "description": "Resend API key.", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "x-example": "<REPLY_TO_EMAIL>" - } - } - } - } + "in": "query" } - } + ] } }, - "\/messaging\/providers\/sendgrid": { - "post": { - "summary": "Create Sendgrid provider", - "operationId": "messagingCreateSendgridProvider", + "\/health\/queue\/webhooks": { + "get": { + "summary": "Get webhooks queue", + "operationId": "healthGetQueueWebhooks", "tags": [ - "messaging" + "health" ], - "description": "Create a new Sendgrid provider.", + "description": "Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthQueue" } } } @@ -34240,23 +34381,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSendgridProvider", - "group": "providers", - "weight": 119, + "method": "getQueueWebhooks", + "group": "queue", + "weight": 463, "cookies": false, "type": "", - "demo": "messaging\/create-sendgrid-provider.md", + "demo": "health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -34267,81 +34408,36 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Sendgrid API key.", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "parameters": [ + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5000 + }, + "in": "query" } - } + ] } }, - "\/messaging\/providers\/sendgrid\/{providerId}": { - "patch": { - "summary": "Update Sendgrid provider", - "operationId": "messagingUpdateSendgridProvider", + "\/health\/storage": { + "get": { + "summary": "Get storage", + "operationId": "healthGetStorage", "tags": [ - "messaging" + "health" ], - "description": "Update a Sendgrid provider by its unique ID.", + "description": "Check the Appwrite storage device is up and connection is successful.", "responses": { "200": { - "description": "Provider", + "description": "Health Status", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthStatus" } } } @@ -34349,23 +34445,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSendgridProvider", - "group": "providers", - "weight": 133, + "method": "getStorage", + "group": "storage", + "weight": 460, "cookies": false, "type": "", - "demo": "messaging\/update-sendgrid-provider.md", + "demo": "health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -34375,194 +34471,99 @@ "Project": [], "Key": [] } + ] + } + }, + "\/health\/storage\/local": { + "get": { + "summary": "Get local storage", + "operationId": "healthGetStorageLocal", + "tags": [ + "health" ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "apiKey": { - "type": "string", - "description": "Sendgrid API key.", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "x-example": "<REPLY_TO_EMAIL>" - } + "description": "Check the Appwrite local storage device is up and connection is successful.", + "responses": { + "200": { + "description": "Health Status", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/healthStatus" } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "getStorageLocal", + "group": "storage", + "weight": 459, + "cookies": false, + "type": "", + "demo": "health\/get-storage-local.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "health.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ] } }, - "\/messaging\/providers\/smtp": { - "post": { - "summary": "Create SMTP provider", - "operationId": "messagingCreateSmtpProvider", + "\/health\/time": { + "get": { + "summary": "Get time", + "operationId": "healthGetTime", "tags": [ - "messaging" + "health" ], - "description": "Create a new SMTP provider.", + "description": "Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https:\/\/en.wikipedia.org\/wiki\/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Time", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/healthTime" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createSmtpProvider", - "group": "providers", - "weight": 121, + "method": "getTime", + "group": "health", + "weight": 457, "cookies": false, "type": "", - "demo": "messaging\/create-smtp-provider.md", + "demo": "health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMTPProvider" - }, - "methods": [ - { - "name": "createSmtpProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId", - "name", - "host" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new SMTP provider.", - "demo": "messaging\/create-smtp-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMTPProvider" - } - }, - { - "name": "createSMTPProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId", - "name", - "host" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Create a new SMTP provider.", - "demo": "messaging\/create-smtp-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -34572,227 +34573,50 @@ "Project": [], "Key": [] } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "host": { - "type": "string", - "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "x-example": "<HOST>" - }, - "port": { - "type": "integer", - "description": "The default SMTP server port.", - "x-example": 1, - "format": "int32" - }, - "username": { - "type": "string", - "description": "Authentication username.", - "x-example": "<USERNAME>" - }, - "password": { - "type": "string", - "description": "Authentication password.", - "x-example": "<PASSWORD>" - }, - "encryption": { - "type": "string", - "description": "Encryption type. Can be omitted, 'ssl', or 'tls'", - "x-example": "none", - "enum": [ - "none", - "ssl", - "tls" - ], - "x-enum-name": "SmtpEncryption", - "x-enum-keys": [] - }, - "autoTLS": { - "type": "boolean", - "description": "Enable SMTP AutoTLS feature.", - "x-example": false - }, - "mailer": { - "type": "string", - "description": "The value to use for the X-Mailer header.", - "x-example": "<MAILER>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name", - "host" - ] - } - } - } - } + ] } }, - "\/messaging\/providers\/smtp\/{providerId}": { - "patch": { - "summary": "Update SMTP provider", - "operationId": "messagingUpdateSmtpProvider", + "\/locale": { + "get": { + "summary": "Get user locale", + "operationId": "localeGet", "tags": [ - "messaging" + "locale" ], - "description": "Update a SMTP provider by its unique ID.", + "description": "Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.\n\n([IP Geolocation by DB-IP](https:\/\/db-ip.com))", "responses": { "200": { - "description": "Provider", + "description": "Locale", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/locale" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateSmtpProvider", - "group": "providers", - "weight": 135, + "method": "get", + "group": null, + "weight": 49, "cookies": false, "type": "", - "demo": "messaging\/update-smtp-provider.md", + "demo": "locale\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMTPProvider" - }, - "methods": [ - { - "name": "updateSmtpProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a SMTP provider by its unique ID.", - "demo": "messaging\/update-smtp-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMTPProvider" - } - }, - { - "name": "updateSMTPProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/provider" - } - ], - "description": "Update a SMTP provider by its unique ID.", - "demo": "messaging\/update-smtp-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -34800,126 +34624,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "host": { - "type": "string", - "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "x-example": "<HOST>" - }, - "port": { - "type": "integer", - "description": "SMTP port.", - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "username": { - "type": "string", - "description": "Authentication username.", - "x-example": "<USERNAME>" - }, - "password": { - "type": "string", - "description": "Authentication password.", - "x-example": "<PASSWORD>" - }, - "encryption": { - "type": "string", - "description": "Encryption type. Can be 'ssl' or 'tls'", - "x-example": "none", - "enum": [ - "none", - "ssl", - "tls" - ], - "x-enum-name": "SmtpEncryption", - "x-enum-keys": [] - }, - "autoTLS": { - "type": "boolean", - "description": "Enable SMTP AutoTLS feature.", - "x-example": false, - "x-nullable": true - }, - "mailer": { - "type": "string", - "description": "The value to use for the X-Mailer header.", - "x-example": "<MAILER>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "x-example": "<REPLY_TO_EMAIL>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - } - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/telesign": { - "post": { - "summary": "Create Telesign provider", - "operationId": "messagingCreateTelesignProvider", + "\/locale\/codes": { + "get": { + "summary": "List locale codes", + "operationId": "localeListCodes", "tags": [ - "messaging" + "locale" ], - "description": "Create a new Telesign provider.", + "description": "List of all locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes).", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Locale codes list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/localeCodeList" } } } @@ -34927,23 +34653,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTelesignProvider", - "group": "providers", - "weight": 123, + "method": "listCodes", + "group": null, + "weight": 50, "cookies": false, "type": "", - "demo": "messaging\/create-telesign-provider.md", + "demo": "locale\/list-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -34951,73 +34679,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone" - }, - "customerId": { - "type": "string", - "description": "Telesign customer ID.", - "x-example": "<CUSTOMER_ID>" - }, - "apiKey": { - "type": "string", - "description": "Telesign API key.", - "x-example": "<API_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/telesign\/{providerId}": { - "patch": { - "summary": "Update Telesign provider", - "operationId": "messagingUpdateTelesignProvider", + "\/locale\/continents": { + "get": { + "summary": "List continents", + "operationId": "localeListContinents", "tags": [ - "messaging" + "locale" ], - "description": "Update a Telesign provider by its unique ID.", + "description": "List of all continents. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Provider", + "description": "Continents List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/continentList" } } } @@ -35025,23 +34708,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTelesignProvider", - "group": "providers", - "weight": 137, + "method": "listContinents", + "group": null, + "weight": 54, "cookies": false, "type": "", - "demo": "messaging\/update-telesign-provider.md", + "demo": "locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -35049,75 +34734,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "customerId": { - "type": "string", - "description": "Telesign customer ID.", - "x-example": "<CUSTOMER_ID>" - }, - "apiKey": { - "type": "string", - "description": "Telesign API key.", - "x-example": "<API_KEY>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "x-example": "<FROM>" - } - } - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/textmagic": { - "post": { - "summary": "Create Textmagic provider", - "operationId": "messagingCreateTextmagicProvider", + "\/locale\/countries": { + "get": { + "summary": "List countries", + "operationId": "localeListCountries", "tags": [ - "messaging" + "locale" ], - "description": "Create a new Textmagic provider.", + "description": "List of all countries. You can use the locale header to get the data in a supported language.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Countries List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/countryList" } } } @@ -35125,23 +34763,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTextmagicProvider", - "group": "providers", - "weight": 124, + "method": "listCountries", + "group": null, + "weight": 51, "cookies": false, "type": "", - "demo": "messaging\/create-textmagic-provider.md", + "demo": "locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -35149,73 +34789,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone" - }, - "username": { - "type": "string", - "description": "Textmagic username.", - "x-example": "<USERNAME>" - }, - "apiKey": { - "type": "string", - "description": "Textmagic apiKey.", - "x-example": "<API_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/textmagic\/{providerId}": { - "patch": { - "summary": "Update Textmagic provider", - "operationId": "messagingUpdateTextmagicProvider", + "\/locale\/countries\/eu": { + "get": { + "summary": "List EU countries", + "operationId": "localeListCountriesEU", "tags": [ - "messaging" + "locale" ], - "description": "Update a Textmagic provider by its unique ID.", + "description": "List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Provider", + "description": "Countries List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/countryList" } } } @@ -35223,23 +34818,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTextmagicProvider", - "group": "providers", - "weight": 138, + "method": "listCountriesEU", + "group": null, + "weight": 52, "cookies": false, "type": "", - "demo": "messaging\/update-textmagic-provider.md", + "demo": "locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -35247,75 +34844,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "username": { - "type": "string", - "description": "Textmagic username.", - "x-example": "<USERNAME>" - }, - "apiKey": { - "type": "string", - "description": "Textmagic apiKey.", - "x-example": "<API_KEY>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "x-example": "<FROM>" - } - } - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/twilio": { - "post": { - "summary": "Create Twilio provider", - "operationId": "messagingCreateTwilioProvider", + "\/locale\/countries\/phones": { + "get": { + "summary": "List countries phone codes", + "operationId": "localeListCountriesPhones", "tags": [ - "messaging" + "locale" ], - "description": "Create a new Twilio provider.", + "description": "List of all countries phone codes. You can use the locale header to get the data in a supported language.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Phones List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/phoneList" } } } @@ -35323,23 +34873,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTwilioProvider", - "group": "providers", - "weight": 125, + "method": "listCountriesPhones", + "group": null, + "weight": 53, "cookies": false, "type": "", - "demo": "messaging\/create-twilio-provider.md", + "demo": "locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -35347,73 +34899,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone" - }, - "accountSid": { - "type": "string", - "description": "Twilio account secret ID.", - "x-example": "<ACCOUNT_SID>" - }, - "authToken": { - "type": "string", - "description": "Twilio authentication token.", - "x-example": "<AUTH_TOKEN>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/twilio\/{providerId}": { - "patch": { - "summary": "Update Twilio provider", - "operationId": "messagingUpdateTwilioProvider", + "\/locale\/currencies": { + "get": { + "summary": "List currencies", + "operationId": "localeListCurrencies", "tags": [ - "messaging" + "locale" ], - "description": "Update a Twilio provider by its unique ID.", + "description": "List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Provider", + "description": "Currencies List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/currencyList" } } } @@ -35421,23 +34928,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTwilioProvider", - "group": "providers", - "weight": 139, + "method": "listCurrencies", + "group": null, + "weight": 55, "cookies": false, "type": "", - "demo": "messaging\/update-twilio-provider.md", + "demo": "locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -35445,75 +34954,28 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true - }, - "accountSid": { - "type": "string", - "description": "Twilio account secret ID.", - "x-example": "<ACCOUNT_SID>" - }, - "authToken": { - "type": "string", - "description": "Twilio authentication token.", - "x-example": "<AUTH_TOKEN>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "x-example": "<FROM>" - } - } - } - } + "Session": [], + "Key": [], + "JWT": [] } - } + ] } }, - "\/messaging\/providers\/vonage": { - "post": { - "summary": "Create Vonage provider", - "operationId": "messagingCreateVonageProvider", + "\/locale\/languages": { + "get": { + "summary": "List languages", + "operationId": "localeListLanguages", "tags": [ - "messaging" + "locale" ], - "description": "Create a new Vonage provider.", + "description": "List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Languages List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/languageList" } } } @@ -35521,23 +34983,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVonageProvider", - "group": "providers", - "weight": 126, + "method": "listLanguages", + "group": null, + "weight": 56, "cookies": false, "type": "", - "demo": "messaging\/create-vonage-provider.md", + "demo": "locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "locale.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -35545,73 +35009,120 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } + ] + } + }, + "\/manager\/blocks": { + "post": { + "summary": "Create a new resource block for a project", + "operationId": "managerCreateBlock", + "tags": [ + "manager" ], + "description": "Creates a new resource block.", + "responses": { + "201": { + "description": "Block", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/block" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createBlock", + "group": null, + "weight": 1048, + "cookies": false, + "type": "", + "demo": "manager\/create-block.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "", + "platforms": [ + "console" + ], + "packaging": false, + "public": true + }, "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "providerId": { + "projectId": { "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PROVIDER_ID>" + "description": "Project ID", + "x-example": "<PROJECT_ID>" }, - "name": { + "resourceType": { "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" + "description": "Resource type to block (e.g., projects, functions, databases, storage, etc.)", + "x-example": "projects", + "enum": [ + "projects", + "functions", + "sites", + "databases", + "buckets", + "providers", + "topics", + "subscribers", + "messages" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "from": { + "resourceId": { "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone" + "description": "Optional resource ID (if omitted, all resources of this type will be blocked)", + "x-example": "<RESOURCE_ID>" }, - "apiKey": { + "reason": { "type": "string", - "description": "Vonage API key.", - "x-example": "<API_KEY>" + "description": "Optional reason why the resource is blocked", + "x-example": "<REASON>" }, - "apiSecret": { + "expiredAt": { "type": "string", - "description": "Vonage API secret.", - "x-example": "<API_SECRET>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true + "description": "Optional expiration date for the block", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" } }, "required": [ - "providerId", - "name" + "projectId", + "resourceType" ] } } } } - } - }, - "\/messaging\/providers\/vonage\/{providerId}": { - "patch": { - "summary": "Update Vonage provider", - "operationId": "messagingUpdateVonageProvider", + }, + "delete": { + "summary": "Delete resource blocks for a project", + "operationId": "managerDeleteBlock", "tags": [ - "messaging" + "manager" ], - "description": "Update a Vonage provider by its unique ID.", + "description": "Deletes resource blocks for a project.", "responses": { "200": { - "description": "Provider", + "description": "BlockDelete", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/blockDelete" } } } @@ -35619,99 +35130,82 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateVonageProvider", - "group": "providers", - "weight": 140, + "method": "deleteBlock", + "group": null, + "weight": 1050, "cookies": false, "type": "", - "demo": "messaging\/update-vonage-provider.md", + "demo": "manager\/delete-block.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "", "platforms": [ - "console", - "server" + "console" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", - "auth": { - "Project": [] - } + "public": true }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { + "projectId": { "type": "string", - "description": "Provider name.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "x-example": false, - "x-nullable": true + "description": "Project ID", + "x-example": "<PROJECT_ID>" }, - "apiKey": { + "resourceType": { "type": "string", - "description": "Vonage API key.", - "x-example": "<API_KEY>" - }, - "apiSecret": { - "type": "string", - "description": "Vonage API secret.", - "x-example": "<API_SECRET>" + "description": "Resource type to unblock", + "x-example": "projects", + "enum": [ + "projects", + "functions", + "sites", + "databases", + "buckets", + "providers", + "topics", + "subscribers", + "messages" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "from": { + "resourceId": { "type": "string", - "description": "Sender number.", - "x-example": "<FROM>" + "description": "Optional resource ID (if omitted, all blocks of this type will be removed)", + "x-example": "<RESOURCE_ID>" } - } + }, + "required": [ + "projectId", + "resourceType" + ] } } } } } }, - "\/messaging\/providers\/{providerId}": { + "\/manager\/blocks\/{projectId}": { "get": { - "summary": "Get provider", - "operationId": "messagingGetProvider", + "summary": "List all resource blocks for a project", + "operationId": "managerListBlocks", "tags": [ - "messaging" + "manager" ], - "description": "Get a provider by its unique ID.\n", + "description": "Lists all resource blocks for a project.", "responses": { "200": { - "description": "Provider", + "description": "Blocks list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/provider" + "$ref": "#\/components\/schemas\/blockList" } } } @@ -35719,116 +35213,51 @@ }, "deprecated": false, "x-appwrite": { - "method": "getProvider", - "group": "providers", - "weight": 131, - "cookies": false, - "type": "", - "demo": "messaging\/get-provider.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - } - ] - }, - "delete": { - "summary": "Delete provider", - "operationId": "messagingDeleteProvider", - "tags": [ - "messaging" - ], - "description": "Delete a provider by its unique ID.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteProvider", - "group": "providers", - "weight": 143, + "method": "listBlocks", + "group": null, + "weight": 1049, "cookies": false, "type": "", - "demo": "messaging\/delete-provider.md", + "demo": "manager\/list-blocks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "", "platforms": [ - "console", - "server" + "console" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", - "auth": { - "Project": [] - } + "public": true }, - "security": [ - { - "Project": [], - "Key": [] - } - ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", + "name": "projectId", + "description": "Project ID", "required": true, "schema": { "type": "string", - "x-example": "<PROVIDER_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" } ] } }, - "\/messaging\/providers\/{providerId}\/logs": { - "get": { - "summary": "List provider logs", - "operationId": "messagingListProviderLogs", + "\/manager\/users\/status": { + "patch": { + "summary": "Update a user status by ID or email", + "operationId": "managerUpdateUserStatus", "tags": [ - "messaging" + "manager" ], - "description": "Get the provider activity logs listed by its unique ID.", + "description": "Updates a console user status using a user ID or email address.", "responses": { "200": { - "description": "Logs List", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/user" } } } @@ -35836,173 +35265,73 @@ }, "deprecated": false, "x-appwrite": { - "method": "listProviderLogs", - "group": "providers", - "weight": 130, + "method": "updateUserStatus", + "group": "users", + "weight": 1051, "cookies": false, "type": "", - "demo": "messaging\/list-provider-logs.md", + "demo": "manager\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", + "scope": "", "platforms": [ - "console", - "server" + "console" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", - "auth": { - "Project": [] - } + "public": true }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - } - ] - } - }, - "\/messaging\/subscribers\/{subscriberId}\/logs": { - "get": { - "summary": "List subscriber logs", - "operationId": "messagingListSubscriberLogs", - "tags": [ - "messaging" - ], - "description": "Get the subscriber activity logs listed by its unique ID.", - "responses": { - "200": { - "description": "Logs List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/logList" - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email address.", + "x-example": "<EMAIL>" + }, + "status": { + "type": "boolean", + "description": "User status. Set to `false` to block and `true` to unblock.", + "x-example": false + }, + "reason": { + "type": "string", + "description": "Optional reason when blocking a user. Accepted for parity with the CLI task but not persisted.", + "x-example": "<REASON>" + } + }, + "required": [ + "status" + ] } } } - }, - "deprecated": false, - "x-appwrite": { - "method": "listSubscriberLogs", - "group": "subscribers", - "weight": 152, - "cookies": false, - "type": "", - "demo": "messaging\/list-subscriber-logs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "subscriberId", - "description": "Subscriber ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SUBSCRIBER_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - } - ] + } } }, - "\/messaging\/topics": { + "\/messaging\/messages": { "get": { - "summary": "List topics", - "operationId": "messagingListTopics", + "summary": "List messages", + "operationId": "messagingListMessages", "tags": [ "messaging" ], - "description": "Get a list of all topics from the current Appwrite project.", + "description": "Get a list of all messages from the current Appwrite project.", "responses": { "200": { - "description": "Topic list", + "description": "Message list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/topicList" + "$ref": "#\/components\/schemas\/messageList" } } } @@ -36010,23 +35339,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTopics", - "group": "topics", - "weight": 145, + "method": "listMessages", + "group": "messages", + "weight": 157, "cookies": false, "type": "", - "demo": "messaging\/list-topics.md", + "demo": "messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "messages.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -36040,7 +35369,7 @@ "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, description, emailTotal, smsTotal, pushTotal", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType", "required": false, "schema": { "type": "array", @@ -36074,21 +35403,23 @@ "in": "query" } ] - }, + } + }, + "\/messaging\/messages\/email": { "post": { - "summary": "Create topic", - "operationId": "messagingCreateTopic", + "summary": "Create email", + "operationId": "messagingCreateEmail", "tags": [ "messaging" ], - "description": "Create a new topic.", + "description": "Create a new email message.", "responses": { "201": { - "description": "Topic", + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/topic" + "$ref": "#\/components\/schemas\/message" } } } @@ -36096,23 +35427,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTopic", - "group": "topics", - "weight": 144, + "method": "createEmail", + "group": "messages", + "weight": 154, "cookies": false, "type": "", - "demo": "messaging\/create-topic.md", + "demo": "messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", + "scope": "messages.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -36129,28 +35460,91 @@ "schema": { "type": "object", "properties": { - "topicId": { + "messageId": { "type": "string", - "description": "Topic ID. Choose a custom Topic ID or a new Topic ID.", - "x-example": "<TOPIC_ID>" + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" }, - "name": { + "subject": { "type": "string", - "description": "Topic Name.", - "x-example": "<NAME>" + "description": "Email Subject.", + "x-example": "<SUBJECT>" }, - "subscribe": { + "content": { + "type": "string", + "description": "Email Content.", + "x-example": "<CONTENT>" + }, + "topics": { "type": "array", - "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "x-example": "[\"any\"]", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, "items": { "type": "string" } + }, + "cc": { + "type": "array", + "description": "Array of target IDs to be added as CC.", + "x-example": null, + "items": { + "type": "string" + } + }, + "bcc": { + "type": "array", + "description": "Array of target IDs to be added as BCC.", + "x-example": null, + "items": { + "type": "string" + } + }, + "attachments": { + "type": "array", + "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": null, + "items": { + "type": "string" + } + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false + }, + "html": { + "type": "boolean", + "description": "Is content of type HTML", + "x-example": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } }, "required": [ - "topicId", - "name" + "messageId", + "subject", + "content" ] } } @@ -36158,21 +35552,21 @@ } } }, - "\/messaging\/topics\/{topicId}": { - "get": { - "summary": "Get topic", - "operationId": "messagingGetTopic", + "\/messaging\/messages\/email\/{messageId}": { + "patch": { + "summary": "Update email", + "operationId": "messagingUpdateEmail", "tags": [ "messaging" ], - "description": "Get a topic by its unique ID.\n", + "description": "Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { "200": { - "description": "Topic", + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/topic" + "$ref": "#\/components\/schemas\/message" } } } @@ -36180,23 +35574,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTopic", - "group": "topics", - "weight": 147, + "method": "updateEmail", + "group": "messages", + "weight": 161, "cookies": false, "type": "", - "demo": "messaging\/get-topic.md", + "demo": "messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "messages.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -36209,73 +35603,12 @@ ], "parameters": [ { - "name": "topicId", - "description": "Topic ID.", + "name": "messageId", + "description": "Message ID.", "required": true, "schema": { "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - } - ] - }, - "patch": { - "summary": "Update topic", - "operationId": "messagingUpdateTopic", - "tags": [ - "messaging" - ], - "description": "Update a topic by its unique ID.\n", - "responses": { - "200": { - "description": "Topic", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/topic" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updateTopic", - "group": "topics", - "weight": 148, - "cookies": false, - "type": "", - "demo": "messaging\/update-topic.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" + "x-example": "<MESSAGE_ID>" }, "in": "path" } @@ -36286,16 +35619,86 @@ "schema": { "type": "object", "properties": { - "name": { + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "subject": { "type": "string", - "description": "Topic Name.", - "x-example": "<NAME>", + "description": "Email Subject.", + "x-example": "<SUBJECT>", "x-nullable": true }, - "subscribe": { + "content": { + "type": "string", + "description": "Email Content.", + "x-example": "<CONTENT>", + "x-nullable": true + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "x-nullable": true + }, + "html": { + "type": "boolean", + "description": "Is content of type HTML", + "x-example": false, + "x-nullable": true + }, + "cc": { "type": "array", - "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "x-example": "[\"any\"]", + "description": "Array of target IDs to be added as CC.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "bcc": { + "type": "array", + "description": "Array of target IDs to be added as BCC.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "attachments": { + "type": "array", + "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": null, "items": { "type": "string" }, @@ -36306,77 +35709,23 @@ } } } - }, - "delete": { - "summary": "Delete topic", - "operationId": "messagingDeleteTopic", - "tags": [ - "messaging" - ], - "description": "Delete a topic by its unique ID.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteTopic", - "group": "topics", - "weight": 149, - "cookies": false, - "type": "", - "demo": "messaging\/delete-topic.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - } - ] } }, - "\/messaging\/topics\/{topicId}\/logs": { - "get": { - "summary": "List topic logs", - "operationId": "messagingListTopicLogs", + "\/messaging\/messages\/push": { + "post": { + "summary": "Create push notification", + "operationId": "messagingCreatePush", "tags": [ "messaging" ], - "description": "Get the topic activity logs listed by its unique ID.", + "description": "Create a new push notification.", "responses": { - "200": { - "description": "Logs List", + "201": { + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/message" } } } @@ -36384,23 +35733,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTopicLogs", - "group": "topics", - "weight": 146, + "method": "createPush", + "group": "messages", + "weight": 156, "cookies": false, "type": "", - "demo": "messaging\/list-topic-logs.md", + "demo": "messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "messages.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -36411,155 +35760,151 @@ "Key": [] } ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "messageId": { + "type": "string", + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" + }, + "title": { + "type": "string", + "description": "Title for push notification.", + "x-example": "<TITLE>" + }, + "body": { + "type": "string", + "description": "Body for push notification.", + "x-example": "<BODY>" + }, + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "data": { + "type": "object", + "description": "Additional key-value pair data for push notification.", + "x-example": "{}", + "x-nullable": true + }, + "action": { + "type": "string", + "description": "Action for push notification.", + "x-example": "<ACTION>" + }, + "image": { + "type": "string", + "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": "<ID1:ID2>" + }, + "icon": { + "type": "string", + "description": "Icon for push notification. Available only for Android and Web Platform.", + "x-example": "<ICON>" + }, + "sound": { + "type": "string", + "description": "Sound for push notification. Available only for Android and iOS Platform.", + "x-example": "<SOUND>" + }, + "color": { + "type": "string", + "description": "Color for push notification. Available only for Android Platform.", + "x-example": "<COLOR>" + }, + "tag": { + "type": "string", + "description": "Tag for push notification. Available only for Android Platform.", + "x-example": "<TAG>" + }, + "badge": { + "type": "integer", + "description": "Badge for push notification. Available only for iOS Platform.", + "x-example": null, + "format": "int32" + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "contentAvailable": { + "type": "boolean", + "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", + "x-example": false + }, + "critical": { + "type": "boolean", + "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", + "x-example": false + }, + "priority": { + "type": "string", + "description": "Set the notification priority. \"normal\" will consider device state and may not deliver notifications immediately. \"high\" will always attempt to immediately deliver the notification.", + "x-example": "normal", + "enum": [ + "normal", + "high" + ], + "x-enum-name": "MessagePriority", + "x-enum-keys": [] + } + }, + "required": [ + "messageId" + ] + } + } } - ] + } } }, - "\/messaging\/topics\/{topicId}\/subscribers": { - "get": { - "summary": "List subscribers", - "operationId": "messagingListSubscribers", + "\/messaging\/messages\/push\/{messageId}": { + "patch": { + "summary": "Update push notification", + "operationId": "messagingUpdatePush", "tags": [ "messaging" ], - "description": "Get a list of all subscribers from the current Appwrite project.", + "description": "Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { "200": { - "description": "Subscriber list", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/subscriberList" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listSubscribers", - "group": "subscribers", - "weight": 151, - "cookies": false, - "type": "", - "demo": "messaging\/list-subscribers.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: targetId, topicId, userId, providerType", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - } - ] - }, - "post": { - "summary": "Create subscriber", - "operationId": "messagingCreateSubscriber", - "tags": [ - "messaging" - ], - "description": "Create a new subscriber.", - "responses": { - "201": { - "description": "Subscriber", + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/subscriber" + "$ref": "#\/components\/schemas\/message" } } } @@ -36567,25 +35912,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSubscriber", - "group": "subscribers", - "weight": 150, + "method": "updatePush", + "group": "messages", + "weight": 163, "cookies": false, "type": "", - "demo": "messaging\/create-subscriber.md", + "demo": "messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.write", + "scope": "messages.write", "platforms": [ - "server", - "client", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -36593,19 +35936,17 @@ "security": [ { "Project": [], - "JWT": [], - "Session": [], "Key": [] } ], "parameters": [ { - "name": "topicId", - "description": "Topic ID. The topic ID to subscribe to.", + "name": "messageId", + "description": "Message ID.", "required": true, "schema": { "type": "string", - "x-example": "<TOPIC_ID>" + "x-example": "<MESSAGE_ID>" }, "in": "path" } @@ -36616,66 +35957,247 @@ "schema": { "type": "object", "properties": { - "subscriberId": { - "type": "string", - "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", - "x-example": "<SUBSCRIBER_ID>" - }, - "targetId": { - "type": "string", - "description": "Target ID. The target ID to link to the specified Topic ID.", - "x-example": "<TARGET_ID>" - } - }, - "required": [ - "subscriberId", - "targetId" - ] + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "title": { + "type": "string", + "description": "Title for push notification.", + "x-example": "<TITLE>", + "x-nullable": true + }, + "body": { + "type": "string", + "description": "Body for push notification.", + "x-example": "<BODY>", + "x-nullable": true + }, + "data": { + "type": "object", + "description": "Additional Data for push notification.", + "x-example": "{}", + "x-nullable": true + }, + "action": { + "type": "string", + "description": "Action for push notification.", + "x-example": "<ACTION>", + "x-nullable": true + }, + "image": { + "type": "string", + "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": "<ID1:ID2>", + "x-nullable": true + }, + "icon": { + "type": "string", + "description": "Icon for push notification. Available only for Android and Web platforms.", + "x-example": "<ICON>", + "x-nullable": true + }, + "sound": { + "type": "string", + "description": "Sound for push notification. Available only for Android and iOS platforms.", + "x-example": "<SOUND>", + "x-nullable": true + }, + "color": { + "type": "string", + "description": "Color for push notification. Available only for Android platforms.", + "x-example": "<COLOR>", + "x-nullable": true + }, + "tag": { + "type": "string", + "description": "Tag for push notification. Available only for Android platforms.", + "x-example": "<TAG>", + "x-nullable": true + }, + "badge": { + "type": "integer", + "description": "Badge for push notification. Available only for iOS platforms.", + "x-example": null, + "format": "int32", + "x-nullable": true + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "x-nullable": true + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "contentAvailable": { + "type": "boolean", + "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", + "x-example": false, + "x-nullable": true + }, + "critical": { + "type": "boolean", + "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", + "x-example": false, + "x-nullable": true + }, + "priority": { + "type": "string", + "description": "Set the notification priority. \"normal\" will consider device battery state and may send notifications later. \"high\" will always attempt to immediately deliver the notification.", + "x-example": "normal", + "enum": [ + "normal", + "high" + ], + "x-enum-name": "MessagePriority", + "x-enum-keys": [], + "x-nullable": true + } + } } } } } } }, - "\/messaging\/topics\/{topicId}\/subscribers\/{subscriberId}": { - "get": { - "summary": "Get subscriber", - "operationId": "messagingGetSubscriber", + "\/messaging\/messages\/sms": { + "post": { + "summary": "Create SMS", + "operationId": "messagingCreateSms", "tags": [ "messaging" ], - "description": "Get a subscriber by its unique ID.\n", + "description": "Create a new SMS message.", "responses": { - "200": { - "description": "Subscriber", + "201": { + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/subscriber" + "$ref": "#\/components\/schemas\/message" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getSubscriber", - "group": "subscribers", - "weight": 153, + "method": "createSms", + "group": "messages", + "weight": 155, "cookies": false, "type": "", - "demo": "messaging\/get-subscriber.md", + "demo": "messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", + "scope": "messages.write", "platforms": [ "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMS" + }, + "methods": [ + { + "name": "createSms", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "content", + "topics", + "users", + "targets", + "draft", + "scheduledAt" + ], + "required": [ + "messageId", + "content" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/message" + } + ], + "description": "Create a new SMS message.", + "demo": "messaging\/create-sms.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMS" + } + }, + { + "name": "createSMS", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "content", + "topics", + "users", + "targets", + "draft", + "scheduledAt" + ], + "required": [ + "messageId", + "content" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/message" + } + ], + "description": "Create a new SMS message.", + "demo": "messaging\/create-sms.md", + "public": true + } + ], "auth": { "Project": [] } @@ -36686,62 +36208,176 @@ "Key": [] } ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - }, - { - "name": "subscriberId", - "description": "Subscriber ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SUBSCRIBER_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "messageId": { + "type": "string", + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" + }, + "content": { + "type": "string", + "description": "SMS Content.", + "x-example": "<CONTENT>" + }, + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "items": { + "type": "string" + } + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } + }, + "required": [ + "messageId", + "content" + ] + } + } } - ] - }, - "delete": { - "summary": "Delete subscriber", - "operationId": "messagingDeleteSubscriber", + } + } + }, + "\/messaging\/messages\/sms\/{messageId}": { + "patch": { + "summary": "Update SMS", + "operationId": "messagingUpdateSms", "tags": [ "messaging" ], - "description": "Delete a subscriber by its unique ID.", + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Message", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/message" + } + } + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteSubscriber", - "group": "subscribers", - "weight": 154, + "method": "updateSms", + "group": "messages", + "weight": 162, "cookies": false, "type": "", - "demo": "messaging\/delete-subscriber.md", + "demo": "messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.write", + "scope": "messages.write", "platforms": [ - "server", - "client", "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMS" + }, + "methods": [ + { + "name": "updateSms", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "topics", + "users", + "targets", + "content", + "draft", + "scheduledAt" + ], + "required": [ + "messageId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/message" + } + ], + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "demo": "messaging\/update-sms.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMS" + } + }, + { + "name": "updateSMS", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "topics", + "users", + "targets", + "content", + "draft", + "scheduledAt" + ], + "required": [ + "messageId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/message" + } + ], + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "demo": "messaging\/update-sms.md", + "public": true + } + ], "auth": { "Project": [] } @@ -36749,50 +36385,95 @@ "security": [ { "Project": [], - "JWT": [], - "Session": [], "Key": [] } ], "parameters": [ { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TOPIC_ID>" - }, - "in": "path" - }, - { - "name": "subscriberId", - "description": "Subscriber ID.", + "name": "messageId", + "description": "Message ID.", "required": true, "schema": { "type": "string", - "x-example": "<SUBSCRIBER_ID>" + "x-example": "<MESSAGE_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "items": { + "type": "string" + }, + "x-nullable": true + }, + "content": { + "type": "string", + "description": "Email Content.", + "x-example": "<CONTENT>", + "x-nullable": true + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "x-nullable": true + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } + } + } + } + } + } } }, - "\/migrations": { + "\/messaging\/messages\/{messageId}": { "get": { - "summary": "List migrations", - "operationId": "migrationsList", + "summary": "Get message", + "operationId": "messagingGetMessage", "tags": [ - "migrations" + "messaging" ], - "description": "List all migrations in the current project. This endpoint returns a list of all migrations including their status, progress, and any errors that occurred during the migration process.", + "description": "Get a message by its unique ID.\n", "responses": { "200": { - "description": "Migrations List", + "description": "Message", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migrationList" + "$ref": "#\/components\/schemas\/message" } } } @@ -36800,217 +36481,116 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": null, - "weight": 576, + "method": "getMessage", + "group": "messages", + "weight": 160, "cookies": false, "type": "", - "demo": "migrations\/list.md", + "demo": "messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.read", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, resourceId, resourceType, statusCounters, resourceData, errors", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "messageId", + "description": "Message ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true + "x-example": "<MESSAGE_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/migrations\/appwrite": { - "post": { - "summary": "Create Appwrite migration", - "operationId": "migrationsCreateAppwriteMigration", + }, + "delete": { + "summary": "Delete message", + "operationId": "messagingDelete", "tags": [ - "migrations" + "messaging" ], - "description": "Migrate data from another Appwrite project to your current project. This endpoint allows you to migrate resources like databases, collections, documents, users, and files from an existing Appwrite project. ", + "description": "Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.", "responses": { - "202": { - "description": "Migration", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/migration" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createAppwriteMigration", - "group": null, - "weight": 580, + "method": "delete", + "group": "messages", + "weight": 164, "cookies": false, "type": "", - "demo": "migrations\/create-appwrite-migration.md", + "demo": "messaging\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "team", - "membership", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "documentsdb", - "vectorsdb", - "bucket", - "file", - "function", - "deployment", - "environment-variable", - "provider", - "topic", - "subscriber", - "message", - "site", - "site-deployment", - "site-variable", - "backup-policy" - ], - "x-enum-name": "AppwriteMigrationResource", - "x-enum-keys": [] - } - }, - "endpoint": { - "type": "string", - "description": "Source Appwrite endpoint", - "x-example": "https:\/\/example.com", - "format": "url" - }, - "projectId": { - "type": "string", - "description": "Source Project ID", - "x-example": "<PROJECT_ID>" - }, - "apiKey": { - "type": "string", - "description": "Source API Key", - "x-example": "<API_KEY>" - }, - "onDuplicate": { - "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "x-example": "fail", - "enum": [ - "fail", - "skip", - "overwrite" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "resources", - "endpoint", - "projectId", - "apiKey" - ] - } - } + "parameters": [ + { + "name": "messageId", + "description": "Message ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<MESSAGE_ID>" + }, + "in": "path" } - } + ] } }, - "\/migrations\/appwrite\/report": { + "\/messaging\/messages\/{messageId}\/logs": { "get": { - "summary": "Get Appwrite migration report", - "operationId": "migrationsGetAppwriteReport", + "summary": "List message logs", + "operationId": "messagingListMessageLogs", "tags": [ - "migrations" + "messaging" ], - "description": "Generate a report of the data in an Appwrite project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", + "description": "Get the message activity logs listed by its unique ID.", "responses": { "200": { - "description": "Migration Report", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migrationReport" + "$ref": "#\/components\/schemas\/logList" } } } @@ -37018,123 +36598,86 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAppwriteReport", - "group": null, - "weight": 581, + "method": "listMessageLogs", + "group": "logs", + "weight": 158, "cookies": false, "type": "", - "demo": "migrations\/get-appwrite-report.md", + "demo": "messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "user", - "team", - "membership", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "documentsdb", - "vectorsdb", - "bucket", - "file", - "function", - "deployment", - "environment-variable", - "provider", - "topic", - "subscriber", - "message", - "site", - "site-deployment", - "site-variable", - "backup-policy" - ], - "x-enum-name": "AppwriteMigrationResource", - "x-enum-keys": [] - } - }, - "in": "query" - }, - { - "name": "endpoint", - "description": "Source's Appwrite Endpoint", + "name": "messageId", + "description": "Message ID.", "required": true, "schema": { "type": "string", - "format": "url", - "x-example": "https:\/\/example.com" + "x-example": "<MESSAGE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "projectID", - "description": "Source's Project ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, "in": "query" }, { - "name": "key", - "description": "Source's API Key", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string", - "x-example": "<KEY>" + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] } }, - "\/migrations\/csv\/exports": { - "post": { - "summary": "Export documents to CSV", - "operationId": "migrationsCreateCSVExport", + "\/messaging\/messages\/{messageId}\/targets": { + "get": { + "summary": "List message targets", + "operationId": "messagingListTargets", "tags": [ - "migrations" + "messaging" ], - "description": "Export documents to a CSV file from your Appwrite database. This endpoint allows you to export documents to a CSV file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.", + "description": "Get a list of the targets associated with a message.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Target list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/targetList" } } } @@ -37142,114 +36685,86 @@ }, "deprecated": false, "x-appwrite": { - "method": "createCSVExport", - "group": null, - "weight": 589, + "method": "listTargets", + "group": "messages", + "weight": 159, "cookies": false, "type": "", - "demo": "migrations\/create-csv-export.md", + "demo": "messaging\/list-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", - "x-example": "<ID1:ID2>" - }, - "filename": { - "type": "string", - "description": "The name of the file to be created for the export, excluding the .csv extension.", - "x-example": "<FILENAME>" - }, - "columns": { - "type": "array", - "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", - "x-example": null, - "items": { - "type": "string" - } - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "delimiter": { - "type": "string", - "description": "The character that separates each column value. Default is comma.", - "x-example": "<DELIMITER>" - }, - "enclosure": { - "type": "string", - "description": "The character that encloses each column value. Default is double quotes.", - "x-example": "<ENCLOSURE>" - }, - "escape": { - "type": "string", - "description": "The escape character for the enclosure character. Default is double quotes.", - "x-example": "<ESCAPE>" - }, - "header": { - "type": "boolean", - "description": "Whether to include the header row with column names. Default is true.", - "x-example": false - }, - "notify": { - "type": "boolean", - "description": "Set to true to receive an email when the export is complete. Default is true.", - "x-example": false - } - }, - "required": [ - "resourceId", - "filename" - ] - } - } + "parameters": [ + { + "name": "messageId", + "description": "Message ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<MESSAGE_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] } }, - "\/migrations\/csv\/imports": { - "post": { - "summary": "Import documents from a CSV", - "operationId": "migrationsCreateCSVImport", + "\/messaging\/providers": { + "get": { + "summary": "List providers", + "operationId": "messagingListProviders", "tags": [ - "migrations" + "messaging" ], - "description": "Import documents from a CSV file into your Appwrite database. This endpoint allows you to import documents from a CSV file uploaded to Appwrite Storage bucket.", + "description": "Get a list of all providers from the current Appwrite project.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Provider list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/providerList" } } } @@ -37257,126 +36772,191 @@ }, "deprecated": false, "x-appwrite": { - "method": "createCSVImport", - "group": null, - "weight": 588, + "method": "listProviders", + "group": "providers", + "weight": 128, "cookies": false, "type": "", - "demo": "migrations\/create-csv-import.md", + "demo": "messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "bucketId": { - "type": "string", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "x-example": "<BUCKET_ID>" - }, - "fileId": { - "type": "string", - "description": "File ID.", - "x-example": "<FILE_ID>" - }, - "resourceId": { - "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", - "x-example": "<ID1:ID2>" - }, - "internalFile": { - "type": "boolean", - "description": "Is the file stored in an internal bucket?", - "x-example": false - }, - "onDuplicate": { - "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "x-example": "fail", - "enum": [ - "fail", - "skip", - "overwrite" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "bucketId", - "fileId", - "resourceId" - ] - } - } + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] } }, - "\/migrations\/firebase": { + "\/messaging\/providers\/apns": { "post": { - "summary": "Create Firebase migration", - "operationId": "migrationsCreateFirebaseMigration", + "summary": "Create APNS provider", + "operationId": "messagingCreateApnsProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Migrate data from a Firebase project to your Appwrite project. This endpoint allows you to migrate resources like authentication and other supported services from a Firebase project. ", + "description": "Create a new Apple Push Notification service provider.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createFirebaseMigration", - "group": null, - "weight": 582, + "method": "createApnsProvider", + "group": "providers", + "weight": 127, "cookies": false, "type": "", - "demo": "migrations\/create-firebase-migration.md", + "demo": "messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createAPNSProvider" + }, + "methods": [ + { + "name": "createApnsProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new Apple Push Notification service provider.", + "demo": "messaging\/create-apns-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createAPNSProvider" + } + }, + { + "name": "createAPNSProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new Apple Push Notification service provider.", + "demo": "messaging\/create-apns-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "requestBody": { @@ -37385,37 +36965,51 @@ "schema": { "type": "object", "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "FirebaseMigrationResource", - "x-enum-keys": [] - } + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, - "serviceAccount": { + "name": { "type": "string", - "description": "JSON of the Firebase service account credentials", - "x-example": "<SERVICE_ACCOUNT>" + "description": "Provider name.", + "x-example": "<NAME>" + }, + "authKey": { + "type": "string", + "description": "APNS authentication key.", + "x-example": "<AUTH_KEY>" + }, + "authKeyId": { + "type": "string", + "description": "APNS authentication key ID.", + "x-example": "<AUTH_KEY_ID>" + }, + "teamId": { + "type": "string", + "description": "APNS team ID.", + "x-example": "<TEAM_ID>" + }, + "bundleId": { + "type": "string", + "description": "APNS bundle ID.", + "x-example": "<BUNDLE_ID>" + }, + "sandbox": { + "type": "boolean", + "description": "Use APNS sandbox environment.", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "resources", - "serviceAccount" + "providerId", + "name" ] } } @@ -37423,138 +37017,135 @@ } } }, - "\/migrations\/firebase\/report": { - "get": { - "summary": "Get Firebase migration report", - "operationId": "migrationsGetFirebaseReport", + "\/messaging\/providers\/apns\/{providerId}": { + "patch": { + "summary": "Update APNS provider", + "operationId": "messagingUpdateApnsProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Generate a report of the data in a Firebase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", + "description": "Update a Apple Push Notification service provider by its unique ID.", "responses": { "200": { - "description": "Migration Report", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migrationReport" + "$ref": "#\/components\/schemas\/provider" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getFirebaseReport", - "group": null, - "weight": 583, + "method": "updateApnsProvider", + "group": "providers", + "weight": 141, "cookies": false, "type": "", - "demo": "migrations\/get-firebase-report.md", + "demo": "messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateAPNSProvider" + }, + "methods": [ + { + "name": "updateApnsProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a Apple Push Notification service provider by its unique ID.", + "demo": "messaging\/update-apns-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateAPNSProvider" + } + }, + { + "name": "updateAPNSProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a Apple Push Notification service provider by its unique ID.", + "demo": "messaging\/update-apns-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "FirebaseMigrationResource", - "x-enum-keys": [] - } - }, - "in": "query" - }, - { - "name": "serviceAccount", - "description": "JSON of the Firebase service account credentials", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<SERVICE_ACCOUNT>" + "x-example": "<PROVIDER_ID>" }, - "in": "query" - } - ] - } - }, - "\/migrations\/json\/exports": { - "post": { - "summary": "Export documents to JSON", - "operationId": "migrationsCreateJSONExport", - "tags": [ - "migrations" - ], - "description": "Export documents to a JSON file from your Appwrite database. This endpoint allows you to export documents to a JSON file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.\n", - "responses": { - "202": { - "description": "Migration", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/migration" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createJSONExport", - "group": null, - "weight": 591, - "cookies": false, - "type": "", - "demo": "migrations\/create-json-export.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-export.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] + "in": "path" } ], "requestBody": { @@ -37563,138 +37154,195 @@ "schema": { "type": "object", "properties": { - "resourceId": { + "name": { "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", - "x-example": "<ID1:ID2>" + "description": "Provider name.", + "x-example": "<NAME>" }, - "filename": { + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "authKey": { "type": "string", - "description": "The name of the file to be created for the export, excluding the .json extension.", - "x-example": "<FILENAME>" + "description": "APNS authentication key.", + "x-example": "<AUTH_KEY>" }, - "columns": { - "type": "array", - "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", - "x-example": null, - "items": { - "type": "string" - } + "authKeyId": { + "type": "string", + "description": "APNS authentication key ID.", + "x-example": "<AUTH_KEY_ID>" }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "teamId": { + "type": "string", + "description": "APNS team ID.", + "x-example": "<TEAM_ID>" }, - "notify": { + "bundleId": { + "type": "string", + "description": "APNS bundle ID.", + "x-example": "<BUNDLE_ID>" + }, + "sandbox": { "type": "boolean", - "description": "Set to true to receive an email when the export is complete. Default is true.", - "x-example": false + "description": "Use APNS sandbox environment.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "resourceId", - "filename" - ] + } } } } } } }, - "\/migrations\/json\/imports": { + "\/messaging\/providers\/fcm": { "post": { - "summary": "Import documents from a JSON", - "operationId": "migrationsCreateJSONImport", + "summary": "Create FCM provider", + "operationId": "messagingCreateFcmProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Import documents from a JSON file into your Appwrite database. This endpoint allows you to import documents from a JSON file uploaded to Appwrite Storage bucket.\n", + "description": "Create a new Firebase Cloud Messaging provider.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createJSONImport", - "group": null, - "weight": 590, + "method": "createFcmProvider", + "group": "providers", + "weight": 126, "cookies": false, "type": "", - "demo": "migrations\/create-json-import.md", + "demo": "messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-import.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "bucketId": { + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createFCMProvider" + }, + "methods": [ + { + "name": "createFcmProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "serviceAccountJSON", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new Firebase Cloud Messaging provider.", + "demo": "messaging\/create-fcm-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createFCMProvider" + } + }, + { + "name": "createFCMProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "serviceAccountJSON", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new Firebase Cloud Messaging provider.", + "demo": "messaging\/create-fcm-provider.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { "type": "string", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "x-example": "<BUCKET_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, - "fileId": { + "name": { "type": "string", - "description": "File ID.", - "x-example": "<FILE_ID>" + "description": "Provider name.", + "x-example": "<NAME>" }, - "resourceId": { - "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", - "x-example": "<ID1:ID2>" + "serviceAccountJSON": { + "type": "object", + "description": "FCM service account JSON.", + "x-example": "{}", + "x-nullable": true }, - "internalFile": { + "enabled": { "type": "boolean", - "description": "Is the file stored in an internal bucket?", - "x-example": false - }, - "onDuplicate": { - "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "x-example": "fail", - "enum": [ - "fail", - "skip", - "overwrite" - ], - "x-enum-name": null, - "x-enum-keys": [] + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "bucketId", - "fileId", - "resourceId" + "providerId", + "name" ] } } @@ -37702,21 +37350,174 @@ } } }, - "\/migrations\/nhost": { + "\/messaging\/providers\/fcm\/{providerId}": { + "patch": { + "summary": "Update FCM provider", + "operationId": "messagingUpdateFcmProvider", + "tags": [ + "messaging" + ], + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "responses": { + "200": { + "description": "Provider", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/provider" + } + } + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "updateFcmProvider", + "group": "providers", + "weight": 140, + "cookies": false, + "type": "", + "demo": "messaging\/update-fcm-provider.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "providers.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateFCMProvider" + }, + "methods": [ + { + "name": "updateFcmProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "serviceAccountJSON" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "demo": "messaging\/update-fcm-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateFCMProvider" + } + }, + { + "name": "updateFCMProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "serviceAccountJSON" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "demo": "messaging\/update-fcm-provider.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "providerId", + "description": "Provider ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PROVIDER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "serviceAccountJSON": { + "type": "object", + "description": "FCM service account JSON.", + "x-example": "{}", + "x-nullable": true + } + } + } + } + } + } + } + }, + "\/messaging\/providers\/mailgun": { "post": { - "summary": "Create NHost migration", - "operationId": "migrationsCreateNHostMigration", + "summary": "Create Mailgun provider", + "operationId": "messagingCreateMailgunProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Migrate data from an NHost project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from an NHost project. ", + "description": "Create a new Mailgun provider.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } @@ -37724,29 +37525,31 @@ }, "deprecated": false, "x-appwrite": { - "method": "createNHostMigration", - "group": null, - "weight": 586, + "method": "createMailgunProvider", + "group": "providers", + "weight": 117, "cookies": false, "type": "", - "demo": "migrations\/create-n-host-migration.md", + "demo": "messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "requestBody": { @@ -37755,74 +37558,64 @@ "schema": { "type": "object", "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "NHostMigrationResource", - "x-enum-keys": [] - } + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, - "subdomain": { + "name": { "type": "string", - "description": "Source's Subdomain", - "x-example": "<SUBDOMAIN>" + "description": "Provider name.", + "x-example": "<NAME>" }, - "region": { + "apiKey": { "type": "string", - "description": "Source's Region", - "x-example": "<REGION>" + "description": "Mailgun API Key.", + "x-example": "<API_KEY>" }, - "adminSecret": { + "domain": { "type": "string", - "description": "Source's Admin Secret", - "x-example": "<ADMIN_SECRET>" + "description": "Mailgun Domain.", + "x-example": "<DOMAIN>" }, - "database": { + "isEuRegion": { + "type": "boolean", + "description": "Set as EU region.", + "x-example": false, + "x-nullable": true + }, + "fromName": { "type": "string", - "description": "Source's Database Name", - "x-example": "<DATABASE>" + "description": "Sender Name.", + "x-example": "<FROM_NAME>" }, - "username": { + "fromEmail": { "type": "string", - "description": "Source's Database Username", - "x-example": "<USERNAME>" + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" }, - "password": { + "replyToName": { "type": "string", - "description": "Source's Database Password", - "x-example": "<PASSWORD>" + "description": "Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.", + "x-example": "<REPLY_TO_NAME>" }, - "port": { - "type": "integer", - "description": "Source's Database Port", - "x-example": null, - "format": "int32" + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.", + "x-example": "email@example.com", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "resources", - "subdomain", - "region", - "adminSecret", - "database", - "username", - "password" + "providerId", + "name" ] } } @@ -37830,21 +37623,21 @@ } } }, - "\/migrations\/nhost\/report": { - "get": { - "summary": "Get NHost migration report", - "operationId": "migrationsGetNHostReport", + "\/messaging\/providers\/mailgun\/{providerId}": { + "patch": { + "summary": "Update Mailgun provider", + "operationId": "messagingUpdateMailgunProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Generate a detailed report of the data in an NHost project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", + "description": "Update a Mailgun provider by its unique ID.", "responses": { "200": { - "description": "Migration Report", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migrationReport" + "$ref": "#\/components\/schemas\/provider" } } } @@ -37852,148 +37645,121 @@ }, "deprecated": false, "x-appwrite": { - "method": "getNHostReport", - "group": null, - "weight": 587, + "method": "updateMailgunProvider", + "group": "providers", + "weight": 131, "cookies": false, "type": "", - "demo": "migrations\/get-n-host-report.md", + "demo": "messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate.", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "NHostMigrationResource", - "x-enum-keys": [] - } - }, - "in": "query" - }, - { - "name": "subdomain", - "description": "Source's Subdomain.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SUBDOMAIN>" - }, - "in": "query" - }, - { - "name": "region", - "description": "Source's Region.", - "required": true, - "schema": { - "type": "string", - "x-example": "<REGION>" - }, - "in": "query" - }, - { - "name": "adminSecret", - "description": "Source's Admin Secret.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ADMIN_SECRET>" - }, - "in": "query" - }, - { - "name": "database", - "description": "Source's Database Name.", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE>" + "x-example": "<PROVIDER_ID>" }, - "in": "query" - }, - { - "name": "username", - "description": "Source's Database Username.", - "required": true, - "schema": { - "type": "string", - "x-example": "<USERNAME>" - }, - "in": "query" - }, - { - "name": "password", - "description": "Source's Database Password.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PASSWORD>" - }, - "in": "query" - }, - { - "name": "port", - "description": "Source's Database Port.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 5432 - }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "apiKey": { + "type": "string", + "description": "Mailgun API Key.", + "x-example": "<API_KEY>" + }, + "domain": { + "type": "string", + "description": "Mailgun Domain.", + "x-example": "<DOMAIN>" + }, + "isEuRegion": { + "type": "boolean", + "description": "Set as EU region.", + "x-example": false, + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "<REPLY_TO_EMAIL>" + } + } + } + } + } + } } }, - "\/migrations\/supabase": { + "\/messaging\/providers\/msg91": { "post": { - "summary": "Create Supabase migration", - "operationId": "migrationsCreateSupabaseMigration", + "summary": "Create Msg91 provider", + "operationId": "messagingCreateMsg91Provider", "tags": [ - "migrations" + "messaging" ], - "description": "Migrate data from a Supabase project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from a Supabase project. ", + "description": "Create a new MSG91 provider.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38001,29 +37767,31 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSupabaseMigration", - "group": null, - "weight": 584, + "method": "createMsg91Provider", + "group": "providers", + "weight": 121, "cookies": false, "type": "", - "demo": "migrations\/create-supabase-migration.md", + "demo": "messaging\/create-msg-91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "requestBody": { @@ -38032,69 +37800,41 @@ "schema": { "type": "object", "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "SupabaseMigrationResource", - "x-enum-keys": [] - } - }, - "endpoint": { + "providerId": { "type": "string", - "description": "Source's Supabase Endpoint", - "x-example": "https:\/\/example.com", - "format": "url" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, - "apiKey": { + "name": { "type": "string", - "description": "Source's API Key", - "x-example": "<API_KEY>" + "description": "Provider name.", + "x-example": "<NAME>" }, - "databaseHost": { + "templateId": { "type": "string", - "description": "Source's Database Host", - "x-example": "<DATABASE_HOST>" + "description": "Msg91 template ID", + "x-example": "<TEMPLATE_ID>" }, - "username": { + "senderId": { "type": "string", - "description": "Source's Database Username", - "x-example": "<USERNAME>" + "description": "Msg91 sender ID.", + "x-example": "<SENDER_ID>" }, - "password": { + "authKey": { "type": "string", - "description": "Source's Database Password", - "x-example": "<PASSWORD>" + "description": "Msg91 auth key.", + "x-example": "<AUTH_KEY>" }, - "port": { - "type": "integer", - "description": "Source's Database Port", - "x-example": null, - "format": "int32" + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "resources", - "endpoint", - "apiKey", - "databaseHost", - "username", - "password" + "providerId", + "name" ] } } @@ -38102,21 +37842,21 @@ } } }, - "\/migrations\/supabase\/report": { - "get": { - "summary": "Get Supabase migration report", - "operationId": "migrationsGetSupabaseReport", + "\/messaging\/providers\/msg91\/{providerId}": { + "patch": { + "summary": "Update Msg91 provider", + "operationId": "messagingUpdateMsg91Provider", "tags": [ - "migrations" + "messaging" ], - "description": "Generate a report of the data in a Supabase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", + "description": "Update a MSG91 provider by its unique ID.", "responses": { "200": { - "description": "Migration Report", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migrationReport" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38124,139 +37864,99 @@ }, "deprecated": false, "x-appwrite": { - "method": "getSupabaseReport", - "group": null, - "weight": 585, + "method": "updateMsg91Provider", + "group": "providers", + "weight": 135, "cookies": false, "type": "", - "demo": "migrations\/get-supabase-report.md", + "demo": "messaging\/update-msg-91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "SupabaseMigrationResource", - "x-enum-keys": [] - } - }, - "in": "query" - }, - { - "name": "endpoint", - "description": "Source's Supabase Endpoint.", - "required": true, - "schema": { - "type": "string", - "format": "url", - "x-example": "https:\/\/example.com" - }, - "in": "query" - }, - { - "name": "apiKey", - "description": "Source's API Key.", - "required": true, - "schema": { - "type": "string", - "x-example": "<API_KEY>" - }, - "in": "query" - }, - { - "name": "databaseHost", - "description": "Source's Database Host.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_HOST>" - }, - "in": "query" - }, - { - "name": "username", - "description": "Source's Database Username.", - "required": true, - "schema": { - "type": "string", - "x-example": "<USERNAME>" - }, - "in": "query" - }, - { - "name": "password", - "description": "Source's Database Password.", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<PASSWORD>" - }, - "in": "query" - }, - { - "name": "port", - "description": "Source's Database Port.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 5432 + "x-example": "<PROVIDER_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "templateId": { + "type": "string", + "description": "Msg91 template ID.", + "x-example": "<TEMPLATE_ID>" + }, + "senderId": { + "type": "string", + "description": "Msg91 sender ID.", + "x-example": "<SENDER_ID>" + }, + "authKey": { + "type": "string", + "description": "Msg91 auth key.", + "x-example": "<AUTH_KEY>" + } + } + } + } + } + } } }, - "\/migrations\/{migrationId}": { - "get": { - "summary": "Get migration", - "operationId": "migrationsGet", + "\/messaging\/providers\/resend": { + "post": { + "summary": "Create Resend provider", + "operationId": "messagingCreateResendProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Get a migration by its unique ID. This endpoint returns detailed information about a specific migration including its current status, progress, and any errors that occurred during the migration process. ", + "description": "Create a new Resend provider.", "responses": { - "200": { - "description": "Migration", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38264,58 +37964,108 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": null, - "weight": 577, + "method": "createResendProvider", + "group": "providers", + "weight": 119, "cookies": false, "type": "", - "demo": "migrations\/get.md", + "demo": "messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "migrationId", - "description": "Migration unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<MIGRATION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "apiKey": { + "type": "string", + "description": "Resend API key.", + "x-example": "<API_KEY>" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } + } } - ] - }, + } + } + }, + "\/messaging\/providers\/resend\/{providerId}": { "patch": { - "summary": "Update retry migration", - "operationId": "migrationsRetry", + "summary": "Update Resend provider", + "operationId": "messagingUpdateResendProvider", "tags": [ - "migrations" + "messaging" ], - "description": "Retry a failed migration. This endpoint allows you to retry a migration that has previously failed.", + "description": "Update a Resend provider by its unique ID.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/migration" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38323,192 +38073,110 @@ }, "deprecated": false, "x-appwrite": { - "method": "retry", - "group": null, - "weight": 578, + "method": "updateResendProvider", + "group": "providers", + "weight": 133, "cookies": false, "type": "", - "demo": "migrations\/retry.md", + "demo": "messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "migrationId", - "description": "Migration unique ID.", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<MIGRATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete migration", - "operationId": "migrationsDelete", - "tags": [ - "migrations" ], - "description": "Delete a migration by its unique ID. This endpoint allows you to remove a migration from your project's migration history. ", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "delete", - "group": null, - "weight": 579, - "cookies": false, - "type": "", - "demo": "migrations\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "migrationId", - "description": "Migration ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<MIGRATION_ID>" - }, - "in": "path" - } - ] - } - }, - "\/organizations": { - "get": { - "summary": "List Orgnizations", - "operationId": "organizationsList", - "tags": [ - "organizations" - ], - "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", - "responses": { - "200": { - "description": "Organizations list", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/organizationList" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "apiKey": { + "type": "string", + "description": "Resend API key.", + "x-example": "<API_KEY>" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>" + } } } } } - }, - "deprecated": false, - "x-appwrite": { - "method": "list", - "group": null, - "weight": 998, - "cookies": false, - "type": "", - "demo": "organizations\/list.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan, paymentMethodId, backupPaymentMethodId, platform", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - } - ] - }, + } + } + }, + "\/messaging\/providers\/sendgrid": { "post": { - "summary": "Create Organization", - "operationId": "organizationsCreate", + "summary": "Create Sendgrid provider", + "operationId": "messagingCreateSendgridProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Create a new organization.\n", + "description": "Create a new Sendgrid provider.", "responses": { "201": { - "description": "Organization, or PaymentAuthentication", + "description": "Provider", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/organization" - }, - { - "$ref": "#\/components\/schemas\/paymentAuthentication" - } - ] + "$ref": "#\/components\/schemas\/provider" } } } @@ -38516,29 +38184,31 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": null, - "weight": 997, + "method": "createSendgridProvider", + "group": "providers", + "weight": 118, "cookies": false, "type": "", - "demo": "organizations\/create.md", - "rate-limit": 10, + "demo": "messaging\/create-sendgrid-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "requestBody": { @@ -38547,76 +38217,53 @@ "schema": { "type": "object", "properties": { - "organizationId": { + "providerId": { "type": "string", - "description": "Organization ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<ORGANIZATION_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", - "description": "Organization name. Max length: 128 chars.", + "description": "Provider name.", "x-example": "<NAME>" }, - "billingPlan": { + "apiKey": { "type": "string", - "description": "Organization billing plan chosen", - "x-example": "tier-0" + "description": "Sendgrid API key.", + "x-example": "<API_KEY>" }, - "paymentMethodId": { + "fromName": { "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "x-example": "<PAYMENT_METHOD_ID>", - "x-nullable": true + "description": "Sender Name.", + "x-example": "<FROM_NAME>" }, - "billingAddressId": { + "fromEmail": { "type": "string", - "description": "Unique ID of billing address", - "x-example": "<BILLING_ADDRESS_ID>", - "x-nullable": true - }, - "invites": { - "type": "array", - "description": "Additional member invites", - "x-example": null, - "items": { - "type": "string" - } + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" }, - "couponId": { + "replyToName": { "type": "string", - "description": "Coupon id", - "x-example": "<COUPON_ID>", - "x-nullable": true + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>" }, - "taxId": { + "replyToEmail": { "type": "string", - "description": "Tax Id associated to billing.", - "x-example": "<TAX_ID>", - "x-nullable": true + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "format": "email" }, - "budget": { - "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "x-example": 0, - "format": "int32", + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, "x-nullable": true - }, - "platform": { - "type": "string", - "description": "Platform type", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [] } }, "required": [ - "organizationId", - "name", - "billingPlan" + "providerId", + "name" ] } } @@ -38624,21 +38271,21 @@ } } }, - "\/organizations\/estimations\/create-organization": { + "\/messaging\/providers\/sendgrid\/{providerId}": { "patch": { - "summary": "Estimate create Organization", - "operationId": "organizationsEstimationCreateOrganization", + "summary": "Update Sendgrid provider", + "operationId": "messagingUpdateSendgridProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get estimation for creating an organization.", + "description": "Update a Sendgrid provider by its unique ID.", "responses": { "200": { - "description": "Estimation", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/estimation" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38646,29 +38293,43 @@ }, "deprecated": false, "x-appwrite": { - "method": "estimationCreateOrganization", - "group": null, - "weight": 1032, + "method": "updateSendgridProvider", + "group": "providers", + "weight": 132, "cookies": false, "type": "", - "demo": "organizations\/estimation-create-organization.md", - "rate-limit": 10, + "demo": "messaging\/update-sendgrid-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-create-organization.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "providerId", + "description": "Provider ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PROVIDER_ID>" + }, + "in": "path" } ], "requestBody": { @@ -38677,182 +38338,532 @@ "schema": { "type": "object", "properties": { - "billingPlan": { + "name": { "type": "string", - "description": "Organization billing plan chosen", - "x-example": "tier-0" + "description": "Provider name.", + "x-example": "<NAME>" }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "x-example": "<PAYMENT_METHOD_ID>", + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, "x-nullable": true }, - "invites": { - "type": "array", - "description": "Additional member invites", - "x-example": null, - "items": { - "type": "string" - } + "apiKey": { + "type": "string", + "description": "Sendgrid API key.", + "x-example": "<API_KEY>" }, - "couponId": { + "fromName": { "type": "string", - "description": "Coupon id", - "x-example": "<COUPON_ID>", - "x-nullable": true + "description": "Sender Name.", + "x-example": "<FROM_NAME>" }, - "platform": { + "fromEmail": { "type": "string", - "description": "Platform type", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [] + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>" } - }, - "required": [ - "billingPlan" - ] + } } } } } } }, - "\/organizations\/{organizationId}": { - "delete": { - "summary": "Delete team", - "operationId": "organizationsDelete", + "\/messaging\/providers\/smtp": { + "post": { + "summary": "Create SMTP provider", + "operationId": "messagingCreateSmtpProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Delete an organization.", + "description": "Create a new SMTP provider.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Provider", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/provider" + } + } + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 999, + "method": "createSmtpProvider", + "group": "providers", + "weight": 120, "cookies": false, "type": "", - "demo": "organizations\/delete.md", + "demo": "messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "organizations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMTPProvider" + }, + "methods": [ + { + "name": "createSmtpProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId", + "name", + "host" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new SMTP provider.", + "demo": "messaging\/create-smtp-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMTPProvider" + } + }, + { + "name": "createSMTPProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId", + "name", + "host" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Create a new SMTP provider.", + "demo": "messaging\/create-smtp-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Team ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "host": { + "type": "string", + "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", + "x-example": "<HOST>" + }, + "port": { + "type": "integer", + "description": "The default SMTP server port.", + "x-example": 1, + "format": "int32" + }, + "username": { + "type": "string", + "description": "Authentication username.", + "x-example": "<USERNAME>" + }, + "password": { + "type": "string", + "description": "Authentication password.", + "x-example": "<PASSWORD>" + }, + "encryption": { + "type": "string", + "description": "Encryption type. Can be omitted, 'ssl', or 'tls'", + "x-example": "none", + "enum": [ + "none", + "ssl", + "tls" + ], + "x-enum-name": "SmtpEncryption", + "x-enum-keys": [] + }, + "autoTLS": { + "type": "boolean", + "description": "Enable SMTP AutoTLS feature.", + "x-example": false + }, + "mailer": { + "type": "string", + "description": "The value to use for the X-Mailer header.", + "x-example": "<MAILER>" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name", + "host" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/addons": { - "get": { - "summary": "List addons", - "operationId": "organizationsListAddons", + "\/messaging\/providers\/smtp\/{providerId}": { + "patch": { + "summary": "Update SMTP provider", + "operationId": "messagingUpdateSmtpProvider", "tags": [ - "organizations" + "messaging" ], - "description": "List all billing addons for an organization.\n", + "description": "Update a SMTP provider by its unique ID.", "responses": { "200": { - "description": "Addons list", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/addonList" + "$ref": "#\/components\/schemas\/provider" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listAddons", - "group": null, - "weight": 1040, + "method": "updateSmtpProvider", + "group": "providers", + "weight": 134, "cookies": false, "type": "", - "demo": "organizations\/list-addons.md", + "demo": "messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-addons.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMTPProvider" + }, + "methods": [ + { + "name": "updateSmtpProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a SMTP provider by its unique ID.", + "demo": "messaging\/update-smtp-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMTPProvider" + } + }, + { + "name": "updateSMTPProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/provider" + } + ], + "description": "Update a SMTP provider by its unique ID.", + "demo": "messaging\/update-smtp-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "host": { + "type": "string", + "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", + "x-example": "<HOST>" + }, + "port": { + "type": "integer", + "description": "SMTP port.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "username": { + "type": "string", + "description": "Authentication username.", + "x-example": "<USERNAME>" + }, + "password": { + "type": "string", + "description": "Authentication password.", + "x-example": "<PASSWORD>" + }, + "encryption": { + "type": "string", + "description": "Encryption type. Can be 'ssl' or 'tls'", + "x-example": "none", + "enum": [ + "none", + "ssl", + "tls" + ], + "x-enum-name": "SmtpEncryption", + "x-enum-keys": [] + }, + "autoTLS": { + "type": "boolean", + "description": "Enable SMTP AutoTLS feature.", + "x-example": false, + "x-nullable": true + }, + "mailer": { + "type": "string", + "description": "The value to use for the X-Mailer header.", + "x-example": "<MAILER>" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + } + } + } + } + } } }, - "\/organizations\/{organizationId}\/addons\/baa": { + "\/messaging\/providers\/telesign": { "post": { - "summary": "Create BAA addon", - "operationId": "organizationsCreateBaaAddon", + "summary": "Create Telesign provider", + "operationId": "messagingCreateTelesignProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Create the BAA billing addon for an organization.\n", + "description": "Create a new Telesign provider.", "responses": { "201": { - "description": "Addon", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/addon" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38860,60 +38871,97 @@ }, "deprecated": false, "x-appwrite": { - "method": "createBaaAddon", - "group": null, - "weight": 1043, + "method": "createTelesignProvider", + "group": "providers", + "weight": 122, "cookies": false, "type": "", - "demo": "organizations\/create-baa-addon.md", - "rate-limit": 10, + "demo": "messaging\/create-telesign-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-baa-addon.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone" + }, + "customerId": { + "type": "string", + "description": "Telesign customer ID.", + "x-example": "<CUSTOMER_ID>" + }, + "apiKey": { + "type": "string", + "description": "Telesign API key.", + "x-example": "<API_KEY>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/addons\/{addonId}": { - "get": { - "summary": "Get addon", - "operationId": "organizationsGetAddon", + "\/messaging\/providers\/telesign\/{providerId}": { + "patch": { + "summary": "Update Telesign provider", + "operationId": "messagingUpdateTelesignProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get the details of a billing addon for an organization.\n", + "description": "Update a Telesign provider by its unique ID.", "responses": { "200": { - "description": "Addon", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/addon" + "$ref": "#\/components\/schemas\/provider" } } } @@ -38921,132 +38969,99 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAddon", - "group": null, - "weight": 1041, + "method": "updateTelesignProvider", + "group": "providers", + "weight": 136, "cookies": false, "type": "", - "demo": "organizations\/get-addon.md", + "demo": "messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "addonId", - "description": "Addon ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<ADDON_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete addon", - "operationId": "organizationsDeleteAddon", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "customerId": { + "type": "string", + "description": "Telesign customer ID.", + "x-example": "<CUSTOMER_ID>" + }, + "apiKey": { + "type": "string", + "description": "Telesign API key.", + "x-example": "<API_KEY>" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>" + } + } + } + } + } + } + } + }, + "\/messaging\/providers\/textmagic": { + "post": { + "summary": "Create Textmagic provider", + "operationId": "messagingCreateTextmagicProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Delete a billing addon for an organization.\n", + "description": "Create a new Textmagic provider.", "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteAddon", - "group": null, - "weight": 1044, - "cookies": false, - "type": "", - "demo": "organizations\/delete-addon.md", - "rate-limit": 10, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-addon.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "addonId", - "description": "Addon ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ADDON_ID>" - }, - "in": "path" - } - ] - } - }, - "\/organizations\/{organizationId}\/addons\/{addonId}\/confirmations": { - "post": { - "summary": "Confirm addon payment after 3DS authentication", - "operationId": "organizationsConfirmAddonPayment", - "tags": [ - "organizations" - ], - "description": "Confirm payment for a billing addon for an organization.\n", - "responses": { - "200": { - "description": "Addon", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/addon" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39054,70 +39069,97 @@ }, "deprecated": false, "x-appwrite": { - "method": "confirmAddonPayment", - "group": null, - "weight": 1045, + "method": "createTextmagicProvider", + "group": "providers", + "weight": 123, "cookies": false, "type": "", - "demo": "organizations\/confirm-addon-payment.md", - "rate-limit": 10, + "demo": "messaging\/create-textmagic-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/confirm-addon-payment.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "addonId", - "description": "Addon ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ADDON_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone" + }, + "username": { + "type": "string", + "description": "Textmagic username.", + "x-example": "<USERNAME>" + }, + "apiKey": { + "type": "string", + "description": "Textmagic apiKey.", + "x-example": "<API_KEY>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/addons\/{addon}\/price": { - "get": { - "summary": "Get addon price", - "operationId": "organizationsGetAddonPrice", + "\/messaging\/providers\/textmagic\/{providerId}": { + "patch": { + "summary": "Update Textmagic provider", + "operationId": "messagingUpdateTextmagicProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get the price details for a billing addon for an organization.\n", + "description": "Update a Textmagic provider by its unique ID.", "responses": { "200": { - "description": "AddonPrice", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/addonPrice" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39125,75 +39167,99 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAddonPrice", - "group": null, - "weight": 1042, + "method": "updateTextmagicProvider", + "group": "providers", + "weight": 137, "cookies": false, "type": "", - "demo": "organizations\/get-addon-price.md", + "demo": "messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon-price.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "addon", - "description": "Addon key identifier (e.g. baa).", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "baa", - "enum": [ - "baa" - ], - "x-enum-name": null, - "x-enum-keys": [] + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "username": { + "type": "string", + "description": "Textmagic username.", + "x-example": "<USERNAME>" + }, + "apiKey": { + "type": "string", + "description": "Textmagic apiKey.", + "x-example": "<API_KEY>" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>" + } + } + } + } + } + } } }, - "\/organizations\/{organizationId}\/aggregations": { - "get": { - "summary": "List aggregations", - "operationId": "organizationsListAggregations", + "\/messaging\/providers\/twilio": { + "post": { + "summary": "Create Twilio provider", + "operationId": "messagingCreateTwilioProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get a list of all aggregations for an organization.", + "description": "Create a new Twilio provider.", "responses": { - "200": { - "description": "Aggregation team list", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/aggregationTeamList" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39201,73 +39267,97 @@ }, "deprecated": false, "x-appwrite": { - "method": "listAggregations", - "group": null, - "weight": 1014, + "method": "createTwilioProvider", + "group": "providers", + "weight": 124, "cookies": false, "type": "", - "demo": "organizations\/list-aggregations.md", + "demo": "messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-aggregations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, from, to", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone" + }, + "accountSid": { + "type": "string", + "description": "Twilio account secret ID.", + "x-example": "<ACCOUNT_SID>" + }, + "authToken": { + "type": "string", + "description": "Twilio authentication token.", + "x-example": "<AUTH_TOKEN>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/aggregations\/{aggregationId}": { - "get": { - "summary": "Get aggregation", - "operationId": "organizationsGetAggregation", + "\/messaging\/providers\/twilio\/{providerId}": { + "patch": { + "summary": "Update Twilio provider", + "operationId": "messagingUpdateTwilioProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get a specific aggregation using it's aggregation ID.", + "description": "Update a Twilio provider by its unique ID.", "responses": { "200": { - "description": "AggregationTeam", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/aggregationTeam" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39275,93 +39365,99 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAggregation", - "group": null, - "weight": 1015, + "method": "updateTwilioProvider", + "group": "providers", + "weight": 138, "cookies": false, "type": "", - "demo": "organizations\/get-aggregation.md", + "demo": "messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-aggregation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "aggregationId", - "description": "Invoice unique ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<AGGREGATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" - }, - { - "name": "limit", - "description": "Maximum number of project aggregations to return in response. By default will return maximum 5 results. Maximum of 10 results allowed per request.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 5 - }, - "in": "query" - }, - { - "name": "offset", - "description": "Offset value. The default value is 0. Use this param to manage pagination.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 0 - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "accountSid": { + "type": "string", + "description": "Twilio account secret ID.", + "x-example": "<ACCOUNT_SID>" + }, + "authToken": { + "type": "string", + "description": "Twilio authentication token.", + "x-example": "<AUTH_TOKEN>" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>" + } + } + } + } + } + } } }, - "\/organizations\/{organizationId}\/billing-address": { - "patch": { - "summary": "Set team's billing address", - "operationId": "organizationsSetBillingAddress", + "\/messaging\/providers\/vonage": { + "post": { + "summary": "Create Vonage provider", + "operationId": "messagingCreateVonageProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Set a billing address for an organization.", + "description": "Create a new Vonage provider.", "responses": { - "200": { - "description": "Organization", + "201": { + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39369,41 +39465,31 @@ }, "deprecated": false, "x-appwrite": { - "method": "setBillingAddress", - "group": null, - "weight": 1007, + "method": "createVonageProvider", + "group": "providers", + "weight": 125, "cookies": false, "type": "", - "demo": "organizations\/set-billing-address.md", + "demo": "messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-address.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -39412,88 +39498,164 @@ "schema": { "type": "object", "properties": { - "billingAddressId": { + "providerId": { "type": "string", - "description": "Unique ID of billing address", - "x-example": "<BILLING_ADDRESS_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone" + }, + "apiKey": { + "type": "string", + "description": "Vonage API key.", + "x-example": "<API_KEY>" + }, + "apiSecret": { + "type": "string", + "description": "Vonage API secret.", + "x-example": "<API_SECRET>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "billingAddressId" + "providerId", + "name" ] } } } } - }, - "delete": { - "summary": "Delete team's billing address", - "operationId": "organizationsDeleteBillingAddress", + } + }, + "\/messaging\/providers\/vonage\/{providerId}": { + "patch": { + "summary": "Update Vonage provider", + "operationId": "messagingUpdateVonageProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Delete a team's billing address.", + "description": "Update a Vonage provider by its unique ID.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Provider", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/provider" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteBillingAddress", - "group": null, - "weight": 1008, + "method": "updateVonageProvider", + "group": "providers", + "weight": 139, "cookies": false, "type": "", - "demo": "organizations\/delete-billing-address.md", + "demo": "messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-billing-address.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "apiKey": { + "type": "string", + "description": "Vonage API key.", + "x-example": "<API_KEY>" + }, + "apiSecret": { + "type": "string", + "description": "Vonage API secret.", + "x-example": "<API_SECRET>" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>" + } + } + } + } + } + } } }, - "\/organizations\/{organizationId}\/billing-addresses\/{billingAddressId}": { + "\/messaging\/providers\/{providerId}": { "get": { - "summary": "Get billing address", - "operationId": "organizationsGetBillingAddress", + "summary": "Get provider", + "operationId": "messagingGetProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Get a billing address using it's ID.", + "description": "Get a provider by its unique ID.\n", "responses": { "200": { - "description": "BillingAddress", + "description": "Provider", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/billingAddress" + "$ref": "#\/components\/schemas\/provider" } } } @@ -39501,151 +39663,116 @@ }, "deprecated": false, "x-appwrite": { - "method": "getBillingAddress", - "group": null, - "weight": 1006, + "method": "getProvider", + "group": "providers", + "weight": 130, "cookies": false, "type": "", - "demo": "organizations\/get-billing-address.md", + "demo": "messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-billing-address.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "billingAddressId", - "description": "Unique ID of billing address", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<BILLING_ADDRESS_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } ] - } - }, - "\/organizations\/{organizationId}\/billing-email": { - "patch": { - "summary": "Set team's billing email", - "operationId": "organizationsSetBillingEmail", + }, + "delete": { + "summary": "Delete provider", + "operationId": "messagingDeleteProvider", "tags": [ - "organizations" + "messaging" ], - "description": "Set the current billing email for the organization.", + "description": "Delete a provider by its unique ID.", "responses": { - "200": { - "description": "Organization", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/organization" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "setBillingEmail", - "group": null, - "weight": 1026, + "method": "deleteProvider", + "group": "providers", + "weight": 142, "cookies": false, "type": "", - "demo": "organizations\/set-billing-email.md", + "demo": "messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "billingEmail": { - "type": "string", - "description": "Billing email for the organization.", - "x-example": "email@example.com", - "format": "email" - } - }, - "required": [ - "billingEmail" - ] - } - } - } - } + ] } }, - "\/organizations\/{organizationId}\/budget": { - "patch": { - "summary": "Update organization budget", - "operationId": "organizationsUpdateBudget", + "\/messaging\/providers\/{providerId}\/logs": { + "get": { + "summary": "List provider logs", + "operationId": "messagingListProviderLogs", "tags": [ - "organizations" + "messaging" ], - "description": "Update the budget limit for an organization.", + "description": "Get the provider activity logs listed by its unique ID.", "responses": { "200": { - "description": "Organization", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/logList" } } } @@ -39653,89 +39780,86 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateBudget", - "group": null, - "weight": 1003, + "method": "listProviderLogs", + "group": "providers", + "weight": 129, "cookies": false, "type": "", - "demo": "organizations\/update-budget.md", + "demo": "messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-budget.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<PROVIDER_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "budget": { - "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "x-example": 0, - "format": "int32", - "x-nullable": true - }, - "alerts": { - "type": "array", - "description": "Budget alert limit percentage", - "x-example": null, - "items": { - "type": "integer" - } - } - }, - "required": [ - "budget" - ] - } - } - } - } + ] } }, - "\/organizations\/{organizationId}\/credits": { + "\/messaging\/subscribers\/{subscriberId}\/logs": { "get": { - "summary": "List credits", - "operationId": "organizationsListCredits", + "summary": "List subscriber logs", + "operationId": "messagingListSubscriberLogs", "tags": [ - "organizations" + "messaging" ], - "description": "List all credits for an organization.\n", + "description": "Get the subscriber activity logs listed by its unique ID.", "responses": { "200": { - "description": "CreditList", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/creditList" + "$ref": "#\/components\/schemas\/logList" } } } @@ -39743,45 +39867,47 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCredits", - "group": null, - "weight": 1018, + "method": "listSubscriberLogs", + "group": "subscribers", + "weight": 151, "cookies": false, "type": "", - "demo": "organizations\/list-credits.md", + "demo": "messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-credits.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "subscriberId", + "description": "Subscriber ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SUBSCRIBER_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, couponId, credits, expiration, status", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "schema": { "type": "array", @@ -39791,23 +39917,36 @@ "default": [] }, "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - }, - "post": { - "summary": "Add credits from coupon", - "operationId": "organizationsAddCredit", + } + }, + "\/messaging\/topics": { + "get": { + "summary": "List topics", + "operationId": "messagingListTopics", "tags": [ - "organizations" + "messaging" ], - "description": "Add credit to an organization using a coupon.", + "description": "Get a list of all topics from the current Appwrite project.", "responses": { - "201": { - "description": "Credit", + "200": { + "description": "Topic list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/credit" + "$ref": "#\/components\/schemas\/topicList" } } } @@ -39815,79 +39954,85 @@ }, "deprecated": false, "x-appwrite": { - "method": "addCredit", - "group": null, - "weight": 1019, + "method": "listTopics", + "group": "topics", + "weight": 144, "cookies": false, "type": "", - "demo": "organizations\/add-credit.md", - "rate-limit": 10, + "demo": "messaging\/list-topics.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/add-credit.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, description, emailTotal, smsTotal, pushTotal", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "couponId": { - "type": "string", - "description": "ID of the coupon", - "x-example": "<COUPON_ID>" - } - }, - "required": [ - "couponId" - ] - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - } - }, - "\/organizations\/{organizationId}\/credits\/available": { - "get": { - "summary": "Get available credits", - "operationId": "organizationsGetAvailableCredits", + ] + }, + "post": { + "summary": "Create topic", + "operationId": "messagingCreateTopic", "tags": [ - "organizations" + "messaging" ], - "description": "Get total available valid credits for an organization.", + "description": "Create a new topic.", "responses": { - "200": { - "description": "CreditAvailable", + "201": { + "description": "Topic", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/creditAvailable" + "$ref": "#\/components\/schemas\/topic" } } } @@ -39895,131 +40040,83 @@ }, "deprecated": false, "x-appwrite": { - "method": "getAvailableCredits", - "group": null, - "weight": 1017, + "method": "createTopic", + "group": "topics", + "weight": 143, "cookies": false, "type": "", - "demo": "organizations\/get-available-credits.md", + "demo": "messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-available-credits.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } - ] - } - }, - "\/organizations\/{organizationId}\/credits\/{creditId}": { - "get": { - "summary": "Get credit details", - "operationId": "organizationsGetCredit", - "tags": [ - "organizations" ], - "description": "Get credit details.", - "responses": { - "200": { - "description": "Credit", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/credit" - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "topicId": { + "type": "string", + "description": "Topic ID. Choose a custom Topic ID or a new Topic ID.", + "x-example": "<TOPIC_ID>" + }, + "name": { + "type": "string", + "description": "Topic Name.", + "x-example": "<NAME>" + }, + "subscribe": { + "type": "array", + "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "items": { + "type": "string" + } + } + }, + "required": [ + "topicId", + "name" + ] } } } - }, - "deprecated": false, - "x-appwrite": { - "method": "getCredit", - "group": null, - "weight": 1016, - "cookies": false, - "type": "", - "demo": "organizations\/get-credit.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-credit.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "creditId", - "description": "Credit Unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<CREDIT_ID>" - }, - "in": "path" - } - ] + } } }, - "\/organizations\/{organizationId}\/estimations\/delete-organization": { - "patch": { - "summary": "Estimate delete team", - "operationId": "organizationsEstimationDeleteOrganization", + "\/messaging\/topics\/{topicId}": { + "get": { + "summary": "Get topic", + "operationId": "messagingGetTopic", "tags": [ - "organizations" + "messaging" ], - "description": "Get estimation for deleting an organization.", + "description": "Get a topic by its unique ID.\n", "responses": { "200": { - "description": "EstimationDeleteOrganization", + "description": "Topic", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/estimationDeleteOrganization" + "$ref": "#\/components\/schemas\/topic" } } } @@ -40027,60 +40124,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "estimationDeleteOrganization", - "group": null, - "weight": 1033, + "method": "getTopic", + "group": "topics", + "weight": 146, "cookies": false, "type": "", - "demo": "organizations\/estimation-delete-organization.md", - "rate-limit": 10, + "demo": "messaging\/get-topic.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "organizations.write", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-delete-organization.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Team ID.", + "name": "topicId", + "description": "Topic ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" } ] - } - }, - "\/organizations\/{organizationId}\/estimations\/update-plan": { + }, "patch": { - "summary": "Estimate for update plan", - "operationId": "organizationsEstimationUpdatePlan", + "summary": "Update topic", + "operationId": "messagingUpdateTopic", "tags": [ - "organizations" + "messaging" ], - "description": "Get estimation for updating the organization plan.", + "description": "Update a topic by its unique ID.\n", "responses": { "200": { - "description": "EstimationUpdatePlan", + "description": "Topic", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/estimationUpdatePlan" + "$ref": "#\/components\/schemas\/topic" } } } @@ -40088,39 +40185,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "estimationUpdatePlan", - "group": null, - "weight": 1030, + "method": "updateTopic", + "group": "topics", + "weight": 147, "cookies": false, "type": "", - "demo": "organizations\/estimation-update-plan.md", - "rate-limit": 10, + "demo": "messaging\/update-topic.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-update-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" } @@ -40131,148 +40230,97 @@ "schema": { "type": "object", "properties": { - "billingPlan": { + "name": { "type": "string", - "description": "Organization billing plan chosen", - "x-example": "tier-0" + "description": "Topic Name.", + "x-example": "<NAME>", + "x-nullable": true }, - "invites": { + "subscribe": { "type": "array", - "description": "Additional member invites", - "x-example": null, + "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", "items": { "type": "string" - } - }, - "couponId": { - "type": "string", - "description": "Coupon id", - "x-example": "<COUPON_ID>", + }, "x-nullable": true } - }, - "required": [ - "billingPlan" - ] + } } } } } - } - }, - "\/organizations\/{organizationId}\/feedbacks\/downgrade": { - "post": { - "summary": "Create downgrade feedback", - "operationId": "organizationsCreateDowngradeFeedback", + }, + "delete": { + "summary": "Delete topic", + "operationId": "messagingDeleteTopic", "tags": [ - "organizations" + "messaging" ], - "description": "Submit feedback about downgrading from a paid plan to a lower tier. This helps the team understand user experience and improve the platform.\n", + "description": "Delete a topic by its unique ID.", "responses": { - "201": { - "description": "Downgrade Feedback", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/downgradeFeedback" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createDowngradeFeedback", - "group": null, - "weight": 1034, + "method": "deleteTopic", + "group": "topics", + "weight": 148, "cookies": false, "type": "", - "demo": "organizations\/create-downgrade-feedback.md", + "demo": "messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-downgrade-feedback.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "Feedback reason", - "x-example": "<REASON>" - }, - "message": { - "type": "string", - "description": "Feedback message", - "x-example": "<MESSAGE>" - }, - "fromPlanId": { - "type": "string", - "description": "Plan downgrading from", - "x-example": "<FROM_PLAN_ID>" - }, - "toPlanId": { - "type": "string", - "description": "Plan downgrading to", - "x-example": "<TO_PLAN_ID>" - } - }, - "required": [ - "reason", - "message", - "fromPlanId", - "toPlanId" - ] - } - } - } - } + ] } }, - "\/organizations\/{organizationId}\/invoices": { + "\/messaging\/topics\/{topicId}\/logs": { "get": { - "summary": "List invoices", - "operationId": "organizationsListInvoices", + "summary": "List topic logs", + "operationId": "messagingListTopicLogs", "tags": [ - "organizations" + "messaging" ], - "description": "List all invoices for an organization.", + "description": "Get the topic activity logs listed by its unique ID.", "responses": { "200": { - "description": "Billing invoices list", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/invoiceList" + "$ref": "#\/components\/schemas\/logList" } } } @@ -40280,45 +40328,47 @@ }, "deprecated": false, "x-appwrite": { - "method": "listInvoices", - "group": null, - "weight": 1021, + "method": "listTopicLogs", + "group": "topics", + "weight": 145, "cookies": false, "type": "", - "demo": "organizations\/list-invoices.md", + "demo": "messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-invoices.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "schema": { "type": "array", @@ -40328,25 +40378,36 @@ "default": [] }, "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}": { + "\/messaging\/topics\/{topicId}\/subscribers": { "get": { - "summary": "Get invoice", - "operationId": "organizationsGetInvoice", + "summary": "List subscribers", + "operationId": "messagingListSubscribers", "tags": [ - "organizations" + "messaging" ], - "description": "Get an invoice by its unique ID.", + "description": "Get a list of all subscribers from the current Appwrite project.", "responses": { "200": { - "description": "Invoice", + "description": "Subscriber list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/invoice" + "$ref": "#\/components\/schemas\/subscriberList" } } } @@ -40354,70 +40415,95 @@ }, "deprecated": false, "x-appwrite": { - "method": "getInvoice", - "group": null, - "weight": 1020, + "method": "listSubscribers", + "group": "subscribers", + "weight": 150, "cookies": false, "type": "", - "demo": "organizations\/get-invoice.md", + "demo": "messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" }, { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: targetId, topicId, userId, providerType", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/download": { - "get": { - "summary": "Download invoice in PDF", - "operationId": "organizationsGetInvoiceDownload", + }, + "post": { + "summary": "Create subscriber", + "operationId": "messagingCreateSubscriber", "tags": [ - "organizations" + "messaging" ], - "description": "Download invoice in PDF", + "description": "Create a new subscriber.", "responses": { - "200": { - "description": "paymentMethod", + "201": { + "description": "Subscriber", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/paymentMethod" + "$ref": "#\/components\/schemas\/subscriber" } } } @@ -40425,120 +40511,45 @@ }, "deprecated": false, "x-appwrite": { - "method": "getInvoiceDownload", - "group": null, - "weight": 1024, + "method": "createSubscriber", + "group": "subscribers", + "weight": 149, "cookies": false, "type": "", - "demo": "organizations\/get-invoice-download.md", + "demo": "messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "subscribers.write", "platforms": [ - "console" + "server", + "client", + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-download.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "JWT": [], + "Session": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "invoiceId", - "description": "Invoice unique ID", + "name": "topicId", + "description": "Topic ID. The topic ID to subscribe to.", "required": true, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" - }, - "in": "path" - } - ] - } - }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/payments": { - "post": { - "summary": "Initiate payment for failed invoice to pay live from console", - "operationId": "organizationsCreateInvoicePayment", - "tags": [ - "organizations" - ], - "description": "Initiate payment for failed invoice to pay live from console", - "responses": { - "200": { - "description": "Invoice", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/invoice" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createInvoicePayment", - "group": null, - "weight": 1025, - "cookies": false, - "type": "", - "demo": "organizations\/create-invoice-payment.md", - "rate-limit": 10, - "rate-time": 86400, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-invoice-payment.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" } @@ -40549,14 +40560,20 @@ "schema": { "type": "object", "properties": { - "paymentMethodId": { + "subscriberId": { "type": "string", - "description": "Payment method ID", - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", + "x-example": "<SUBSCRIBER_ID>" + }, + "targetId": { + "type": "string", + "description": "Target ID. The target ID to link to the specified Topic ID.", + "x-example": "<TARGET_ID>" } }, "required": [ - "paymentMethodId" + "subscriberId", + "targetId" ] } } @@ -40564,21 +40581,21 @@ } } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/status": { - "patch": { - "summary": "Validate the payment for an invoice and update status", - "operationId": "organizationsValidateInvoice", + "\/messaging\/topics\/{topicId}\/subscribers\/{subscriberId}": { + "get": { + "summary": "Get subscriber", + "operationId": "messagingGetSubscriber", "tags": [ - "organizations" + "messaging" ], - "description": "Validates the payment linked with the invoice and updates the invoice status if the payment status is changed.", + "description": "Get a subscriber by its unique ID.\n", "responses": { "200": { - "description": "Invoice", + "description": "Subscriber", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/invoice" + "$ref": "#\/components\/schemas\/subscriber" } } } @@ -40586,141 +40603,140 @@ }, "deprecated": false, "x-appwrite": { - "method": "validateInvoice", - "group": null, - "weight": 1022, + "method": "getSubscriber", + "group": "subscribers", + "weight": 152, "cookies": false, "type": "", - "demo": "organizations\/validate-invoice.md", + "demo": "messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-invoice-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" }, { - "name": "invoiceId", - "description": "Invoice unique ID", + "name": "subscriberId", + "description": "Subscriber ID.", "required": true, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<SUBSCRIBER_ID>" }, "in": "path" } ] - } - }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/view": { - "get": { - "summary": "View invoice in PDF", - "operationId": "organizationsGetInvoiceView", + }, + "delete": { + "summary": "Delete subscriber", + "operationId": "messagingDeleteSubscriber", "tags": [ - "organizations" + "messaging" ], - "description": "View invoice in PDF", + "description": "Delete a subscriber by its unique ID.", "responses": { - "200": { - "description": "paymentMethod", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/paymentMethod" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getInvoiceView", - "group": null, - "weight": 1023, + "method": "deleteSubscriber", + "group": "subscribers", + "weight": 153, "cookies": false, "type": "", - "demo": "organizations\/get-invoice-view.md", + "demo": "messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "subscribers.write", "platforms": [ - "console" + "server", + "client", + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-view.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "JWT": [], + "Session": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<TOPIC_ID>" }, "in": "path" }, { - "name": "invoiceId", - "description": "Invoice unique ID", + "name": "subscriberId", + "description": "Subscriber ID.", "required": true, "schema": { "type": "string", - "x-example": "<INVOICE_ID>" + "x-example": "<SUBSCRIBER_ID>" }, "in": "path" } ] } }, - "\/organizations\/{organizationId}\/keys": { + "\/migrations": { "get": { - "summary": "List organization keys", - "operationId": "organizationsListKeys", + "summary": "List migrations", + "operationId": "migrationsList", "tags": [ - "organizations" + "migrations" ], - "description": "Get a list of all API keys from the current organization. ", + "description": "List all migrations in the current project. This endpoint returns a list of all migrations including their status, progress, and any errors that occurred during the migration process.", "responses": { "200": { - "description": "API Keys List", + "description": "Migrations List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/keyList" + "$ref": "#\/components\/schemas\/migrationList" } } } @@ -40728,21 +40744,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listKeys", - "group": "keys", - "weight": 1037, + "method": "list", + "group": null, + "weight": 583, "cookies": false, "type": "", - "demo": "organizations\/list-keys.md", + "demo": "migrations\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -40754,14 +40771,28 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, resourceId, resourceType, statusCounters, resourceData, errors", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { "name": "total", @@ -40775,21 +40806,23 @@ "in": "query" } ] - }, + } + }, + "\/migrations\/appwrite": { "post": { - "summary": "Create organization key", - "operationId": "organizationsCreateKey", + "summary": "Create Appwrite migration", + "operationId": "migrationsCreateAppwriteMigration", "tags": [ - "organizations" + "migrations" ], - "description": "Create a new organization API key.", + "description": "Migrate data from another Appwrite project to your current project. This endpoint allows you to migrate resources like databases, collections, documents, users, and files from an existing Appwrite project. ", "responses": { - "201": { - "description": "Key", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/migration" } } } @@ -40797,21 +40830,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createKey", - "group": "keys", - "weight": 1035, + "method": "createAppwriteMigration", + "group": null, + "weight": 587, "cookies": false, "type": "", - "demo": "organizations\/create-key.md", + "demo": "migrations\/create-appwrite-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -40821,60 +40855,85 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "scopes": { + "resources": { "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "description": "List of resources to migrate", "x-example": null, "items": { "type": "string", "enum": [ - "projects.read", - "projects.write", - "devKeys.read", - "devKeys.write", - "domains.read", - "domains.write", - "keys.read", - "keys.write" + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "documentsdb", + "vectorsdb", + "bucket", + "file", + "function", + "deployment", + "environment-variable", + "provider", + "topic", + "subscriber", + "message", + "site", + "site-deployment", + "site-variable", + "platform", + "backup-policy" ], - "x-enum-name": null, + "x-enum-name": "AppwriteMigrationResource", "x-enum-keys": [] } }, - "expire": { + "endpoint": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true + "description": "Source Appwrite endpoint", + "x-example": "https:\/\/example.com", + "format": "url" + }, + "projectId": { + "type": "string", + "description": "Source Project ID", + "x-example": "<PROJECT_ID>" + }, + "apiKey": { + "type": "string", + "description": "Source API Key", + "x-example": "<API_KEY>" + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "required": [ - "name", - "scopes" + "resources", + "endpoint", + "projectId", + "apiKey" ] } } @@ -40882,21 +40941,21 @@ } } }, - "\/organizations\/{organizationId}\/keys\/{keyId}": { + "\/migrations\/appwrite\/report": { "get": { - "summary": "Get organization key", - "operationId": "organizationsGetKey", + "summary": "Get Appwrite migration report", + "operationId": "migrationsGetAppwriteReport", "tags": [ - "organizations" + "migrations" ], - "description": "Get a key by its unique ID. This endpoint returns details about a specific API key in your organization including it's scopes.", + "description": "Generate a report of the data in an Appwrite project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", "responses": { "200": { - "description": "Key", + "description": "Migration Report", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/migrationReport" } } } @@ -40904,21 +40963,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getKey", - "group": "keys", - "weight": 1039, + "method": "getAppwriteReport", + "group": null, + "weight": 1133, "cookies": false, "type": "", - "demo": "organizations\/get-key.md", + "demo": "migrations\/get-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -40930,41 +40990,97 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "resources", + "description": "List of resources to migrate", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "documentsdb", + "vectorsdb", + "bucket", + "file", + "function", + "deployment", + "environment-variable", + "provider", + "topic", + "subscriber", + "message", + "site", + "site-deployment", + "site-variable", + "platform", + "backup-policy" + ], + "x-enum-name": "AppwriteMigrationResource", + "x-enum-keys": [] + } + }, + "in": "query" + }, + { + "name": "endpoint", + "description": "Source's Appwrite Endpoint", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "format": "url", + "x-example": "https:\/\/example.com" }, - "in": "path" + "in": "query" }, { - "name": "keyId", - "description": "Key unique ID.", + "name": "projectID", + "description": "Source's Project ID", "required": true, "schema": { "type": "string", - "x-example": "<KEY_ID>" + "x-example": "<PROJECT_ID>" }, - "in": "path" + "in": "query" + }, + { + "name": "key", + "description": "Source's API Key", + "required": true, + "schema": { + "type": "string", + "x-example": "<KEY>" + }, + "in": "query" } ] - }, - "put": { - "summary": "Update organization key", - "operationId": "organizationsUpdateKey", + } + }, + "\/migrations\/csv\/exports": { + "post": { + "summary": "Export documents to CSV", + "operationId": "migrationsCreateCSVExport", "tags": [ - "organizations" + "migrations" ], - "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", + "description": "Export documents to a CSV file from your Appwrite database. This endpoint allows you to export documents to a CSV file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.", "responses": { - "200": { - "description": "Key", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/migration" } } } @@ -40972,21 +41088,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateKey", - "group": "keys", - "weight": 1036, + "method": "createCSVExport", + "group": null, + "weight": 596, "cookies": false, "type": "", - "demo": "organizations\/update-key.md", + "demo": "migrations\/create-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -40996,105 +41113,112 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<KEY_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { + "resourceId": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", + "x-example": "<ID1:ID2>" }, - "scopes": { + "filename": { + "type": "string", + "description": "The name of the file to be created for the export, excluding the .csv extension.", + "x-example": "<FILENAME>" + }, + "columns": { "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", "x-example": null, "items": { - "type": "string", - "enum": [ - "projects.read", - "projects.write", - "devKeys.read", - "devKeys.write", - "domains.read", - "domains.write", - "keys.read", - "keys.write" - ], - "x-enum-name": null, - "x-enum-keys": [] + "type": "string" } }, - "expire": { + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "delimiter": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true + "description": "The character that separates each column value. Default is comma.", + "x-example": "<DELIMITER>" + }, + "enclosure": { + "type": "string", + "description": "The character that encloses each column value. Default is double quotes.", + "x-example": "<ENCLOSURE>" + }, + "escape": { + "type": "string", + "description": "The escape character for the enclosure character. Default is double quotes.", + "x-example": "<ESCAPE>" + }, + "header": { + "type": "boolean", + "description": "Whether to include the header row with column names. Default is true.", + "x-example": false + }, + "notify": { + "type": "boolean", + "description": "Set to true to receive an email when the export is complete. Default is true.", + "x-example": false } }, "required": [ - "name", - "scopes" + "resourceId", + "filename" ] } } } } - }, - "delete": { - "summary": "Delete organization key", - "operationId": "organizationsDeleteKey", + } + }, + "\/migrations\/csv\/imports": { + "post": { + "summary": "Import documents from a CSV", + "operationId": "migrationsCreateCSVImport", "tags": [ - "organizations" + "migrations" ], - "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", + "description": "Import documents from a CSV file into your Appwrite database. This endpoint allows you to import documents from a CSV file uploaded to Appwrite Storage bucket.", "responses": { - "204": { - "description": "No content" + "202": { + "description": "Migration", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/migration" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteKey", - "group": "keys", - "weight": 1038, + "method": "createCSVImport", + "group": null, + "weight": 595, "cookies": false, "type": "", - "demo": "organizations\/delete-key.md", + "demo": "migrations\/create-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -41104,45 +41228,71 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<KEY_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "bucketId": { + "type": "string", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "x-example": "<BUCKET_ID>" + }, + "fileId": { + "type": "string", + "description": "File ID.", + "x-example": "<FILE_ID>" + }, + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", + "x-example": "<ID1:ID2>" + }, + "internalFile": { + "type": "boolean", + "description": "Is the file stored in an internal bucket?", + "x-example": false + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "bucketId", + "fileId", + "resourceId" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/payment-method": { - "patch": { - "summary": "Set team's payment method", - "operationId": "organizationsSetDefaultPaymentMethod", + "\/migrations\/firebase": { + "post": { + "summary": "Create Firebase migration", + "operationId": "migrationsCreateFirebaseMigration", "tags": [ - "organizations" + "migrations" ], - "description": "Set a organization's default payment method.", + "description": "Migrate data from a Firebase project to your Appwrite project. This endpoint allows you to migrate resources like authentication and other supported services from a Firebase project. ", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41150,22 +41300,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "setDefaultPaymentMethod", + "method": "createFirebaseMigration", "group": null, - "weight": 1010, + "weight": 589, "cookies": false, "type": "", - "demo": "organizations\/set-default-payment-method.md", + "demo": "migrations\/create-firebase-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-default-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "auth": { "Project": [] } @@ -41175,52 +41325,65 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "paymentMethodId": { + "resources": { + "type": "array", + "description": "List of resources to migrate", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "FirebaseMigrationResource", + "x-enum-keys": [] + } + }, + "serviceAccount": { "type": "string", - "description": "Unique ID of payment method", - "x-example": "<PAYMENT_METHOD_ID>" + "description": "JSON of the Firebase service account credentials", + "x-example": "<SERVICE_ACCOUNT>" } }, "required": [ - "paymentMethodId" + "resources", + "serviceAccount" ] } } } } - }, - "delete": { - "summary": "Delete team's default payment method", - "operationId": "organizationsDeleteDefaultPaymentMethod", + } + }, + "\/migrations\/firebase\/report": { + "get": { + "summary": "Get Firebase migration report", + "operationId": "migrationsGetFirebaseReport", "tags": [ - "organizations" + "migrations" ], - "description": "Delete the default payment method for an organization.", + "description": "Generate a report of the data in a Firebase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", "responses": { "200": { - "description": "Organization", + "description": "Migration Report", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migrationReport" } } } @@ -41228,22 +41391,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteDefaultPaymentMethod", + "method": "getFirebaseReport", "group": null, - "weight": 1012, + "weight": 590, "cookies": false, "type": "", - "demo": "organizations\/delete-default-payment-method.md", + "demo": "migrations\/get-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-default-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -41255,33 +41418,59 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "resources", + "description": "List of resources to migrate", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "FirebaseMigrationResource", + "x-enum-keys": [] + } + }, + "in": "query" + }, + { + "name": "serviceAccount", + "description": "JSON of the Firebase service account credentials", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SERVICE_ACCOUNT>" }, - "in": "path" + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/payment-method\/backup": { - "patch": { - "summary": "Set team's backup payment method", - "operationId": "organizationsSetBackupPaymentMethod", + "\/migrations\/json\/exports": { + "post": { + "summary": "Export documents to JSON", + "operationId": "migrationsCreateJSONExport", "tags": [ - "organizations" + "migrations" ], - "description": "Set an organization's backup payment method.\n", + "description": "Export documents to a JSON file from your Appwrite database. This endpoint allows you to export documents to a JSON file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.\n", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41289,22 +41478,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "setBackupPaymentMethod", + "method": "createJSONExport", "group": null, - "weight": 1011, + "weight": 598, "cookies": false, "type": "", - "demo": "organizations\/set-backup-payment-method.md", + "demo": "migrations\/create-json-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-backup-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-export.md", "auth": { "Project": [] } @@ -41314,52 +41503,69 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "paymentMethodId": { + "resourceId": { "type": "string", - "description": "Unique ID of payment method", - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", + "x-example": "<ID1:ID2>" + }, + "filename": { + "type": "string", + "description": "The name of the file to be created for the export, excluding the .json extension.", + "x-example": "<FILENAME>" + }, + "columns": { + "type": "array", + "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", + "x-example": null, + "items": { + "type": "string" + } + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "notify": { + "type": "boolean", + "description": "Set to true to receive an email when the export is complete. Default is true.", + "x-example": false } }, "required": [ - "paymentMethodId" + "resourceId", + "filename" ] } } } } - }, - "delete": { - "summary": "Delete team's backup payment method", - "operationId": "organizationsDeleteBackupPaymentMethod", + } + }, + "\/migrations\/json\/imports": { + "post": { + "summary": "Import documents from a JSON", + "operationId": "migrationsCreateJSONImport", "tags": [ - "organizations" + "migrations" ], - "description": "Delete a backup payment method for an organization.", + "description": "Import documents from a JSON file into your Appwrite database. This endpoint allows you to import documents from a JSON file uploaded to Appwrite Storage bucket.\n", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41367,22 +41573,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteBackupPaymentMethod", + "method": "createJSONImport", "group": null, - "weight": 1013, + "weight": 597, "cookies": false, "type": "", - "demo": "organizations\/delete-backup-payment-method.md", + "demo": "migrations\/create-json-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-backup-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-import.md", "auth": { "Project": [] } @@ -41392,35 +41598,71 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "bucketId": { + "type": "string", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "x-example": "<BUCKET_ID>" + }, + "fileId": { + "type": "string", + "description": "File ID.", + "x-example": "<FILE_ID>" + }, + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", + "x-example": "<ID1:ID2>" + }, + "internalFile": { + "type": "boolean", + "description": "Is the file stored in an internal bucket?", + "x-example": false + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "bucketId", + "fileId", + "resourceId" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/payment-methods\/{paymentMethodId}": { - "get": { - "summary": "Get payment method", - "operationId": "organizationsGetPaymentMethod", + "\/migrations\/nhost": { + "post": { + "summary": "Create NHost migration", + "operationId": "migrationsCreateNHostMigration", "tags": [ - "organizations" + "migrations" ], - "description": "Get an organization's payment method using it's payment method ID.", + "description": "Migrate data from an NHost project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from an NHost project. ", "responses": { - "200": { - "description": "paymentMethod", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/paymentMethod" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41428,22 +41670,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPaymentMethod", + "method": "createNHostMigration", "group": null, - "weight": 1009, + "weight": 593, "cookies": false, "type": "", - "demo": "organizations\/get-payment-method.md", + "demo": "migrations\/create-n-host-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } @@ -41453,45 +41695,102 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "paymentMethodId", - "description": "Unique ID of payment method", - "required": true, - "schema": { - "type": "string", - "x-example": "<PAYMENT_METHOD_ID>" - }, - "in": "path" - } - ] - } - }, - "\/organizations\/{organizationId}\/plan": { - "get": { - "summary": "Get organization billing plan details", - "operationId": "organizationsGetPlan", - "tags": [ - "organizations" - ], - "description": "Get the details of the current billing plan for an organization.", - "responses": { - "200": { - "description": "billingPlan", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/billingPlan" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "resources": { + "type": "array", + "description": "List of resources to migrate", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "NHostMigrationResource", + "x-enum-keys": [] + } + }, + "subdomain": { + "type": "string", + "description": "Source's Subdomain", + "x-example": "<SUBDOMAIN>" + }, + "region": { + "type": "string", + "description": "Source's Region", + "x-example": "<REGION>" + }, + "adminSecret": { + "type": "string", + "description": "Source's Admin Secret", + "x-example": "<ADMIN_SECRET>" + }, + "database": { + "type": "string", + "description": "Source's Database Name", + "x-example": "<DATABASE>" + }, + "username": { + "type": "string", + "description": "Source's Database Username", + "x-example": "<USERNAME>" + }, + "password": { + "type": "string", + "description": "Source's Database Password", + "x-example": "<PASSWORD>" + }, + "port": { + "type": "integer", + "description": "Source's Database Port", + "x-example": null, + "format": "int32" + } + }, + "required": [ + "resources", + "subdomain", + "region", + "adminSecret", + "database", + "username", + "password" + ] + } + } + } + } + } + }, + "\/migrations\/nhost\/report": { + "get": { + "summary": "Get NHost migration report", + "operationId": "migrationsGetNHostReport", + "tags": [ + "migrations" + ], + "description": "Generate a detailed report of the data in an NHost project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", + "responses": { + "200": { + "description": "Migration Report", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/migrationReport" } } } @@ -41499,22 +41798,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPlan", + "method": "getNHostReport", "group": null, - "weight": 1000, + "weight": 594, "cookies": false, "type": "", - "demo": "organizations\/get-plan.md", + "demo": "migrations\/get-n-host-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } @@ -41526,31 +41825,121 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "resources", + "description": "List of resources to migrate.", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "NHostMigrationResource", + "x-enum-keys": [] + } + }, + "in": "query" + }, + { + "name": "subdomain", + "description": "Source's Subdomain.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SUBDOMAIN>" }, - "in": "path" + "in": "query" + }, + { + "name": "region", + "description": "Source's Region.", + "required": true, + "schema": { + "type": "string", + "x-example": "<REGION>" + }, + "in": "query" + }, + { + "name": "adminSecret", + "description": "Source's Admin Secret.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ADMIN_SECRET>" + }, + "in": "query" + }, + { + "name": "database", + "description": "Source's Database Name.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE>" + }, + "in": "query" + }, + { + "name": "username", + "description": "Source's Database Username.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USERNAME>" + }, + "in": "query" + }, + { + "name": "password", + "description": "Source's Database Password.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PASSWORD>" + }, + "in": "query" + }, + { + "name": "port", + "description": "Source's Database Port.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5432 + }, + "in": "query" } ] - }, - "patch": { - "summary": "Update organization billing plan", - "operationId": "organizationsUpdatePlan", + } + }, + "\/migrations\/supabase": { + "post": { + "summary": "Create Supabase migration", + "operationId": "migrationsCreateSupabaseMigration", "tags": [ - "organizations" + "migrations" ], - "description": "Update the billing plan for an organization.", + "description": "Migrate data from a Supabase project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from a Supabase project. ", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41558,22 +41947,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePlan", + "method": "createSupabaseMigration", "group": null, - "weight": 1001, + "weight": 591, "cookies": false, "type": "", - "demo": "organizations\/update-plan.md", - "rate-limit": 10, + "demo": "migrations\/create-supabase-migration.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } @@ -41583,70 +41972,75 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "billingPlan": { - "type": "string", - "description": "Organization billing plan chosen", - "x-example": "tier-0" + "resources": { + "type": "array", + "description": "List of resources to migrate", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "SupabaseMigrationResource", + "x-enum-keys": [] + } }, - "paymentMethodId": { + "endpoint": { "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "x-example": "<PAYMENT_METHOD_ID>", - "x-nullable": true + "description": "Source's Supabase Endpoint", + "x-example": "https:\/\/example.com", + "format": "url" }, - "billingAddressId": { + "apiKey": { "type": "string", - "description": "Unique ID of billing address", - "x-example": "<BILLING_ADDRESS_ID>" + "description": "Source's API Key", + "x-example": "<API_KEY>" }, - "invites": { - "type": "array", - "description": "Additional member invites", - "x-example": null, - "items": { - "type": "string" - } + "databaseHost": { + "type": "string", + "description": "Source's Database Host", + "x-example": "<DATABASE_HOST>" }, - "couponId": { + "username": { "type": "string", - "description": "Coupon id", - "x-example": "<COUPON_ID>", - "x-nullable": true + "description": "Source's Database Username", + "x-example": "<USERNAME>" }, - "taxId": { + "password": { "type": "string", - "description": "Tax Id associated to billing.", - "x-example": "<TAX_ID>", - "x-nullable": true + "description": "Source's Database Password", + "x-example": "<PASSWORD>" }, - "budget": { + "port": { "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "x-example": 0, - "format": "int32", - "x-nullable": true + "description": "Source's Database Port", + "x-example": null, + "format": "int32" } }, "required": [ - "billingPlan" + "resources", + "endpoint", + "apiKey", + "databaseHost", + "username", + "password" ] } } @@ -41654,21 +42048,21 @@ } } }, - "\/organizations\/{organizationId}\/plan\/cancel": { - "patch": { - "summary": "Cancel organization plan change", - "operationId": "organizationsCancelDowngrade", + "\/migrations\/supabase\/report": { + "get": { + "summary": "Get Supabase migration report", + "operationId": "migrationsGetSupabaseReport", "tags": [ - "organizations" + "migrations" ], - "description": "Cancel the downgrade initiated for an organization.", + "description": "Generate a report of the data in a Supabase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", "responses": { "200": { - "description": "Organization", + "description": "Migration Report", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/migrationReport" } } } @@ -41676,22 +42070,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "cancelDowngrade", + "method": "getSupabaseReport", "group": null, - "weight": 1002, + "weight": 592, "cookies": false, "type": "", - "demo": "organizations\/cancel-downgrade.md", + "demo": "migrations\/get-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/cancel-downgrade.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } @@ -41703,33 +42097,112 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "resources", + "description": "List of resources to migrate", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "SupabaseMigrationResource", + "x-enum-keys": [] + } + }, + "in": "query" + }, + { + "name": "endpoint", + "description": "Source's Supabase Endpoint.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "format": "url", + "x-example": "https:\/\/example.com" }, - "in": "path" + "in": "query" + }, + { + "name": "apiKey", + "description": "Source's API Key.", + "required": true, + "schema": { + "type": "string", + "x-example": "<API_KEY>" + }, + "in": "query" + }, + { + "name": "databaseHost", + "description": "Source's Database Host.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_HOST>" + }, + "in": "query" + }, + { + "name": "username", + "description": "Source's Database Username.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USERNAME>" + }, + "in": "query" + }, + { + "name": "password", + "description": "Source's Database Password.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PASSWORD>" + }, + "in": "query" + }, + { + "name": "port", + "description": "Source's Database Port.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 5432 + }, + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/plan\/estimations": { - "post": { - "summary": "Create billing plan estimation (upgrade or downgrade)", - "operationId": "organizationsCreatePlanEstimation", + "\/migrations\/{migrationId}": { + "get": { + "summary": "Get migration", + "operationId": "migrationsGet", "tags": [ - "organizations" + "migrations" ], - "description": "Create a billing plan estimation for upgrading or downgrading an organization plan.\n", + "description": "Get a migration by its unique ID. This endpoint returns detailed information about a specific migration including its current status, progress, and any errors that occurred during the migration process. ", "responses": { "200": { - "description": "EstimationPlanChange", + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/estimationPlanChange" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41737,22 +42210,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPlanEstimation", + "method": "get", "group": null, - "weight": 1031, + "weight": 584, "cookies": false, "type": "", - "demo": "organizations\/create-plan-estimation.md", - "rate-limit": 10, + "demo": "migrations\/get.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-plan-estimation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } @@ -41764,66 +42237,31 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "migrationId", + "description": "Migration unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<MIGRATION_ID>" }, "in": "path" } + ] + }, + "patch": { + "summary": "Update retry migration", + "operationId": "migrationsRetry", + "tags": [ + "migrations" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "billingPlan": { - "type": "string", - "description": "Target billing plan", - "x-example": "tier-0" - }, - "invites": { - "type": "array", - "description": "Additional member invites", - "x-example": null, - "items": { - "type": "string" - } - }, - "couponId": { - "type": "string", - "description": "Coupon id", - "x-example": "<COUPON_ID>", - "x-nullable": true - } - }, - "required": [ - "billingPlan" - ] - } - } - } - } - } - }, - "\/organizations\/{organizationId}\/regions": { - "get": { - "summary": "List Regions", - "operationId": "organizationsListRegions", - "tags": [ - "organizations" - ], - "description": "Get all available regions for an organization.", + "description": "Retry a failed migration. This endpoint allows you to retry a migration that has previously failed.", "responses": { - "200": { - "description": "Regions list", + "202": { + "description": "Migration", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/consoleRegionList" + "$ref": "#\/components\/schemas\/migration" } } } @@ -41831,22 +42269,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRegions", + "method": "retry", "group": null, - "weight": 1029, + "weight": 585, "cookies": false, "type": "", - "demo": "organizations\/list-regions.md", + "demo": "migrations\/retry.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-regions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } @@ -41858,56 +42296,47 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Team ID.", + "name": "migrationId", + "description": "Migration unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<MIGRATION_ID>" }, "in": "path" } ] - } - }, - "\/organizations\/{organizationId}\/roles": { - "get": { - "summary": "Get Scopes", - "operationId": "organizationsGetScopes", + }, + "delete": { + "summary": "Delete migration", + "operationId": "migrationsDelete", "tags": [ - "organizations" + "migrations" ], - "description": "Get Scopes", + "description": "Delete a migration by its unique ID. This endpoint allows you to remove a migration from your project's migration history. ", "responses": { - "200": { - "description": "Roles", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/roles" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getScopes", + "method": "delete", "group": null, - "weight": 1028, + "weight": 586, "cookies": false, "type": "", - "demo": "organizations\/get-scopes.md", + "demo": "migrations\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-scopes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } @@ -41919,44 +42348,33 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization id", + "name": "migrationId", + "description": "Migration ID.", "required": true, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<MIGRATION_ID>" }, "in": "path" - }, - { - "name": "projectId", - "description": "Project id", - "required": false, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>", - "default": "" - }, - "in": "query" } ] } }, - "\/organizations\/{organizationId}\/taxId": { - "patch": { - "summary": "Set team's tax Id", - "operationId": "organizationsSetBillingTaxId", + "\/organizations": { + "get": { + "summary": "List Orgnizations", + "operationId": "organizationsList", "tags": [ "organizations" ], - "description": "Set an organization's billing tax ID.", + "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", "responses": { "200": { - "description": "Organization", + "description": "Organizations list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/organizationList" } } } @@ -41964,22 +42382,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "setBillingTaxId", + "method": "list", "group": null, - "weight": 1004, + "weight": 1061, "cookies": false, "type": "", - "demo": "organizations\/set-billing-tax-id.md", + "demo": "organizations\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "teams.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-tax-id.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -41991,53 +42409,52 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan, paymentMethodId, backupPaymentMethodId, platform", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<ORGANIZATION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "taxId": { - "type": "string", - "description": "Tax Id associated to billing.", - "x-example": "<TAX_ID>", - "x-nullable": true - } - }, - "required": [ - "taxId" - ] - } - } + "in": "query" } - } - } - }, - "\/organizations\/{organizationId}\/usage": { - "get": { - "summary": "Get team's usage data", - "operationId": "organizationsGetUsage", + ] + }, + "post": { + "summary": "Create Organization", + "operationId": "organizationsCreate", "tags": [ "organizations" ], - "description": "Get the usage data for an organization.", + "description": "Create a new organization.\n", "responses": { - "200": { - "description": "UsageOrganization", + "201": { + "description": "Organization, or PaymentAuthentication", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageOrganization" + "oneOf": [ + { + "$ref": "#\/components\/schemas\/organization" + }, + { + "$ref": "#\/components\/schemas\/paymentAuthentication" + } + ] } } } @@ -42045,22 +42462,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "create", "group": null, - "weight": 1005, + "weight": 1060, "cookies": false, "type": "", - "demo": "organizations\/get-usage.md", - "rate-limit": 0, + "demo": "organizations\/create.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "teams.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -42070,57 +42487,104 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - }, - { - "name": "startDate", - "description": "Starting date for the usage", - "required": false, - "schema": { - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "in": "query" - }, - { - "name": "endDate", - "description": "End date for the usage", - "required": false, - "schema": { - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Organization ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<ORGANIZATION_ID>" + }, + "name": { + "type": "string", + "description": "Organization name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "billingPlan": { + "type": "string", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", + "x-nullable": true + }, + "billingAddressId": { + "type": "string", + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>", + "x-nullable": true + }, + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "items": { + "type": "string" + } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", + "x-nullable": true + }, + "taxId": { + "type": "string", + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", + "x-nullable": true + }, + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "platform": { + "type": "string", + "description": "Platform type", + "x-example": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "organizationId", + "name", + "billingPlan" + ] + } + } } - ] + } } }, - "\/organizations\/{organizationId}\/validate": { + "\/organizations\/estimations\/create-organization": { "patch": { - "summary": "Validate payment for the organization after creation or upgrade", - "operationId": "organizationsValidatePayment", + "summary": "Estimate create Organization", + "operationId": "organizationsEstimationCreateOrganization", "tags": [ "organizations" ], - "description": "Validate payment for team after creation or upgrade.", + "description": "Get estimation for creating an organization.", "responses": { "200": { - "description": "Organization", + "description": "Estimation", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/estimation" } } } @@ -42128,22 +42592,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "validatePayment", + "method": "estimationCreateOrganization", "group": null, - "weight": 1027, + "weight": 1095, "cookies": false, "type": "", - "demo": "organizations\/validate-payment.md", - "rate-limit": 0, + "demo": "organizations\/estimation-create-organization.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "teams.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/validate-payment.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-create-organization.md", "auth": { "Project": [] } @@ -42153,24 +42617,23 @@ "Project": [] } ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<ORGANIZATION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { + "billingPlan": { + "type": "string", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", + "x-nullable": true + }, "invites": { "type": "array", "description": "Additional member invites", @@ -42178,22 +42641,42 @@ "items": { "type": "string" } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", + "x-nullable": true + }, + "platform": { + "type": "string", + "description": "Platform type", + "x-example": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [] } - } + }, + "required": [ + "billingPlan" + ] } } } } } }, - "\/project": { + "\/organizations\/{organizationId}": { "delete": { - "summary": "Delete project", - "operationId": "projectDelete", + "summary": "Delete team", + "operationId": "organizationsDelete", "tags": [ - "project" + "organizations" ], - "description": "Delete a project.", + "description": "Delete an organization.", "responses": { "204": { "description": "No content" @@ -42203,47 +42686,58 @@ "x-appwrite": { "method": "delete", "group": null, - "weight": 1096, + "weight": 1062, "cookies": false, "type": "", - "demo": "project\/delete.md", + "demo": "organizations\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "organizations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Team ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ] } }, - "\/project\/auth-methods\/{methodId}": { - "patch": { - "summary": "Update project auth method status. Use this endpoint to enable or disable a given auth method for this project.", - "operationId": "projectUpdateAuthMethod", + "\/organizations\/{organizationId}\/addons": { + "get": { + "summary": "List addons", + "operationId": "organizationsListAddons", "tags": [ - "project" + "organizations" ], - "description": "Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project. ", + "description": "List all billing addons for an organization.\n", "responses": { "200": { - "description": "Project", + "description": "Addons list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/addonList" } } } @@ -42251,91 +42745,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateAuthMethod", + "method": "listAddons", "group": null, - "weight": 1145, + "weight": 1103, "cookies": false, "type": "", - "demo": "project\/update-auth-method.md", + "demo": "organizations\/list-addons.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-addons.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "methodId", - "description": "Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "x-example": "email-password", - "enum": [ - "email-password", - "magic-url", - "email-otp", - "anonymous", - "invites", - "jwt", - "phone" - ], - "x-enum-name": "AuthMethod", - "x-enum-keys": [] + "x-example": "<ORGANIZATION_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Auth method status.", - "x-example": false - } - }, - "required": [ - "enabled" - ] - } - } - } - } + ] } }, - "\/project\/keys": { - "get": { - "summary": "List project keys", - "operationId": "projectListKeys", + "\/organizations\/{organizationId}\/addons\/baa": { + "post": { + "summary": "Create BAA addon", + "operationId": "organizationsCreateBaaAddon", "tags": [ - "project" + "organizations" ], - "description": "Get a list of all API keys from the current project.", + "description": "Create the BAA billing addon for an organization.\n", "responses": { - "200": { - "description": "API Keys List", + "201": { + "description": "Addon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/keyList" + "$ref": "#\/components\/schemas\/addon" } } } @@ -42343,73 +42806,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "listKeys", - "group": "keys", - "weight": 1112, + "method": "createBaaAddon", + "group": null, + "weight": 1106, "cookies": false, "type": "", - "demo": "project\/list-keys.md", - "rate-limit": 0, + "demo": "organizations\/create-baa-addon.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.read", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-baa-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "organizationId", + "description": "Organization ID", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<ORGANIZATION_ID>" }, - "in": "query" + "in": "path" } ] - }, - "post": { - "summary": "Create project key", - "operationId": "projectCreateKey", + } + }, + "\/organizations\/{organizationId}\/addons\/{addonId}": { + "get": { + "summary": "Get addon", + "operationId": "organizationsGetAddon", "tags": [ - "project" + "organizations" ], - "description": "Create a new API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create an ephemeral API key if you need a short-lived key instead.", + "description": "Get the details of a billing addon for an organization.\n", "responses": { - "201": { - "description": "Key", + "200": { + "description": "Addon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/addon" } } } @@ -42417,351 +42867,132 @@ }, "deprecated": false, "x-appwrite": { - "method": "createKey", - "group": "keys", - "weight": 1110, + "method": "getAddon", + "group": null, + "weight": 1104, "cookies": false, "type": "", - "demo": "project\/create-key.md", + "demo": "organizations\/get-addon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "keyId": { - "type": "string", - "description": "Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<KEY_ID>" - }, - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "expire": { - "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "keyId", - "name", - "scopes" - ] - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ADDON_ID>" + }, + "in": "path" } - } - } - }, - "\/project\/keys\/ephemeral": { - "post": { - "summary": "Create ephemeral project key", - "operationId": "projectCreateEphemeralKey", + ] + }, + "delete": { + "summary": "Delete addon", + "operationId": "organizationsDeleteAddon", "tags": [ - "project" + "organizations" ], - "description": "Create a new ephemeral API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create a standard API key if you need a longer-lived key instead.", + "description": "Delete a billing addon for an organization.\n", "responses": { - "201": { - "description": "Ephemeral Key", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/ephemeralKey" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createEphemeralKey", - "group": "keys", - "weight": 1111, + "method": "deleteAddon", + "group": null, + "weight": 1107, "cookies": false, "type": "", - "demo": "project\/create-ephemeral-key.md", - "rate-limit": 0, + "demo": "organizations\/delete-addon.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "duration": { - "type": "integer", - "description": "Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.", - "x-example": "600", - "format": "int32" - } - }, - "required": [ - "scopes", - "duration" - ] - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ADDON_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/keys\/{keyId}": { - "get": { - "summary": "Get project key", - "operationId": "projectGetKey", + "\/organizations\/{organizationId}\/addons\/{addonId}\/confirmations": { + "post": { + "summary": "Confirm addon payment after 3DS authentication", + "operationId": "organizationsConfirmAddonPayment", "tags": [ - "project" + "organizations" ], - "description": "Get a key by its unique ID. ", + "description": "Confirm payment for a billing addon for an organization.\n", "responses": { "200": { - "description": "Key", + "description": "Addon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/addon" } } } @@ -42769,59 +43000,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "getKey", - "group": "keys", - "weight": 1113, + "method": "confirmAddonPayment", + "group": null, + "weight": 1108, "cookies": false, "type": "", - "demo": "project\/get-key.md", - "rate-limit": 0, + "demo": "organizations\/confirm-addon-payment.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.read", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/confirm-addon-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "x-example": "<KEY_ID>" + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ADDON_ID>" }, "in": "path" } ] - }, - "put": { - "summary": "Update project key", - "operationId": "projectUpdateKey", + } + }, + "\/organizations\/{organizationId}\/addons\/{addon}\/price": { + "get": { + "summary": "Get addon price", + "operationId": "organizationsGetAddonPrice", "tags": [ - "project" + "organizations" ], - "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", + "description": "Get the price details for a billing addon for an organization.\n", "responses": { "200": { - "description": "Key", + "description": "AddonPrice", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/key" + "$ref": "#\/components\/schemas\/addonPrice" } } } @@ -42829,240 +43071,149 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateKey", - "group": "keys", - "weight": 1115, + "method": "getAddonPrice", + "group": null, + "weight": 1105, "cookies": false, "type": "", - "demo": "project\/update-key.md", + "demo": "organizations\/get-addon-price.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon-price.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "x-example": "<KEY_ID>" + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "addon", + "description": "Addon key identifier (e.g. baa).", + "required": true, + "schema": { + "type": "string", + "x-example": "baa", + "enum": [ + "baa" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "expire": { - "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "name", - "scopes" - ] - } - } - } - } - }, - "delete": { - "summary": "Delete project key", - "operationId": "projectDeleteKey", + ] + } + }, + "\/organizations\/{organizationId}\/aggregations": { + "get": { + "summary": "List aggregations", + "operationId": "organizationsListAggregations", "tags": [ - "project" + "organizations" ], - "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", + "description": "Get a list of all aggregations for an organization.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Aggregation team list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/aggregationTeamList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteKey", - "group": "keys", - "weight": 1114, + "method": "listAggregations", + "group": null, + "weight": 1077, "cookies": false, "type": "", - "demo": "project\/delete-key.md", + "demo": "organizations\/list-aggregations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-aggregations.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "x-example": "<KEY_ID>" + "x-example": "<ORGANIZATION_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, from, to", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } ] } }, - "\/project\/labels": { - "put": { - "summary": "Update project labels", - "operationId": "projectUpdateLabels", + "\/organizations\/{organizationId}\/aggregations\/{aggregationId}": { + "get": { + "summary": "Get aggregation", + "operationId": "organizationsGetAggregation", "tags": [ - "project" + "organizations" ], - "description": "Update the project labels. Labels can be used to easily filter projects in an organization.", + "description": "Get a specific aggregation using it's aggregation ID.", "responses": { "200": { - "description": "Project", + "description": "Team", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/aggregationTeam" } } } @@ -43070,71 +43221,93 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateLabels", + "method": "getAggregation", "group": null, - "weight": 1097, + "weight": 1078, "cookies": false, "type": "", - "demo": "project\/update-labels.md", + "demo": "organizations\/get-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-aggregation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "description": "Array of project labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "x-example": null, - "items": { - "type": "string" - } - } - }, - "required": [ - "labels" - ] - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "aggregationId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<AGGREGATION_ID>" + }, + "in": "path" + }, + { + "name": "limit", + "description": "Maximum number of project aggregations to return in response. By default will return maximum 5 results. Maximum of 10 results allowed per request.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 5 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Offset value. The default value is 0. Use this param to manage pagination.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + }, + "in": "query" } - } + ] } }, - "\/project\/mock-phones": { - "get": { - "summary": "List project mock phones", - "operationId": "projectListMockPhones", + "\/organizations\/{organizationId}\/billing-address": { + "patch": { + "summary": "Set team's billing address", + "operationId": "organizationsSetBillingAddress", "tags": [ - "project" + "organizations" ], - "description": "Get a list of all mock phones in the project. This endpoint returns an array of all mock phones and their OTPs.", + "description": "Set a billing address for an organization.", "responses": { "200": { - "description": "Mock Numbers List", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mockNumberList" + "$ref": "#\/components\/schemas\/organization" } } } @@ -43142,149 +43315,131 @@ }, "deprecated": false, "x-appwrite": { - "method": "listMockPhones", - "group": "mocks", - "weight": 1130, + "method": "setBillingAddress", + "group": null, + "weight": 1070, "cookies": false, "type": "", - "demo": "project\/list-mock-phones.md", + "demo": "organizations\/set-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.read", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "organizationId", + "description": "Organization ID", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<ORGANIZATION_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "billingAddressId": { + "type": "string", + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>" + } + }, + "required": [ + "billingAddressId" + ] + } + } + } + } }, - "post": { - "summary": "Create project mock phone", - "operationId": "projectCreateMockPhone", + "delete": { + "summary": "Delete team's billing address", + "operationId": "organizationsDeleteBillingAddress", "tags": [ - "project" + "organizations" ], - "description": "Create a new mock phone for your project. Use this endpoint to register a mock phone number and its sign-in OTP for your testers.", + "description": "Delete a team's billing address.", "responses": { - "201": { - "description": "Mock Number", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/mockNumber" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createMockPhone", - "group": "mocks", - "weight": 1129, + "method": "deleteBillingAddress", + "group": null, + "weight": 1071, "cookies": false, "type": "", - "demo": "project\/create-mock-phone.md", + "demo": "organizations\/delete-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "number": { - "type": "string", - "description": "Phone number to associate with the mock phone. Must be a valid E.164 formatted phone number.", - "x-example": "+12065550100", - "format": "phone" - }, - "otp": { - "type": "string", - "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "x-example": "<OTP>" - } - }, - "required": [ - "number", - "otp" - ] - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/mock-phones\/{number}": { + "\/organizations\/{organizationId}\/billing-addresses\/{billingAddressId}": { "get": { - "summary": "Get project mock phone", - "operationId": "projectGetMockPhone", + "summary": "Get billing address", + "operationId": "organizationsGetBillingAddress", "tags": [ - "project" + "organizations" ], - "description": "Get a mock phone by its unique number. This endpoint returns the mock phone's OTP.", + "description": "Get a billing address using it's ID.", "responses": { "200": { - "description": "Mock Number", + "description": "Address", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mockNumber" + "$ref": "#\/components\/schemas\/billingAddress" } } } @@ -43292,60 +43447,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "getMockPhone", - "group": "mocks", - "weight": 1131, + "method": "getBillingAddress", + "group": null, + "weight": 1069, "cookies": false, "type": "", - "demo": "project\/get-mock-phone.md", + "demo": "organizations\/get-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.read", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "format": "phone", - "x-example": "+12065550100" + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "billingAddressId", + "description": "Unique ID of billing address", + "required": true, + "schema": { + "type": "string", + "x-example": "<BILLING_ADDRESS_ID>" }, "in": "path" } ] - }, - "put": { - "summary": "Update project mock phone", - "operationId": "projectUpdateMockPhone", + } + }, + "\/organizations\/{organizationId}\/billing-email": { + "patch": { + "summary": "Set team's billing email", + "operationId": "organizationsSetBillingEmail", "tags": [ - "project" + "organizations" ], - "description": "Update a mock phone by its unique number. Use this endpoint to update the mock phone's OTP.", + "description": "Set the current billing email for the organization.", "responses": { "200": { - "description": "Mock Number", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mockNumber" + "$ref": "#\/components\/schemas\/organization" } } } @@ -43353,41 +43518,39 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMockPhone", - "group": "mocks", - "weight": 1132, + "method": "setBillingEmail", + "group": null, + "weight": 1089, "cookies": false, "type": "", - "demo": "project\/update-mock-phone.md", + "demo": "organizations\/set-billing-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-email.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "name": "organizationId", + "description": "Organization ID", "required": true, "schema": { "type": "string", - "format": "phone", - "x-example": "+12065550100" + "x-example": "<ORGANIZATION_ID>" }, "in": "path" } @@ -43398,90 +43561,127 @@ "schema": { "type": "object", "properties": { - "otp": { + "billingEmail": { "type": "string", - "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "x-example": "<OTP>" + "description": "Billing email for the organization.", + "x-example": "email@example.com", + "format": "email" } }, "required": [ - "otp" + "billingEmail" ] } } } } - }, - "delete": { - "summary": "Delete project mock phone", - "operationId": "projectDeleteMockPhone", + } + }, + "\/organizations\/{organizationId}\/budget": { + "patch": { + "summary": "Update organization budget", + "operationId": "organizationsUpdateBudget", "tags": [ - "project" + "organizations" ], - "description": "Delete a mock phone by its unique number. This endpoint removes the mock phone and its OTP configuration from the project.", + "description": "Update the budget limit for an organization.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Organization", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/organization" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteMockPhone", - "group": "mocks", - "weight": 1133, + "method": "updateBudget", + "group": null, + "weight": 1066, "cookies": false, "type": "", - "demo": "project\/delete-mock-phone.md", + "demo": "organizations\/update-budget.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-budget.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "name": "organizationId", + "description": "Organization Unique ID", "required": true, "schema": { "type": "string", - "format": "phone", - "x-example": "+12065550100" + "x-example": "<ORGANIZATION_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "alerts": { + "type": "array", + "description": "Budget alert limit percentage", + "x-example": null, + "items": { + "type": "integer" + } + } + }, + "required": [ + "budget" + ] + } + } + } + } } }, - "\/project\/oauth2": { + "\/organizations\/{organizationId}\/credits": { "get": { - "summary": "List project OAuth2 providers", - "operationId": "projectListOAuth2Providers", + "summary": "List credits", + "operationId": "organizationsListCredits", "tags": [ - "project" + "organizations" ], - "description": "Get a list of all OAuth2 providers supported by the server, along with the project's configuration for each. Credential fields are write-only and always returned empty.", + "description": "List all credits for an organization.\n", "responses": { "200": { - "description": "OAuth2 Providers List", + "description": "CreditList", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2ProviderList" + "$ref": "#\/components\/schemas\/creditList" } } } @@ -43489,36 +43689,45 @@ }, "deprecated": false, "x-appwrite": { - "method": "listOAuth2Providers", - "group": "oauth2", - "weight": 1146, + "method": "listCredits", + "group": null, + "weight": 1081, "cookies": false, "type": "", - "demo": "project\/list-o-auth-2-providers.md", + "demo": "organizations\/list-credits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.read", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-credits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, couponId, credits, expiration, status", "required": false, "schema": { "type": "array", @@ -43528,36 +43737,23 @@ "default": [] }, "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } ] - } - }, - "\/project\/oauth2\/amazon": { - "patch": { - "summary": "Update project OAuth2 Amazon", - "operationId": "projectUpdateOAuth2Amazon", + }, + "post": { + "summary": "Add credits from coupon", + "operationId": "organizationsAddCredit", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Amazon configuration.", + "description": "Add credit to an organization using a coupon.", "responses": { - "200": { - "description": "OAuth2Amazon", + "201": { + "description": "Credit", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Amazon" + "$ref": "#\/components\/schemas\/credit" } } } @@ -43565,30 +43761,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Amazon", - "group": "oauth2", - "weight": 1173, + "method": "addCredit", + "group": null, + "weight": 1082, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-amazon.md", - "rate-limit": 0, + "demo": "organizations\/add-credit.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/add-credit.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -43597,46 +43804,36 @@ "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "couponId": { "type": "string", - "description": "'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "ID of the coupon", + "x-example": "<COUPON_ID>" } - } + }, + "required": [ + "couponId" + ] } } } } } }, - "\/project\/oauth2\/apple": { - "patch": { - "summary": "Update project OAuth2 Apple", - "operationId": "projectUpdateOAuth2Apple", + "\/organizations\/{organizationId}\/credits\/available": { + "get": { + "summary": "Get available credits", + "operationId": "organizationsGetAvailableCredits", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Apple configuration.", + "description": "Get total available valid credits for an organization.", "responses": { "200": { - "description": "OAuth2Apple", + "description": "CreditAvailable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Apple" + "$ref": "#\/components\/schemas\/creditAvailable" } } } @@ -43644,90 +43841,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Apple", - "group": "oauth2", - "weight": 1188, + "method": "getAvailableCredits", + "group": null, + "weight": 1080, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-apple.md", + "demo": "organizations\/get-available-credits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-available-credits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "serviceId": { - "type": "string", - "description": "'Service ID' of Apple OAuth2 app. For example: ip.appwrite.app.web", - "x-example": "<SERVICE_ID>", - "x-nullable": true - }, - "keyId": { - "type": "string", - "description": "'Key ID' of Apple OAuth2 app. For example: P4000000N8", - "x-example": "<KEY_ID>", - "x-nullable": true - }, - "teamId": { - "type": "string", - "description": "'Team ID' of Apple OAuth2 app. For example: D4000000R6", - "x-example": "<TEAM_ID>", - "x-nullable": true - }, - "p8File": { - "type": "string", - "description": "Contents of the Apple OAuth2 app .p8 private key file. The secret key wrapped by the PEM markers is 200 characters long. For example: -----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----", - "x-example": "<P8_FILE>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/auth0": { - "patch": { - "summary": "Update project OAuth2 Auth0", - "operationId": "projectUpdateOAuth2Auth0", + "\/organizations\/{organizationId}\/credits\/{creditId}": { + "get": { + "summary": "Get credit details", + "operationId": "organizationsGetCredit", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Auth0 configuration.", + "description": "Get credit details.", "responses": { "200": { - "description": "OAuth2Auth0", + "description": "Credit", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Auth0" + "$ref": "#\/components\/schemas\/credit" } } } @@ -43735,84 +43902,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Auth0", - "group": "oauth2", - "weight": 1182, + "method": "getCredit", + "group": null, + "weight": 1079, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-auth-0.md", + "demo": "organizations\/get-credit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-credit.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Auth0 instance. For example: example.us.auth0.com", - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "creditId", + "description": "Credit Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<CREDIT_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/authentik": { + "\/organizations\/{organizationId}\/estimations\/delete-organization": { "patch": { - "summary": "Update project OAuth2 Authentik", - "operationId": "projectUpdateOAuth2Authentik", + "summary": "Estimate delete team", + "operationId": "organizationsEstimationDeleteOrganization", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Authentik configuration.", + "description": "Get estimation for deleting an organization.", "responses": { "200": { - "description": "OAuth2Authentik", + "description": "DeleteOrganization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Authentik" + "$ref": "#\/components\/schemas\/estimationDeleteOrganization" } } } @@ -43820,84 +43973,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Authentik", - "group": "oauth2", - "weight": 1181, + "method": "estimationDeleteOrganization", + "group": null, + "weight": 1096, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-authentik.md", - "rate-limit": 0, + "demo": "organizations\/estimation-delete-organization.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "organizations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-delete-organization.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Authentik instance. For example: example.authentik.com", - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Team ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/autodesk": { + "\/organizations\/{organizationId}\/estimations\/update-plan": { "patch": { - "summary": "Update project OAuth2 Autodesk", - "operationId": "projectUpdateOAuth2Autodesk", + "summary": "Estimate for update plan", + "operationId": "organizationsEstimationUpdatePlan", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Autodesk configuration.", + "description": "Get estimation for updating the organization plan.", "responses": { "200": { - "description": "OAuth2Autodesk", + "description": "UpdatePlan", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Autodesk" + "$ref": "#\/components\/schemas\/estimationUpdatePlan" } } } @@ -43905,78 +44034,93 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Autodesk", - "group": "oauth2", - "weight": 1156, + "method": "estimationUpdatePlan", + "group": null, + "weight": 1093, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-autodesk.md", - "rate-limit": 0, + "demo": "organizations\/estimation-update-plan.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-update-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "billingPlan": { "type": "string", - "description": "'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7", - "x-example": "<CLIENT_ID>", - "x-nullable": true + "description": "Organization billing plan chosen", + "x-example": "tier-0" }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "items": { + "type": "string" + } }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } } } } }, - "\/project\/oauth2\/bitbucket": { - "patch": { - "summary": "Update project OAuth2 Bitbucket", - "operationId": "projectUpdateOAuth2Bitbucket", + "\/organizations\/{organizationId}\/feedbacks\/downgrade": { + "post": { + "summary": "Create downgrade feedback", + "operationId": "organizationsCreateDowngradeFeedback", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Bitbucket configuration.", + "description": "Submit feedback about downgrading from a paid plan to a lower tier. This helps the team understand user experience and improve the platform.\n", "responses": { - "200": { - "description": "OAuth2Bitbucket", + "201": { + "description": "Downgrade Feedback", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Bitbucket" + "$ref": "#\/components\/schemas\/downgradeFeedback" } } } @@ -43984,30 +44128,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Bitbucket", - "group": "oauth2", - "weight": 1153, + "method": "createDowngradeFeedback", + "group": null, + "weight": 1097, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-bitbucket.md", + "demo": "organizations\/create-downgrade-feedback.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-downgrade-feedback.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -44016,46 +44171,54 @@ "schema": { "type": "object", "properties": { - "key": { + "reason": { "type": "string", - "description": "'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc", - "x-example": "<KEY>", - "x-nullable": true + "description": "Feedback reason", + "x-example": "<REASON>" }, - "secret": { + "message": { "type": "string", - "description": "'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx", - "x-example": "<SECRET>", - "x-nullable": true + "description": "Feedback message", + "x-example": "<MESSAGE>" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "fromPlanId": { + "type": "string", + "description": "Plan downgrading from", + "x-example": "<FROM_PLAN_ID>" + }, + "toPlanId": { + "type": "string", + "description": "Plan downgrading to", + "x-example": "<TO_PLAN_ID>" } - } + }, + "required": [ + "reason", + "message", + "fromPlanId", + "toPlanId" + ] } } } } } }, - "\/project\/oauth2\/bitly": { - "patch": { - "summary": "Update project OAuth2 Bitly", - "operationId": "projectUpdateOAuth2Bitly", + "\/organizations\/{organizationId}\/invoices": { + "get": { + "summary": "List invoices", + "operationId": "organizationsListInvoices", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Bitly configuration.", + "description": "List all invoices for an organization.", "responses": { "200": { - "description": "OAuth2Bitly", + "description": "Billing invoices list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Bitly" + "$ref": "#\/components\/schemas\/invoiceList" } } } @@ -44063,78 +44226,73 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Bitly", - "group": "oauth2", - "weight": 1154, + "method": "listInvoices", + "group": null, + "weight": 1084, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-bitly.md", + "demo": "organizations\/list-invoices.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-invoices.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } - } + ] } }, - "\/project\/oauth2\/box": { - "patch": { - "summary": "Update project OAuth2 Box", - "operationId": "projectUpdateOAuth2Box", + "\/organizations\/{organizationId}\/invoices\/{invoiceId}": { + "get": { + "summary": "Get invoice", + "operationId": "organizationsGetInvoice", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Box configuration.", + "description": "Get an invoice by its unique ID.", "responses": { "200": { - "description": "OAuth2Box", + "description": "Invoice", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Box" + "$ref": "#\/components\/schemas\/invoice" } } } @@ -44142,78 +44300,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Box", - "group": "oauth2", - "weight": 1155, + "method": "getInvoice", + "group": null, + "weight": 1083, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-box.md", + "demo": "organizations\/get-invoice.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<INVOICE_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/dailymotion": { - "patch": { - "summary": "Update project OAuth2 Dailymotion", - "operationId": "projectUpdateOAuth2Dailymotion", + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/download": { + "get": { + "summary": "Download invoice in PDF", + "operationId": "organizationsGetInvoiceDownload", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Dailymotion configuration.", + "description": "Download invoice in PDF", "responses": { "200": { - "description": "OAuth2Dailymotion", + "description": "paymentMethod", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Dailymotion" + "$ref": "#\/components\/schemas\/paymentMethod" } } } @@ -44221,78 +44371,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Dailymotion", - "group": "oauth2", - "weight": 1152, + "method": "getInvoiceDownload", + "group": null, + "weight": 1087, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-dailymotion.md", + "demo": "organizations\/get-invoice-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-download.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "apiKey": { - "type": "string", - "description": "'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f", - "x-example": "<API_KEY>", - "x-nullable": true - }, - "apiSecret": { - "type": "string", - "description": "'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639", - "x-example": "<API_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<INVOICE_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/discord": { - "patch": { - "summary": "Update project OAuth2 Discord", - "operationId": "projectUpdateOAuth2Discord", + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/payments": { + "post": { + "summary": "Initiate payment for failed invoice to pay live from console", + "operationId": "organizationsCreateInvoicePayment", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Discord configuration.", + "description": "Initiate payment for failed invoice to pay live from console", "responses": { "200": { - "description": "OAuth2Discord", + "description": "Invoice", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Discord" + "$ref": "#\/components\/schemas\/invoice" } } } @@ -44300,30 +44442,51 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Discord", - "group": "oauth2", - "weight": 1149, + "method": "createInvoicePayment", + "group": null, + "weight": 1088, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-discord.md", - "rate-limit": 0, - "rate-time": 3600, + "demo": "organizations\/create-invoice-payment.md", + "rate-limit": 10, + "rate-time": 86400, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-invoice-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<INVOICE_ID>" + }, + "in": "path" } ], "requestBody": { @@ -44332,46 +44495,36 @@ "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Discord OAuth2 app. For example: 950722000000343754", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "paymentMethodId": { "type": "string", - "description": "'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "Payment method ID", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } } } } }, - "\/project\/oauth2\/disqus": { + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/status": { "patch": { - "summary": "Update project OAuth2 Disqus", - "operationId": "projectUpdateOAuth2Disqus", + "summary": "Validate the payment for an invoice and update status", + "operationId": "organizationsValidateInvoice", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Disqus configuration.", + "description": "Validates the payment linked with the invoice and updates the invoice status if the payment status is changed.", "responses": { "200": { - "description": "OAuth2Disqus", + "description": "Invoice", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Disqus" + "$ref": "#\/components\/schemas\/invoice" } } } @@ -44379,78 +44532,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Disqus", - "group": "oauth2", - "weight": 1172, + "method": "validateInvoice", + "group": null, + "weight": 1085, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-disqus.md", + "demo": "organizations\/validate-invoice.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-invoice-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "publicKey": { - "type": "string", - "description": "'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", - "x-example": "<PUBLIC_KEY>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9", - "x-example": "<SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<INVOICE_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/dropbox": { - "patch": { - "summary": "Update project OAuth2 Dropbox", - "operationId": "projectUpdateOAuth2Dropbox", + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/view": { + "get": { + "summary": "View invoice in PDF", + "operationId": "organizationsGetInvoiceView", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Dropbox configuration.", + "description": "View invoice in PDF", "responses": { "200": { - "description": "OAuth2Dropbox", + "description": "paymentMethod", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Dropbox" + "$ref": "#\/components\/schemas\/paymentMethod" } } } @@ -44458,78 +44603,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Dropbox", - "group": "oauth2", - "weight": 1151, + "method": "getInvoiceView", + "group": null, + "weight": 1086, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-dropbox.md", + "demo": "organizations\/get-invoice-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-view.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "appKey": { - "type": "string", - "description": "'App Key' of Dropbox OAuth2 app. For example: jl000000000009t", - "x-example": "<APP_KEY>", - "x-nullable": true - }, - "appSecret": { - "type": "string", - "description": "'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw", - "x-example": "<APP_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<INVOICE_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/etsy": { - "patch": { - "summary": "Update project OAuth2 Etsy", - "operationId": "projectUpdateOAuth2Etsy", + "\/organizations\/{organizationId}\/keys": { + "get": { + "summary": "List organization keys", + "operationId": "organizationsListKeys", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Etsy configuration.", + "description": "Get a list of all API keys from the current organization. ", "responses": { "200": { - "description": "OAuth2Etsy", + "description": "API Keys List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Etsy" + "$ref": "#\/components\/schemas\/keyList" } } } @@ -44537,19 +44674,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Etsy", - "group": "oauth2", - "weight": 1174, + "method": "listKeys", + "group": "keys", + "weight": 1100, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-etsy.md", + "demo": "organizations\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -44559,56 +44695,47 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "keyString": { - "type": "string", - "description": "'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2", - "x-example": "<KEY_STRING>", - "x-nullable": true - }, - "sharedSecret": { - "type": "string", - "description": "'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru", - "x-example": "<SHARED_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - } - }, - "\/project\/oauth2\/facebook": { - "patch": { - "summary": "Update project OAuth2 Facebook", - "operationId": "projectUpdateOAuth2Facebook", + ] + }, + "post": { + "summary": "Create organization key", + "operationId": "organizationsCreateKey", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Facebook configuration.", + "description": "Create a new organization API key.", "responses": { - "200": { - "description": "OAuth2Facebook", + "201": { + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Facebook" + "$ref": "#\/components\/schemas\/key" } } } @@ -44616,19 +44743,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Facebook", - "group": "oauth2", - "weight": 1175, + "method": "createKey", + "group": "keys", + "weight": 1098, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-facebook.md", + "demo": "organizations\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -44638,8 +44764,19 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -44648,46 +44785,64 @@ "schema": { "type": "object", "properties": { - "appId": { + "name": { "type": "string", - "description": "'App ID' of Facebook OAuth2 app. For example: 260600000007694", - "x-example": "<APP_ID>", - "x-nullable": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "appSecret": { - "type": "string", - "description": "'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4", - "x-example": "<APP_SECRET>", - "x-nullable": true + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "projects.read", + "projects.write", + "devKeys.read", + "devKeys.write", + "domains.read", + "domains.write", + "keys.read", + "keys.write" + ], + "x-enum-name": null, + "x-enum-keys": [] + } }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", "x-nullable": true } - } + }, + "required": [ + "name", + "scopes" + ] } } } } } }, - "\/project\/oauth2\/figma": { - "patch": { - "summary": "Update project OAuth2 Figma", - "operationId": "projectUpdateOAuth2Figma", + "\/organizations\/{organizationId}\/keys\/{keyId}": { + "get": { + "summary": "Get organization key", + "operationId": "organizationsGetKey", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Figma configuration.", + "description": "Get a key by its unique ID. This endpoint returns details about a specific API key in your organization including it's scopes.", "responses": { "200": { - "description": "OAuth2Figma", + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Figma" + "$ref": "#\/components\/schemas\/key" } } } @@ -44695,19 +44850,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Figma", - "group": "oauth2", - "weight": 1150, + "method": "getKey", + "group": "keys", + "weight": 1102, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-figma.md", + "demo": "organizations\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -44717,56 +44871,46 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<KEY_ID>" + }, + "in": "path" } - } - } - }, - "\/project\/oauth2\/fusionauth": { - "patch": { - "summary": "Update project OAuth2 FusionAuth", - "operationId": "projectUpdateOAuth2FusionAuth", + ] + }, + "put": { + "summary": "Update organization key", + "operationId": "organizationsUpdateKey", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 FusionAuth configuration.", + "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", "responses": { "200": { - "description": "OAuth2FusionAuth", + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2FusionAuth" + "$ref": "#\/components\/schemas\/key" } } } @@ -44774,19 +44918,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2FusionAuth", - "group": "oauth2", - "weight": 1183, + "method": "updateKey", + "group": "keys", + "weight": 1099, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-fusion-auth.md", + "demo": "organizations\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -44796,8 +44939,29 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<KEY_ID>" + }, + "in": "path" } ], "requestBody": { @@ -44806,72 +44970,74 @@ "schema": { "type": "object", "properties": { - "clientId": { + "name": { "type": "string", - "description": "'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097", - "x-example": "<CLIENT_ID>", - "x-nullable": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "projects.read", + "projects.write", + "devKeys.read", + "devKeys.write", + "domains.read", + "domains.write", + "keys.read", + "keys.write" + ], + "x-enum-name": null, + "x-enum-keys": [] + } }, - "endpoint": { + "expire": { "type": "string", - "description": "Domain of FusionAuth instance. For example: example.fusionauth.io", - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", "x-nullable": true } - } + }, + "required": [ + "name", + "scopes" + ] } } } } - } - }, - "\/project\/oauth2\/github": { - "patch": { - "summary": "Update project OAuth2 GitHub", - "operationId": "projectUpdateOAuth2GitHub", + }, + "delete": { + "summary": "Delete organization key", + "operationId": "organizationsDeleteKey", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 GitHub configuration.", + "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", "responses": { - "200": { - "description": "OAuth2GitHub", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/oAuth2Github" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2GitHub", - "group": "oauth2", - "weight": 1148, + "method": "deleteKey", + "group": "keys", + "weight": 1101, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-git-hub.md", + "demo": "organizations\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -44881,56 +45047,48 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<KEY_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/gitlab": { + "\/organizations\/{organizationId}\/payment-method": { "patch": { - "summary": "Update project OAuth2 Gitlab", - "operationId": "projectUpdateOAuth2Gitlab", + "summary": "Set team's payment method", + "operationId": "organizationsSetDefaultPaymentMethod", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Gitlab configuration.", + "description": "Set a organization's default payment method.", "responses": { "200": { - "description": "OAuth2Gitlab", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Gitlab" + "$ref": "#\/components\/schemas\/organization" } } } @@ -44938,30 +45096,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Gitlab", - "group": "oauth2", - "weight": 1180, + "method": "setDefaultPaymentMethod", + "group": null, + "weight": 1073, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-gitlab.md", + "demo": "organizations\/set-default-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-default-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -44970,53 +45139,34 @@ "schema": { "type": "object", "properties": { - "applicationId": { - "type": "string", - "description": "'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252", - "x-example": "<APPLICATION_ID>", - "x-nullable": true - }, - "secret": { - "type": "string", - "description": "'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", - "x-example": "<SECRET>", - "x-nullable": true - }, - "endpoint": { + "paymentMethodId": { "type": "string", - "description": "Endpoint URL of self-hosted GitLab instance. For example: https:\/\/gitlab.com", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "Unique ID of payment method", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } } } - } - }, - "\/project\/oauth2\/google": { - "patch": { - "summary": "Update project OAuth2 Google", - "operationId": "projectUpdateOAuth2Google", + }, + "delete": { + "summary": "Delete team's default payment method", + "operationId": "organizationsDeleteDefaultPaymentMethod", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Google configuration.", + "description": "Delete the default payment method for an organization.", "responses": { "200": { - "description": "OAuth2Google", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Google" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45024,94 +45174,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Google", - "group": "oauth2", - "weight": 1157, + "method": "deleteDefaultPaymentMethod", + "group": null, + "weight": 1075, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-google.md", + "demo": "organizations\/delete-default-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-default-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "prompt": { - "type": "array", - "description": "Array of Google OAuth2 prompt values. If \"none\" is included, it must be the only element. \"none\" means: don't display any authentication or consent screens. Must not be specified with other values. \"consent\" means: prompt the user for consent. \"select_account\" means: prompt the user to select an account.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "none", - "consent", - "select_account" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/keycloak": { + "\/organizations\/{organizationId}\/payment-method\/backup": { "patch": { - "summary": "Update project OAuth2 Keycloak", - "operationId": "projectUpdateOAuth2Keycloak", + "summary": "Set team's backup payment method", + "operationId": "organizationsSetBackupPaymentMethod", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Keycloak configuration.", + "description": "Set an organization's backup payment method.\n", "responses": { "200": { - "description": "OAuth2Keycloak", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Keycloak" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45119,30 +45235,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Keycloak", - "group": "oauth2", - "weight": 1184, + "method": "setBackupPaymentMethod", + "group": null, + "weight": 1074, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-keycloak.md", + "demo": "organizations\/set-backup-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-backup-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -45151,58 +45278,34 @@ "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Keycloak instance. For example: keycloak.example.com", - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "realmName": { + "paymentMethodId": { "type": "string", - "description": "Keycloak realm name. For example: appwrite-realm", - "x-example": "<REALM_NAME>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "Unique ID of payment method", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } } } - } - }, - "\/project\/oauth2\/kick": { - "patch": { - "summary": "Update project OAuth2 Kick", - "operationId": "projectUpdateOAuth2Kick", + }, + "delete": { + "summary": "Delete team's backup payment method", + "operationId": "organizationsDeleteBackupPaymentMethod", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Kick configuration.", + "description": "Delete a backup payment method for an organization.", "responses": { "200": { - "description": "OAuth2Kick", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Kick" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45210,78 +45313,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Kick", - "group": "oauth2", - "weight": 1187, + "method": "deleteBackupPaymentMethod", + "group": null, + "weight": 1076, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-kick.md", + "demo": "organizations\/delete-backup-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-backup-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/linkedin": { - "patch": { - "summary": "Update project OAuth2 Linkedin", - "operationId": "projectUpdateOAuth2Linkedin", + "\/organizations\/{organizationId}\/payment-methods\/{paymentMethodId}": { + "get": { + "summary": "Get payment method", + "operationId": "organizationsGetPaymentMethod", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Linkedin configuration.", + "description": "Get an organization's payment method using it's payment method ID.", "responses": { "200": { - "description": "OAuth2Linkedin", + "description": "paymentMethod", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Linkedin" + "$ref": "#\/components\/schemas\/paymentMethod" } } } @@ -45289,78 +45374,70 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Linkedin", - "group": "oauth2", - "weight": 1171, + "method": "getPaymentMethod", + "group": null, + "weight": 1072, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-linkedin.md", + "demo": "organizations\/get-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "primaryClientSecret": { - "type": "string", - "description": "'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: WPL_AP1.2Bf0000000000000.\/HtlYw==", - "x-example": "<PRIMARY_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "paymentMethodId", + "description": "Unique ID of payment method", + "required": true, + "schema": { + "type": "string", + "x-example": "<PAYMENT_METHOD_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/microsoft": { - "patch": { - "summary": "Update project OAuth2 Microsoft", - "operationId": "projectUpdateOAuth2Microsoft", + "\/organizations\/{organizationId}\/plan": { + "get": { + "summary": "Get organization billing plan details", + "operationId": "organizationsGetPlan", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Microsoft configuration.", + "description": "Get the details of the current billing plan for an organization.", "responses": { "200": { - "description": "OAuth2Microsoft", + "description": "billingPlan", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Microsoft" + "$ref": "#\/components\/schemas\/billingPlan" } } } @@ -45368,84 +45445,58 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Microsoft", - "group": "oauth2", - "weight": 1189, + "method": "getPlan", + "group": null, + "weight": 1063, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-microsoft.md", + "demo": "organizations\/get-plan.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "applicationId": { - "type": "string", - "description": "'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444", - "x-example": "<APPLICATION_ID>", - "x-nullable": true - }, - "applicationSecret": { - "type": "string", - "description": "'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", - "x-example": "<APPLICATION_SECRET>", - "x-nullable": true - }, - "tenant": { - "type": "string", - "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common", - "x-example": "<TENANT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } - } - }, - "\/project\/oauth2\/notion": { + ] + }, "patch": { - "summary": "Update project OAuth2 Notion", - "operationId": "projectUpdateOAuth2Notion", + "summary": "Update organization billing plan", + "operationId": "organizationsUpdatePlan", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Notion configuration.", + "description": "Update the billing plan for an organization.", "responses": { "200": { - "description": "OAuth2Notion", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Notion" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45453,30 +45504,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Notion", - "group": "oauth2", - "weight": 1168, + "method": "updatePlan", + "group": null, + "weight": 1064, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-notion.md", - "rate-limit": 0, + "demo": "organizations\/update-plan.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -45485,46 +45547,74 @@ "schema": { "type": "object", "properties": { - "oauthClientId": { + "billingPlan": { "type": "string", - "description": "'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3", - "x-example": "<OAUTH_CLIENT_ID>", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", "x-nullable": true }, - "oauthClientSecret": { + "billingAddressId": { "type": "string", - "description": "'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9", - "x-example": "<OAUTH_CLIENT_SECRET>", + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>" + }, + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "items": { + "type": "string" + } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "taxId": { + "type": "string", + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", + "x-nullable": true + }, + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } } } } }, - "\/project\/oauth2\/oidc": { + "\/organizations\/{organizationId}\/plan\/cancel": { "patch": { - "summary": "Update project OAuth2 Oidc", - "operationId": "projectUpdateOAuth2Oidc", + "summary": "Cancel organization plan change", + "operationId": "organizationsCancelDowngrade", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Oidc configuration.", + "description": "Cancel the downgrade initiated for an organization.", "responses": { "200": { - "description": "OAuth2Oidc", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Oidc" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45532,106 +45622,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Oidc", - "group": "oauth2", - "weight": 1185, + "method": "cancelDowngrade", + "group": null, + "weight": 1065, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-oidc.md", + "demo": "organizations\/cancel-downgrade.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/cancel-downgrade.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "wellKnownURL": { - "type": "string", - "description": "OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https:\/\/myoauth.com\/.well-known\/openid-configuration", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "authorizationURL": { - "type": "string", - "description": "OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/authorize", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "tokenURL": { - "type": "string", - "description": "OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/token", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "userInfoURL": { - "type": "string", - "description": "OpenID Connect user info endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/userinfo", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/okta": { - "patch": { - "summary": "Update project OAuth2 Okta", - "operationId": "projectUpdateOAuth2Okta", + "\/organizations\/{organizationId}\/plan\/estimations": { + "post": { + "summary": "Create billing plan estimation (upgrade or downgrade)", + "operationId": "organizationsCreatePlanEstimation", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Okta configuration.", + "description": "Create a billing plan estimation for upgrading or downgrading an organization plan.\n", "responses": { "200": { - "description": "OAuth2Okta", + "description": "EstimationPlanChange", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Okta" + "$ref": "#\/components\/schemas\/estimationPlanChange" } } } @@ -45639,30 +45683,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Okta", - "group": "oauth2", - "weight": 1186, + "method": "createPlanEstimation", + "group": null, + "weight": 1094, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-okta.md", - "rate-limit": 0, + "demo": "organizations\/create-plan-estimation.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-plan-estimation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -45671,58 +45726,50 @@ "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "billingPlan": { "type": "string", - "description": "'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "description": "Target billing plan", + "x-example": "tier-0" }, - "domain": { - "type": "string", - "description": "Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https:\/\/trial-6400025.okta.com\/", + "invites": { + "type": "array", + "description": "Additional member invites", "x-example": null, - "x-nullable": true + "items": { + "type": "string" + } }, - "authorizationServerId": { + "couponId": { "type": "string", - "description": "Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z", - "x-example": "<AUTHORIZATION_SERVER_ID>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } } } } }, - "\/project\/oauth2\/paypal": { - "patch": { - "summary": "Update project OAuth2 Paypal", - "operationId": "projectUpdateOAuth2Paypal", + "\/organizations\/{organizationId}\/regions": { + "get": { + "summary": "List Regions", + "operationId": "organizationsListRegions", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Paypal configuration.", + "description": "Get all available regions for an organization.", "responses": { "200": { - "description": "OAuth2Paypal", + "description": "Regions list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Paypal" + "$ref": "#\/components\/schemas\/consoleRegionList" } } } @@ -45730,78 +45777,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Paypal", - "group": "oauth2", - "weight": 1178, + "method": "listRegions", + "group": null, + "weight": 1092, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-paypal.md", + "demo": "organizations\/list-regions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-regions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "x-example": "<SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Team ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/paypalSandbox": { - "patch": { - "summary": "Update project OAuth2 PaypalSandbox", - "operationId": "projectUpdateOAuth2PaypalSandbox", + "\/organizations\/{organizationId}\/roles": { + "get": { + "summary": "Get Scopes", + "operationId": "organizationsGetScopes", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 PaypalSandbox configuration.", + "description": "Get Scopes", "responses": { "200": { - "description": "OAuth2Paypal", + "description": "Roles", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Paypal" + "$ref": "#\/components\/schemas\/roles" } } } @@ -45809,78 +45838,71 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2PaypalSandbox", - "group": "oauth2", - "weight": 1179, + "method": "getScopes", + "group": null, + "weight": 1091, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-paypal-sandbox.md", + "demo": "organizations\/get-scopes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-scopes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "x-example": "<SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization id", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "projectId", + "description": "Project id", + "required": false, + "schema": { + "type": "string", + "x-example": "<PROJECT_ID>", + "default": "" + }, + "in": "query" } - } + ] } }, - "\/project\/oauth2\/podio": { + "\/organizations\/{organizationId}\/taxId": { "patch": { - "summary": "Update project OAuth2 Podio", - "operationId": "projectUpdateOAuth2Podio", + "summary": "Set team's tax Id", + "operationId": "organizationsSetBillingTaxId", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Podio configuration.", + "description": "Set an organization's billing tax ID.", "responses": { "200": { - "description": "OAuth2Podio", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Podio" + "$ref": "#\/components\/schemas\/organization" } } } @@ -45888,30 +45910,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Podio", - "group": "oauth2", - "weight": 1167, + "method": "setBillingTaxId", + "group": null, + "weight": 1067, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-podio.md", + "demo": "organizations\/set-billing-tax-id.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-tax-id.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -45920,46 +45953,37 @@ "schema": { "type": "object", "properties": { - "clientId": { + "taxId": { "type": "string", - "description": "'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", "x-nullable": true } - } + }, + "required": [ + "taxId" + ] } } } } } }, - "\/project\/oauth2\/salesforce": { - "patch": { - "summary": "Update project OAuth2 Salesforce", - "operationId": "projectUpdateOAuth2Salesforce", + "\/organizations\/{organizationId}\/usage": { + "get": { + "summary": "Get team's usage data", + "operationId": "organizationsGetUsage", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Salesforce configuration.", + "description": "Get the usage data for an organization.", "responses": { "200": { - "description": "OAuth2Salesforce", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Salesforce" + "$ref": "#\/components\/schemas\/usageOrganization" } } } @@ -45967,78 +45991,82 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Salesforce", - "group": "oauth2", - "weight": 1169, + "method": "getUsage", + "group": null, + "weight": 1068, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-salesforce.md", + "demo": "organizations\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "customerKey": { - "type": "string", - "description": "'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", - "x-example": "<CUSTOMER_KEY>", - "x-nullable": true - }, - "customerSecret": { - "type": "string", - "description": "'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2", - "x-example": "<CUSTOMER_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" + }, + { + "name": "startDate", + "description": "Starting date for the usage", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "in": "query" + }, + { + "name": "endDate", + "description": "End date for the usage", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "in": "query" } - } + ] } }, - "\/project\/oauth2\/slack": { + "\/organizations\/{organizationId}\/validate": { "patch": { - "summary": "Update project OAuth2 Slack", - "operationId": "projectUpdateOAuth2Slack", + "summary": "Validate payment for the organization after creation or upgrade", + "operationId": "organizationsValidatePayment", "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Slack configuration.", + "description": "Validate payment for team after creation or upgrade.", "responses": { "200": { - "description": "OAuth2Slack", + "description": "Organization", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Slack" + "$ref": "#\/components\/schemas\/organization" } } } @@ -46046,30 +46074,41 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Slack", - "group": "oauth2", - "weight": 1166, + "method": "validatePayment", + "group": null, + "weight": 1090, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-slack.md", + "demo": "organizations\/validate-payment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/validate-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "schema": { + "type": "string", + "x-example": "<ORGANIZATION_ID>" + }, + "in": "path" } ], "requestBody": { @@ -46078,23 +46117,13 @@ "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "items": { + "type": "string" + } } } } @@ -46103,21 +46132,21 @@ } } }, - "\/project\/oauth2\/spotify": { - "patch": { - "summary": "Update project OAuth2 Spotify", - "operationId": "projectUpdateOAuth2Spotify", + "\/presences": { + "get": { + "summary": "List presences", + "operationId": "presencesList", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 Spotify configuration.", + "description": "List presence logs. Expired entries are filtered out automatically.\n", "responses": { "200": { - "description": "OAuth2Spotify", + "description": "Presences List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Spotify" + "$ref": "#\/components\/schemas\/presenceList" } } } @@ -46125,22 +46154,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Spotify", - "group": "oauth2", - "weight": 1165, + "method": "list", + "group": "presences", + "weight": 419, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-spotify.md", + "demo": "presences\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.read", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", "auth": { "Project": [] } @@ -46148,55 +46180,66 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" } - } + ] } }, - "\/project\/oauth2\/stripe": { - "patch": { - "summary": "Update project OAuth2 Stripe", - "operationId": "projectUpdateOAuth2Stripe", + "\/presences\/usage": { + "get": { + "summary": "Get presence usage", + "operationId": "presencesGetUsage", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 Stripe configuration.", + "description": "Get presence usage metrics, including the current total of online users and historical online user counts for the selected time range.\n", "responses": { "200": { - "description": "OAuth2Stripe", + "description": "UsagePresence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Stripe" + "$ref": "#\/components\/schemas\/usagePresence" } } } @@ -46204,78 +46247,68 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Stripe", - "group": "oauth2", - "weight": 1164, + "method": "getUsage", + "group": null, + "weight": 417, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-stripe.md", + "demo": "presences\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "apiSecretKey": { - "type": "string", - "description": "'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp", - "x-example": "<API_SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [], + "default": "30d" + }, + "in": "query" } - } + ] } }, - "\/project\/oauth2\/tradeshift": { - "patch": { - "summary": "Update project OAuth2 Tradeshift", - "operationId": "projectUpdateOAuth2Tradeshift", + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 Tradeshift configuration.", + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", "responses": { "200": { - "description": "OAuth2Tradeshift", + "description": "Presence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Tradeshift" + "$ref": "#\/components\/schemas\/presence" } } } @@ -46283,22 +46316,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Tradeshift", - "group": "oauth2", - "weight": 1176, + "method": "get", + "group": "presences", + "weight": 418, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-tradeshift.md", + "demo": "presences\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.read", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", "auth": { "Project": [] } @@ -46306,55 +46342,38 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "oauth2ClientId": { - "type": "string", - "description": "'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "x-example": "<OAUTH2_CLIENT_ID>", - "x-nullable": true - }, - "oauth2ClientSecret": { - "type": "string", - "description": "'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "x-example": "<OAUTH2_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" } - } - } - }, - "\/project\/oauth2\/tradeshiftBox": { - "patch": { - "summary": "Update project OAuth2 Tradeshift Sandbox", - "operationId": "projectUpdateOAuth2TradeshiftSandbox", + ] + }, + "put": { + "summary": "Upsert presence", + "operationId": "presencesUpsert", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 Tradeshift Sandbox configuration.", + "description": "Create or update a presence log by its user ID.\n", "responses": { "200": { - "description": "OAuth2Tradeshift", + "description": "Presence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Tradeshift" + "$ref": "#\/components\/schemas\/presence" } } } @@ -46362,22 +46381,54 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2TradeshiftSandbox", - "group": "oauth2", - "weight": 1177, + "method": "upsert", + "group": "presences", + "weight": 416, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", + "demo": "presences\/upsert.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.write", "platforms": [ - "console", - "server" + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "userId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], "auth": { "Project": [] } @@ -46385,7 +46436,19 @@ "security": [ { "Project": [], - "Key": [] + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" } ], "requestBody": { @@ -46394,46 +46457,58 @@ "schema": { "type": "object", "properties": { - "oauth2ClientId": { + "userId": { "type": "string", - "description": "'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "x-example": "<OAUTH2_CLIENT_ID>", - "x-nullable": true + "description": "User ID.", + "x-example": "<USER_ID>" }, - "oauth2ClientSecret": { + "status": { "type": "string", - "description": "'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "x-example": "<OAUTH2_CLIENT_SECRET>", - "x-nullable": true + "description": "Presence status.", + "x-example": "<STATUS>" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" } - } + }, + "required": [ + "status" + ] } } } } - } - }, - "\/project\/oauth2\/twitch": { + }, "patch": { - "summary": "Update project OAuth2 Twitch", - "operationId": "projectUpdateOAuth2Twitch", + "summary": "Update presence", + "operationId": "presencesUpdate", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 Twitch configuration.", + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", "responses": { "200": { - "description": "OAuth2Twitch", + "description": "Presence", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Twitch" + "$ref": "#\/components\/schemas\/presence" } } } @@ -46441,101 +46516,155 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Twitch", - "group": "oauth2", - "weight": 1163, + "method": "update", + "group": "presences", + "weight": 420, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-twitch.md", + "demo": "presences\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.write", "platforms": [ - "console", - "server" + "client" ], "packaging": false, "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p", - "x-example": "<CLIENT_ID>", - "x-nullable": true + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "updatePresence", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId", + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update-presence.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" }, - "clientSecret": { + "status": { "type": "string", - "description": "'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "description": "Presence status.", + "x-example": "<STATUS>" }, - "enabled": { + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false } } } } } } - } - }, - "\/project\/oauth2\/wordpress": { - "patch": { - "summary": "Update project OAuth2 WordPress", - "operationId": "projectUpdateOAuth2WordPress", + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", "tags": [ - "project" + "presences" ], - "description": "Update the project OAuth2 WordPress configuration.", + "description": "Delete a presence log by its unique ID.\n", "responses": { - "200": { - "description": "OAuth2WordPress", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/oAuth2WordPress" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2WordPress", - "group": "oauth2", - "weight": 1162, + "method": "delete", + "group": "presences", + "weight": 421, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-word-press.md", + "demo": "presences\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "presences.write", "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", "auth": { "Project": [] } @@ -46543,55 +46672,40 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of WordPress OAuth2 app. For example: 130005", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" } - } + ] } }, - "\/project\/oauth2\/x": { - "patch": { - "summary": "Update project OAuth2 X", - "operationId": "projectUpdateOAuth2X", + "\/project": { + "get": { + "summary": "Get project", + "operationId": "projectGet", "tags": [ "project" ], - "description": "Update the project OAuth2 X configuration.", + "description": "Get a project.", "responses": { "200": { - "description": "OAuth2X", + "description": "Project", "content": { - "application\/json": { + "": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2X" + "$ref": "#\/components\/schemas\/project" } } } @@ -46599,16 +46713,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2X", - "group": "oauth2", + "method": "get", + "group": null, "weight": 1161, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2x.md", + "demo": "project\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "project.read", "platforms": [ "console", "server" @@ -46624,70 +46738,32 @@ "Project": [], "Key": [] } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "customerKey": { - "type": "string", - "description": "'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT", - "x-example": "<CUSTOMER_KEY>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9", - "x-example": "<SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } - } - } - } - }, - "\/project\/oauth2\/yahoo": { - "patch": { - "summary": "Update project OAuth2 Yahoo", - "operationId": "projectUpdateOAuth2Yahoo", + ] + }, + "delete": { + "summary": "Delete project", + "operationId": "projectDelete", "tags": [ "project" ], - "description": "Update the project OAuth2 Yahoo configuration.", + "description": "Delete a project.", "responses": { - "200": { - "description": "OAuth2Yahoo", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/oAuth2Yahoo" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Yahoo", - "group": "oauth2", - "weight": 1170, + "method": "delete", + "group": null, + "weight": 1160, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-yahoo.md", + "demo": "project\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -46703,53 +46779,24 @@ "Project": [], "Key": [] } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } - } - } + ] } }, - "\/project\/oauth2\/yandex": { + "\/project\/auth-methods\/{methodId}": { "patch": { - "summary": "Update project OAuth2 Yandex", - "operationId": "projectUpdateOAuth2Yandex", + "summary": "Update project auth method status", + "operationId": "projectUpdateAuthMethod", "tags": [ "project" ], - "description": "Update the project OAuth2 Yandex configuration.", + "description": "Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project. ", "responses": { "200": { - "description": "OAuth2Yandex", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Yandex" + "$ref": "#\/components\/schemas\/project" } } } @@ -46757,16 +46804,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Yandex", - "group": "oauth2", - "weight": 1160, + "method": "updateAuthMethod", + "group": null, + "weight": 1210, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-yandex.md", + "demo": "project\/update-auth-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -46783,52 +46830,65 @@ "Key": [] } ], + "parameters": [ + { + "name": "methodId", + "description": "Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone", + "required": true, + "schema": { + "type": "string", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId", + "x-enum-keys": [] + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, "enabled": { "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true + "description": "Auth method status.", + "x-example": false } - } + }, + "required": [ + "enabled" + ] } } } } } }, - "\/project\/oauth2\/zoho": { - "patch": { - "summary": "Update project OAuth2 Zoho", - "operationId": "projectUpdateOAuth2Zoho", + "\/project\/keys": { + "get": { + "summary": "List project keys", + "operationId": "projectListKeys", "tags": [ "project" ], - "description": "Update the project OAuth2 Zoho configuration.", + "description": "Get a list of all API keys from the current project.", "responses": { "200": { - "description": "OAuth2Zoho", + "description": "API Keys List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Zoho" + "$ref": "#\/components\/schemas\/keyList" } } } @@ -46836,16 +46896,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Zoho", - "group": "oauth2", - "weight": 1159, + "method": "listKeys", + "group": "keys", + "weight": 1177, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-zoho.md", + "demo": "project\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "keys.read", "platforms": [ "console", "server" @@ -46862,52 +46922,47 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B", - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - } - }, - "\/project\/oauth2\/zoom": { - "patch": { - "summary": "Update project OAuth2 Zoom", - "operationId": "projectUpdateOAuth2Zoom", + ] + }, + "post": { + "summary": "Create project key", + "operationId": "projectCreateKey", "tags": [ "project" ], - "description": "Update the project OAuth2 Zoom configuration.", + "description": "Create a new API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create an ephemeral API key if you need a short-lived key instead.", "responses": { - "200": { - "description": "OAuth2Zoom", + "201": { + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/oAuth2Zoom" + "$ref": "#\/components\/schemas\/key" } } } @@ -46915,16 +46970,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Zoom", - "group": "oauth2", - "weight": 1158, + "method": "createKey", + "group": "keys", + "weight": 1175, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-zoom.md", + "demo": "project\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -46947,214 +47002,156 @@ "schema": { "type": "object", "properties": { - "clientId": { + "keyId": { "type": "string", - "description": "'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ", - "x-example": "<CLIENT_ID>", - "x-nullable": true + "description": "Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<KEY_ID>" }, - "clientSecret": { + "name": { "type": "string", - "description": "'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON", - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "x-example": false, - "x-nullable": true - } - } - } - } - } - } - } - }, - "\/project\/oauth2\/{providerId}": { - "get": { - "summary": "Get project OAuth2 provider", - "operationId": "projectGetOAuth2Provider", - "tags": [ - "project" - ], - "description": "Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key\/team IDs) are write-only and always returned empty.", - "responses": { - "200": { - "description": "OAuth2GitHub, or OAuth2Discord, or OAuth2Figma, or OAuth2Dropbox, or OAuth2Dailymotion, or OAuth2Bitbucket, or OAuth2Bitly, or OAuth2Box, or OAuth2Autodesk, or OAuth2Google, or OAuth2Zoom, or OAuth2Zoho, or OAuth2Yandex, or OAuth2X, or OAuth2WordPress, or OAuth2Twitch, or OAuth2Stripe, or OAuth2Spotify, or OAuth2Slack, or OAuth2Podio, or OAuth2Notion, or OAuth2Salesforce, or OAuth2Yahoo, or OAuth2Linkedin, or OAuth2Disqus, or OAuth2Amazon, or OAuth2Etsy, or OAuth2Facebook, or OAuth2Tradeshift, or OAuth2Paypal, or OAuth2Gitlab, or OAuth2Authentik, or OAuth2Auth0, or OAuth2FusionAuth, or OAuth2Keycloak, or OAuth2Oidc, or OAuth2Apple, or OAuth2Okta, or OAuth2Kick, or OAuth2Microsoft", - "content": { - "application\/json": { - "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/oAuth2Github" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Discord" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Figma" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Dropbox" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Dailymotion" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Bitbucket" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Bitly" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Box" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Autodesk" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Google" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Zoom" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Zoho" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Yandex" - }, - { - "$ref": "#\/components\/schemas\/oAuth2X" - }, - { - "$ref": "#\/components\/schemas\/oAuth2WordPress" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Twitch" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Stripe" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Spotify" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Slack" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Podio" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Notion" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Salesforce" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Yahoo" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Linkedin" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Disqus" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Amazon" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Etsy" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Facebook" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Tradeshift" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Paypal" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Gitlab" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Authentik" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Auth0" - }, - { - "$ref": "#\/components\/schemas\/oAuth2FusionAuth" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Keycloak" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Oidc" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Apple" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Okta" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Kick" - }, - { - "$ref": "#\/components\/schemas\/oAuth2Microsoft" - } - ], - "discriminator": { - "propertyName": "$id", - "mapping": { - "github": "#\/components\/schemas\/oAuth2Github", - "discord": "#\/components\/schemas\/oAuth2Discord", - "figma": "#\/components\/schemas\/oAuth2Figma", - "dropbox": "#\/components\/schemas\/oAuth2Dropbox", - "dailymotion": "#\/components\/schemas\/oAuth2Dailymotion", - "bitbucket": "#\/components\/schemas\/oAuth2Bitbucket", - "bitly": "#\/components\/schemas\/oAuth2Bitly", - "box": "#\/components\/schemas\/oAuth2Box", - "autodesk": "#\/components\/schemas\/oAuth2Autodesk", - "google": "#\/components\/schemas\/oAuth2Google", - "zoom": "#\/components\/schemas\/oAuth2Zoom", - "zoho": "#\/components\/schemas\/oAuth2Zoho", - "yandex": "#\/components\/schemas\/oAuth2Yandex", - "x": "#\/components\/schemas\/oAuth2X", - "wordpress": "#\/components\/schemas\/oAuth2WordPress", - "twitch": "#\/components\/schemas\/oAuth2Twitch", - "stripe": "#\/components\/schemas\/oAuth2Stripe", - "spotify": "#\/components\/schemas\/oAuth2Spotify", - "slack": "#\/components\/schemas\/oAuth2Slack", - "podio": "#\/components\/schemas\/oAuth2Podio", - "notion": "#\/components\/schemas\/oAuth2Notion", - "salesforce": "#\/components\/schemas\/oAuth2Salesforce", - "yahoo": "#\/components\/schemas\/oAuth2Yahoo", - "linkedin": "#\/components\/schemas\/oAuth2Linkedin", - "disqus": "#\/components\/schemas\/oAuth2Disqus", - "amazon": "#\/components\/schemas\/oAuth2Amazon", - "etsy": "#\/components\/schemas\/oAuth2Etsy", - "facebook": "#\/components\/schemas\/oAuth2Facebook", - "tradeshift": "#\/components\/schemas\/oAuth2Tradeshift", - "tradeshiftBox": "#\/components\/schemas\/oAuth2Tradeshift", - "paypal": "#\/components\/schemas\/oAuth2Paypal", - "paypalSandbox": "#\/components\/schemas\/oAuth2Paypal", - "gitlab": "#\/components\/schemas\/oAuth2Gitlab", - "authentik": "#\/components\/schemas\/oAuth2Authentik", - "auth0": "#\/components\/schemas\/oAuth2Auth0", - "fusionauth": "#\/components\/schemas\/oAuth2FusionAuth", - "keycloak": "#\/components\/schemas\/oAuth2Keycloak", - "oidc": "#\/components\/schemas\/oAuth2Oidc", - "apple": "#\/components\/schemas\/oAuth2Apple", - "okta": "#\/components\/schemas\/oAuth2Okta", - "kick": "#\/components\/schemas\/oAuth2Kick", - "microsoft": "#\/components\/schemas\/oAuth2Microsoft" + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] } + }, + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } + }, + "required": [ + "keyId", + "name", + "scopes" + ] + } + } + } + } + } + }, + "\/project\/keys\/ephemeral": { + "post": { + "summary": "Create ephemeral project key", + "operationId": "projectCreateEphemeralKey", + "tags": [ + "project" + ], + "description": "Create a new ephemeral API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create a standard API key if you need a longer-lived key instead.", + "responses": { + "201": { + "description": "Ephemeral Key", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/ephemeralKey" } } } @@ -47162,16 +47159,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getOAuth2Provider", - "group": "oauth2", - "weight": 1147, + "method": "createEphemeralKey", + "group": "keys", + "weight": 1176, "cookies": false, "type": "", - "demo": "project\/get-o-auth-2-provider.md", + "demo": "project\/create-ephemeral-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.read", + "scope": "keys.write", "platforms": [ "console", "server" @@ -47188,84 +47185,150 @@ "Key": [] } ], - "parameters": [ - { - "name": "providerId", - "description": "OAuth2 provider key. For example: github, google, apple.", - "required": true, - "schema": { - "type": "string", - "x-example": "amazon", - "enum": [ - "amazon", - "apple", - "auth0", - "authentik", - "autodesk", - "bitbucket", - "bitly", - "box", - "dailymotion", - "discord", - "disqus", - "dropbox", - "etsy", - "facebook", - "figma", - "fusionauth", - "github", - "gitlab", - "google", - "keycloak", - "kick", - "linkedin", - "microsoft", - "notion", - "oidc", - "okta", - "paypal", - "paypalSandbox", - "podio", - "salesforce", - "slack", - "spotify", - "stripe", - "tradeshift", - "tradeshiftBox", - "twitch", - "wordpress", - "x", - "yahoo", - "yammer", - "yandex", - "zoho", - "zoom", - "githubImagine", - "googleImagine" - ], - "x-enum-name": "OAuthProvider", - "x-enum-keys": [] - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] + } + }, + "duration": { + "type": "integer", + "description": "Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.", + "x-example": "600", + "format": "int32" + } + }, + "required": [ + "scopes", + "duration" + ] + } + } } - ] + } } }, - "\/project\/platforms": { + "\/project\/keys\/{keyId}": { "get": { - "summary": "List project platforms", - "operationId": "projectListPlatforms", + "summary": "Get project key", + "operationId": "projectGetKey", "tags": [ "project" ], - "description": "Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.", + "description": "Get a key by its unique ID. ", "responses": { "200": { - "description": "Platforms List", + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformList" + "$ref": "#\/components\/schemas\/key" } } } @@ -47273,16 +47336,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listPlatforms", - "group": "platforms", - "weight": 1128, + "method": "getKey", + "group": "keys", + "weight": 1178, "cookies": false, "type": "", - "demo": "project\/list-platforms.md", + "demo": "project\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.read", + "scope": "keys.read", "platforms": [ "console", "server" @@ -47301,47 +47364,31 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, name, hostname, bundleIdentifier, applicationId, packageIdentifierName, packageName", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "keyId", + "description": "Key ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<KEY_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/project\/platforms\/android": { - "post": { - "summary": "Create project Android platform", - "operationId": "projectCreateAndroidPlatform", + }, + "put": { + "summary": "Update project key", + "operationId": "projectUpdateKey", "tags": [ "project" ], - "description": "Create a new Android platform for your project. Use this endpoint to register a new Android platform where your users will run your application which will interact with the Appwrite API.", + "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", "responses": { - "201": { - "description": "Platform Android", + "200": { + "description": "Key", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformAndroid" + "$ref": "#\/components\/schemas\/key" } } } @@ -47349,16 +47396,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createAndroidPlatform", - "group": "platforms", - "weight": 1124, + "method": "updateKey", + "group": "keys", + "weight": 1180, "cookies": false, "type": "", - "demo": "project\/create-android-platform.md", + "demo": "project\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -47375,71 +47422,176 @@ "Key": [] } ], + "parameters": [ + { + "name": "keyId", + "description": "Key ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<KEY_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PLATFORM_ID>" - }, "name": { "type": "string", - "description": "Platform name. Max length: 128 chars.", + "description": "Key name. Max length: 128 chars.", "x-example": "<NAME>" }, - "applicationId": { + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] + } + }, + "expire": { "type": "string", - "description": "Android application ID. Max length: 256 chars.", - "x-example": "<APPLICATION_ID>" + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } }, "required": [ - "platformId", "name", - "applicationId" + "scopes" ] } } } } - } - }, - "\/project\/platforms\/android\/{platformId}": { - "put": { - "summary": "Update project Android platform", - "operationId": "projectUpdateAndroidPlatform", + }, + "delete": { + "summary": "Delete project key", + "operationId": "projectDeleteKey", "tags": [ "project" ], - "description": "Update an Android platform by its unique ID. Use this endpoint to update the platform's name or application ID.", + "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", "responses": { - "200": { - "description": "Platform Android", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/platformAndroid" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateAndroidPlatform", - "group": "platforms", - "weight": 1119, + "method": "deleteKey", + "group": "keys", + "weight": 1179, "cookies": false, "type": "", - "demo": "project\/update-android-platform.md", + "demo": "project\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -47458,58 +47610,33 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "keyId", + "description": "Key ID.", "required": true, "schema": { "type": "string", - "x-example": "<PLATFORM_ID>" + "x-example": "<KEY_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "applicationId": { - "type": "string", - "description": "Android application ID. Max length: 256 chars.", - "x-example": "<APPLICATION_ID>" - } - }, - "required": [ - "name", - "applicationId" - ] - } - } - } - } + ] } }, - "\/project\/platforms\/apple": { - "post": { - "summary": "Create project Apple platform", - "operationId": "projectCreateApplePlatform", + "\/project\/labels": { + "put": { + "summary": "Update project labels", + "operationId": "projectUpdateLabels", "tags": [ "project" ], - "description": "Create a new Apple platform for your project. Use this endpoint to register a new Apple platform where your users will run your application which will interact with the Appwrite API.", + "description": "Update the project labels. Labels can be used to easily filter projects in an organization.", "responses": { - "201": { - "description": "Platform Apple", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformApple" + "$ref": "#\/components\/schemas\/project" } } } @@ -47517,16 +47644,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createApplePlatform", - "group": "platforms", - "weight": 1123, + "method": "updateLabels", + "group": null, + "weight": 1162, "cookies": false, "type": "", - "demo": "project\/create-apple-platform.md", + "demo": "project\/update-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -47549,26 +47676,17 @@ "schema": { "type": "object", "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "bundleIdentifier": { - "type": "string", - "description": "Apple bundle identifier. Max length: 256 chars.", - "x-example": "<BUNDLE_IDENTIFIER>" + "labels": { + "type": "array", + "description": "Array of project labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", + "x-example": null, + "items": { + "type": "string" + } } }, "required": [ - "platformId", - "name", - "bundleIdentifier" + "labels" ] } } @@ -47576,21 +47694,21 @@ } } }, - "\/project\/platforms\/apple\/{platformId}": { - "put": { - "summary": "Update project Apple platform", - "operationId": "projectUpdateApplePlatform", + "\/project\/mock-phones": { + "get": { + "summary": "List project mock phones", + "operationId": "projectListMockPhones", "tags": [ "project" ], - "description": "Update an Apple platform by its unique ID. Use this endpoint to update the platform's name or bundle identifier.", + "description": "Get a list of all mock phones in the project. This endpoint returns an array of all mock phones and their OTPs.", "responses": { "200": { - "description": "Platform Apple", + "description": "Mock Numbers List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformApple" + "$ref": "#\/components\/schemas\/mockNumberList" } } } @@ -47598,16 +47716,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateApplePlatform", - "group": "platforms", - "weight": 1118, + "method": "listMockPhones", + "group": "mocks", + "weight": 1195, "cookies": false, "type": "", - "demo": "project\/update-apple-platform.md", + "demo": "project\/list-mock-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "mocks.read", "platforms": [ "console", "server" @@ -47626,58 +47744,45 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, "schema": { - "type": "string", - "x-example": "<PLATFORM_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "bundleIdentifier": { - "type": "string", - "description": "Apple bundle identifier. Max length: 256 chars.", - "x-example": "<BUNDLE_IDENTIFIER>" - } - }, - "required": [ - "name", - "bundleIdentifier" - ] - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - } - }, - "\/project\/platforms\/linux": { + ] + }, "post": { - "summary": "Create project Linux platform", - "operationId": "projectCreateLinuxPlatform", + "summary": "Create project mock phone", + "operationId": "projectCreateMockPhone", "tags": [ "project" ], - "description": "Create a new Linux platform for your project. Use this endpoint to register a new Linux platform where your users will run your application which will interact with the Appwrite API.", + "description": "Create a new mock phone for your project. Use this endpoint to register a mock phone number and its sign-in OTP for your testers.", "responses": { "201": { - "description": "Platform Linux", + "description": "Mock Number", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformLinux" + "$ref": "#\/components\/schemas\/mockNumber" } } } @@ -47685,16 +47790,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createLinuxPlatform", - "group": "platforms", - "weight": 1126, + "method": "createMockPhone", + "group": "mocks", + "weight": 1194, "cookies": false, "type": "", - "demo": "project\/create-linux-platform.md", + "demo": "project\/create-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "mocks.write", "platforms": [ "console", "server" @@ -47717,26 +47822,21 @@ "schema": { "type": "object", "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PLATFORM_ID>" - }, - "name": { + "number": { "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Phone number to associate with the mock phone. Must be a valid E.164 formatted phone number.", + "x-example": "+12065550100", + "format": "phone" }, - "packageName": { + "otp": { "type": "string", - "description": "Linux package name. Max length: 256 chars.", - "x-example": "<PACKAGE_NAME>" + "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", + "x-example": "<OTP>" } }, "required": [ - "platformId", - "name", - "packageName" + "number", + "otp" ] } } @@ -47744,21 +47844,21 @@ } } }, - "\/project\/platforms\/linux\/{platformId}": { - "put": { - "summary": "Update project Linux platform", - "operationId": "projectUpdateLinuxPlatform", + "\/project\/mock-phones\/{number}": { + "get": { + "summary": "Get project mock phone", + "operationId": "projectGetMockPhone", "tags": [ "project" ], - "description": "Update a Linux platform by its unique ID. Use this endpoint to update the platform's name or package name.", + "description": "Get a mock phone by its unique number. This endpoint returns the mock phone's OTP.", "responses": { "200": { - "description": "Platform Linux", + "description": "Mock Number", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformLinux" + "$ref": "#\/components\/schemas\/mockNumber" } } } @@ -47766,16 +47866,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateLinuxPlatform", - "group": "platforms", - "weight": 1121, + "method": "getMockPhone", + "group": "mocks", + "weight": 1196, "cookies": false, "type": "", - "demo": "project\/update-linux-platform.md", + "demo": "project\/get-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "mocks.read", "platforms": [ "console", "server" @@ -47794,58 +47894,32 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", "required": true, "schema": { "type": "string", - "x-example": "<PLATFORM_ID>" + "format": "phone", + "x-example": "+12065550100" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "packageName": { - "type": "string", - "description": "Linux package name. Max length: 256 chars.", - "x-example": "<PACKAGE_NAME>" - } - }, - "required": [ - "name", - "packageName" - ] - } - } - } - } - } - }, - "\/project\/platforms\/web": { - "post": { - "summary": "Create project web platform", - "operationId": "projectCreateWebPlatform", + ] + }, + "put": { + "summary": "Update project mock phone", + "operationId": "projectUpdateMockPhone", "tags": [ "project" ], - "description": "Create a new web platform for your project. Use this endpoint to register a new platform where your users will run your application which will interact with the Appwrite API.", + "description": "Update a mock phone by its unique number. Use this endpoint to update the mock phone's OTP.", "responses": { - "201": { - "description": "Platform Web", + "200": { + "description": "Mock Number", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformWeb" + "$ref": "#\/components\/schemas\/mockNumber" } } } @@ -47853,16 +47927,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createWebPlatform", - "group": "platforms", - "weight": 1122, + "method": "updateMockPhone", + "group": "mocks", + "weight": 1197, "cookies": false, "type": "", - "demo": "project\/create-web-platform.md", + "demo": "project\/update-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "mocks.write", "platforms": [ "console", "server" @@ -47879,71 +47953,63 @@ "Key": [] } ], + "parameters": [ + { + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "required": true, + "schema": { + "type": "string", + "format": "phone", + "x-example": "+12065550100" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "hostname": { + "otp": { "type": "string", - "description": "Platform web hostname. Max length: 256 chars.", - "x-example": "app.example.com" + "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", + "x-example": "<OTP>" } }, "required": [ - "platformId", - "name", - "hostname" + "otp" ] } } } } - } - }, - "\/project\/platforms\/web\/{platformId}": { - "put": { - "summary": "Update project web platform", - "operationId": "projectUpdateWebPlatform", + }, + "delete": { + "summary": "Delete project mock phone", + "operationId": "projectDeleteMockPhone", "tags": [ "project" ], - "description": "Update a web platform by its unique ID. Use this endpoint to update the platform's name or hostname.", + "description": "Delete a mock phone by its unique number. This endpoint removes the mock phone and its OTP configuration from the project.", "responses": { - "200": { - "description": "Platform Web", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/platformWeb" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateWebPlatform", - "group": "platforms", - "weight": 1117, + "method": "deleteMockPhone", + "group": "mocks", + "weight": 1198, "cookies": false, "type": "", - "demo": "project\/update-web-platform.md", + "demo": "project\/delete-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "mocks.write", "platforms": [ "console", "server" @@ -47962,58 +48028,34 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", "required": true, "schema": { "type": "string", - "x-example": "<PLATFORM_ID>" + "format": "phone", + "x-example": "+12065550100" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "hostname": { - "type": "string", - "description": "Platform web hostname. Max length: 256 chars.", - "x-example": "app.example.com" - } - }, - "required": [ - "name", - "hostname" - ] - } - } - } - } + ] } }, - "\/project\/platforms\/windows": { - "post": { - "summary": "Create project Windows platform", - "operationId": "projectCreateWindowsPlatform", + "\/project\/oauth2": { + "get": { + "summary": "List project OAuth2 providers", + "operationId": "projectListOAuth2Providers", "tags": [ "project" ], - "description": "Create a new Windows platform for your project. Use this endpoint to register a new Windows platform where your users will run your application which will interact with the Appwrite API.", + "description": "Get a list of all OAuth2 providers supported by the server, along with the project's configuration for each. Credential fields are write-only and always returned empty.", "responses": { - "201": { - "description": "Platform Windows", + "200": { + "description": "OAuth2 Providers List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformWindows" + "$ref": "#\/components\/schemas\/oAuth2ProviderList" } } } @@ -48021,16 +48063,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createWindowsPlatform", - "group": "platforms", - "weight": 1125, + "method": "listOAuth2Providers", + "group": "oauth2", + "weight": 1211, "cookies": false, "type": "", - "demo": "project\/create-windows-platform.md", + "demo": "project\/list-o-auth-2-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "oauth2.read", "platforms": [ "console", "server" @@ -48047,54 +48089,49 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "packageIdentifierName": { - "type": "string", - "description": "Windows package identifier name. Max length: 256 chars.", - "x-example": "<PACKAGE_IDENTIFIER_NAME>" - } - }, - "required": [ - "platformId", - "name", - "packageIdentifierName" - ] - } - } + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] } }, - "\/project\/platforms\/windows\/{platformId}": { - "put": { - "summary": "Update project Windows platform", - "operationId": "projectUpdateWindowsPlatform", + "\/project\/oauth2\/amazon": { + "patch": { + "summary": "Update project OAuth2 Amazon", + "operationId": "projectUpdateOAuth2Amazon", "tags": [ "project" ], - "description": "Update a Windows platform by its unique ID. Use this endpoint to update the platform's name or package identifier name.", + "description": "Update the project OAuth2 Amazon configuration.", "responses": { "200": { - "description": "Platform Windows", + "description": "OAuth2Amazon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/platformWindows" + "$ref": "#\/components\/schemas\/oAuth2Amazon" } } } @@ -48102,16 +48139,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateWindowsPlatform", - "group": "platforms", - "weight": 1120, + "method": "updateOAuth2Amazon", + "group": "oauth2", + "weight": 1238, "cookies": false, "type": "", - "demo": "project\/update-windows-platform.md", + "demo": "project\/update-o-auth-2-amazon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48128,86 +48165,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PLATFORM_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { + "clientId": { "type": "string", - "description": "Platform name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "packageIdentifierName": { + "clientSecret": { "type": "string", - "description": "Windows package identifier name. Max length: 256 chars.", - "x-example": "<PACKAGE_IDENTIFIER_NAME>" + "description": "'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name", - "packageIdentifierName" - ] + } } } } } } }, - "\/project\/platforms\/{platformId}": { - "get": { - "summary": "Get project platform", - "operationId": "projectGetPlatform", + "\/project\/oauth2\/apple": { + "patch": { + "summary": "Update project OAuth2 Apple", + "operationId": "projectUpdateOAuth2Apple", "tags": [ "project" ], - "description": "Get a platform by its unique ID. This endpoint returns the platform's details, including its name, type, and key configurations.", + "description": "Update the project OAuth2 Apple configuration.", "responses": { "200": { - "description": "Platform Web, or Platform Apple, or Platform Android, or Platform Windows, or Platform Linux", + "description": "OAuth2Apple", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/platformWeb" - }, - { - "$ref": "#\/components\/schemas\/platformApple" - }, - { - "$ref": "#\/components\/schemas\/platformAndroid" - }, - { - "$ref": "#\/components\/schemas\/platformWindows" - }, - { - "$ref": "#\/components\/schemas\/platformLinux" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/components\/schemas\/platformWeb", - "apple": "#\/components\/schemas\/platformApple", - "android": "#\/components\/schemas\/platformAndroid", - "windows": "#\/components\/schemas\/platformWindows", - "linux": "#\/components\/schemas\/platformLinux" - } - } + "$ref": "#\/components\/schemas\/oAuth2Apple" } } } @@ -48215,16 +48218,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPlatform", - "group": "platforms", - "weight": 1127, + "method": "updateOAuth2Apple", + "group": "oauth2", + "weight": 1253, "cookies": false, "type": "", - "demo": "project\/get-platform.md", + "demo": "project\/update-o-auth-2-apple.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48241,43 +48244,81 @@ "Key": [] } ], - "parameters": [ - { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PLATFORM_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "serviceId": { + "type": "string", + "description": "'Service ID' of Apple OAuth2 app. For example: ip.appwrite.app.web", + "x-example": "<SERVICE_ID>", + "x-nullable": true + }, + "keyId": { + "type": "string", + "description": "'Key ID' of Apple OAuth2 app. For example: P4000000N8", + "x-example": "<KEY_ID>", + "x-nullable": true + }, + "teamId": { + "type": "string", + "description": "'Team ID' of Apple OAuth2 app. For example: D4000000R6", + "x-example": "<TEAM_ID>", + "x-nullable": true + }, + "p8File": { + "type": "string", + "description": "Contents of the Apple OAuth2 app .p8 private key file. The secret key wrapped by the PEM markers is 200 characters long. For example: -----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----", + "x-example": "<P8_FILE>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "delete": { - "summary": "Delete project platform", - "operationId": "projectDeletePlatform", + } + } + }, + "\/project\/oauth2\/auth0": { + "patch": { + "summary": "Update project OAuth2 Auth0", + "operationId": "projectUpdateOAuth2Auth0", "tags": [ "project" ], - "description": "Delete a platform by its unique ID. This endpoint removes the platform and all its configurations from the project.", + "description": "Update the project OAuth2 Auth0 configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Auth0", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oAuth2Auth0" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deletePlatform", - "group": "platforms", - "weight": 1116, + "method": "updateOAuth2Auth0", + "group": "oauth2", + "weight": 1247, "cookies": false, "type": "", - "demo": "project\/delete-platform.md", + "demo": "project\/update-o-auth-2-auth-0.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48294,35 +48335,58 @@ "Key": [] } ], - "parameters": [ - { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PLATFORM_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of Auth0 instance. For example: example.us.auth0.com", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/project\/policies": { - "get": { - "summary": "List project policies", - "operationId": "projectListPolicies", + "\/project\/oauth2\/authentik": { + "patch": { + "summary": "Update project OAuth2 Authentik", + "operationId": "projectUpdateOAuth2Authentik", "tags": [ "project" ], - "description": "Get a list of all project policies and their current configuration.", + "description": "Update the project OAuth2 Authentik configuration.", "responses": { "200": { - "description": "Policies List", + "description": "OAuth2Authentik", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/policyList" + "$ref": "#\/components\/schemas\/oAuth2Authentik" } } } @@ -48330,19 +48394,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listPolicies", - "group": "policies", - "weight": 1134, + "method": "updateOAuth2Authentik", + "group": "oauth2", + "weight": 1246, "cookies": false, "type": "", - "demo": "project\/list-policies.md", + "demo": "project\/update-o-auth-2-authentik.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.read", - "project.policies.read" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48359,49 +48420,58 @@ "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of Authentik instance. For example: example.authentik.com", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/project\/policies\/deny-canonical-email": { + "\/project\/oauth2\/autodesk": { "patch": { - "summary": "Update deny canonical email policy", - "operationId": "projectUpdateDenyCanonicalEmailPolicy", + "summary": "Update project OAuth2 Autodesk", + "operationId": "projectUpdateOAuth2Autodesk", "tags": [ "project" ], - "description": "Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", + "description": "Update the project OAuth2 Autodesk configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Autodesk", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Autodesk" } } } @@ -48409,19 +48479,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyCanonicalEmailPolicy", - "group": "policies", - "weight": 1190, + "method": "updateOAuth2Autodesk", + "group": "oauth2", + "weight": 1221, "cookies": false, "type": "", - "demo": "project\/update-deny-canonical-email-policy.md", + "demo": "project\/update-o-auth-2-autodesk.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48444,36 +48511,46 @@ "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Set whether or not to block email aliases during signup and email updates.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/deny-disposable-email": { + "\/project\/oauth2\/bitbucket": { "patch": { - "summary": "Update deny disposable email policy", - "operationId": "projectUpdateDenyDisposableEmailPolicy", + "summary": "Update project OAuth2 Bitbucket", + "operationId": "projectUpdateOAuth2Bitbucket", "tags": [ "project" ], - "description": "Configures if disposable emails from known temporary domains are denied during new users sign-ups and email updates.", + "description": "Update the project OAuth2 Bitbucket configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Bitbucket", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Bitbucket" } } } @@ -48481,19 +48558,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyDisposableEmailPolicy", - "group": "policies", - "weight": 1191, + "method": "updateOAuth2Bitbucket", + "group": "oauth2", + "weight": 1218, "cookies": false, "type": "", - "demo": "project\/update-deny-disposable-email-policy.md", + "demo": "project\/update-o-auth-2-bitbucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48516,36 +48590,46 @@ "schema": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Set whether or not to block disposable email addresses during signup and email updates.", - "x-example": false + "key": { + "type": "string", + "description": "'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc", + "x-example": "<KEY>", + "x-nullable": true + }, + "secret": { + "type": "string", + "description": "'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx", + "x-example": "<SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/deny-free-email": { + "\/project\/oauth2\/bitly": { "patch": { - "summary": "Update deny free email policy", - "operationId": "projectUpdateDenyFreeEmailPolicy", + "summary": "Update project OAuth2 Bitly", + "operationId": "projectUpdateOAuth2Bitly", "tags": [ "project" ], - "description": "Configures if emails from free providers such as Gmail or Yahoo are denied during new users sign-ups and email updates.", + "description": "Update the project OAuth2 Bitly configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Bitly", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Bitly" } } } @@ -48553,19 +48637,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyFreeEmailPolicy", - "group": "policies", - "weight": 1192, + "method": "updateOAuth2Bitly", + "group": "oauth2", + "weight": 1219, "cookies": false, "type": "", - "demo": "project\/update-deny-free-email-policy.md", + "demo": "project\/update-o-auth-2-bitly.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48588,36 +48669,46 @@ "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Set whether or not to block free email addresses during signup and email updates.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/membership-privacy": { + "\/project\/oauth2\/box": { "patch": { - "summary": "Update membership privacy policy", - "operationId": "projectUpdateMembershipPrivacyPolicy", + "summary": "Update project OAuth2 Box", + "operationId": "projectUpdateOAuth2Box", "tags": [ "project" ], - "description": "Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..", + "description": "Update the project OAuth2 Box configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Box", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Box" } } } @@ -48625,19 +48716,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMembershipPrivacyPolicy", - "group": "policies", - "weight": 1136, + "method": "updateOAuth2Box", + "group": "oauth2", + "weight": 1220, "cookies": false, "type": "", - "demo": "project\/update-membership-privacy-policy.md", + "demo": "project\/update-o-auth-2-box.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48660,30 +48748,23 @@ "schema": { "type": "object", "properties": { - "userId": { - "type": "boolean", - "description": "Set to true if you want make user ID visible to all team members, or false to hide it.", - "x-example": false - }, - "userEmail": { - "type": "boolean", - "description": "Set to true if you want make user email visible to all team members, or false to hide it.", - "x-example": false - }, - "userPhone": { - "type": "boolean", - "description": "Set to true if you want make user phone number visible to all team members, or false to hide it.", - "x-example": false + "clientId": { + "type": "string", + "description": "'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "userName": { - "type": "boolean", - "description": "Set to true if you want make user name visible to all team members, or false to hide it.", - "x-example": false + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "userMFA": { + "enabled": { "type": "boolean", - "description": "Set to true if you want make user MFA status visible to all team members, or false to hide it.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } } } @@ -48692,21 +48773,21 @@ } } }, - "\/project\/policies\/password-dictionary": { + "\/project\/oauth2\/dailymotion": { "patch": { - "summary": "Update password dictionary policy", - "operationId": "projectUpdatePasswordDictionaryPolicy", + "summary": "Update project OAuth2 Dailymotion", + "operationId": "projectUpdateOAuth2Dailymotion", "tags": [ "project" ], - "description": "Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.", + "description": "Update the project OAuth2 Dailymotion configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Dailymotion", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Dailymotion" } } } @@ -48714,19 +48795,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordDictionaryPolicy", - "group": "policies", - "weight": 1137, + "method": "updateOAuth2Dailymotion", + "group": "oauth2", + "weight": 1217, "cookies": false, "type": "", - "demo": "project\/update-password-dictionary-policy.md", + "demo": "project\/update-o-auth-2-dailymotion.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48749,36 +48827,46 @@ "schema": { "type": "object", "properties": { + "apiKey": { + "type": "string", + "description": "'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f", + "x-example": "<API_KEY>", + "x-nullable": true + }, + "apiSecret": { + "type": "string", + "description": "'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639", + "x-example": "<API_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/password-history": { + "\/project\/oauth2\/discord": { "patch": { - "summary": "Update password history policy", - "operationId": "projectUpdatePasswordHistoryPolicy", + "summary": "Update project OAuth2 Discord", + "operationId": "projectUpdateOAuth2Discord", "tags": [ "project" ], - "description": "Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.\n\nKeep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.", + "description": "Update the project OAuth2 Discord configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Discord", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Discord" } } } @@ -48786,19 +48874,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordHistoryPolicy", - "group": "policies", - "weight": 1138, + "method": "updateOAuth2Discord", + "group": "oauth2", + "weight": 1214, "cookies": false, "type": "", - "demo": "project\/update-password-history-policy.md", + "demo": "project\/update-o-auth-2-discord.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48821,38 +48906,46 @@ "schema": { "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.", - "x-example": 1, - "format": "int32", + "clientId": { + "type": "string", + "description": "'Client ID' of Discord OAuth2 app. For example: 950722000000343754", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "total" - ] + } } } } } } }, - "\/project\/policies\/password-personal-data": { + "\/project\/oauth2\/disqus": { "patch": { - "summary": "Update password personal data policy", - "operationId": "projectUpdatePasswordPersonalDataPolicy", + "summary": "Update project OAuth2 Disqus", + "operationId": "projectUpdateOAuth2Disqus", "tags": [ "project" ], - "description": "Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.", + "description": "Update the project OAuth2 Disqus configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Disqus", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Disqus" } } } @@ -48860,19 +48953,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordPersonalDataPolicy", - "group": "policies", - "weight": 1139, + "method": "updateOAuth2Disqus", + "group": "oauth2", + "weight": 1237, "cookies": false, "type": "", - "demo": "project\/update-password-personal-data-policy.md", + "demo": "project\/update-o-auth-2-disqus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48895,36 +48985,46 @@ "schema": { "type": "object", "properties": { + "publicKey": { + "type": "string", + "description": "'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", + "x-example": "<PUBLIC_KEY>", + "x-nullable": true + }, + "secretKey": { + "type": "string", + "description": "'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/session-alert": { + "\/project\/oauth2\/dropbox": { "patch": { - "summary": "Update session alert policy", - "operationId": "projectUpdateSessionAlertPolicy", + "summary": "Update project OAuth2 Dropbox", + "operationId": "projectUpdateOAuth2Dropbox", "tags": [ "project" ], - "description": "Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.", + "description": "Update the project OAuth2 Dropbox configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Dropbox", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Dropbox" } } } @@ -48932,19 +49032,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSessionAlertPolicy", - "group": "policies", - "weight": 1140, + "method": "updateOAuth2Dropbox", + "group": "oauth2", + "weight": 1216, "cookies": false, "type": "", - "demo": "project\/update-session-alert-policy.md", + "demo": "project\/update-o-auth-2-dropbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -48967,36 +49064,46 @@ "schema": { "type": "object", "properties": { + "appKey": { + "type": "string", + "description": "'App Key' of Dropbox OAuth2 app. For example: jl000000000009t", + "x-example": "<APP_KEY>", + "x-nullable": true + }, + "appSecret": { + "type": "string", + "description": "'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw", + "x-example": "<APP_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/session-duration": { + "\/project\/oauth2\/etsy": { "patch": { - "summary": "Update session duration policy", - "operationId": "projectUpdateSessionDurationPolicy", + "summary": "Update project OAuth2 Etsy", + "operationId": "projectUpdateOAuth2Etsy", "tags": [ "project" ], - "description": "Update maximum duration how long sessions created within a project should stay active for.", + "description": "Update the project OAuth2 Etsy configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Etsy", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Etsy" } } } @@ -49004,19 +49111,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSessionDurationPolicy", - "group": "policies", - "weight": 1141, + "method": "updateOAuth2Etsy", + "group": "oauth2", + "weight": 1239, "cookies": false, "type": "", - "demo": "project\/update-session-duration-policy.md", + "demo": "project\/update-o-auth-2-etsy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49039,37 +49143,46 @@ "schema": { "type": "object", "properties": { - "duration": { - "type": "integer", - "description": "Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.", - "x-example": 5, - "format": "int32" + "keyString": { + "type": "string", + "description": "'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2", + "x-example": "<KEY_STRING>", + "x-nullable": true + }, + "sharedSecret": { + "type": "string", + "description": "'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru", + "x-example": "<SHARED_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "duration" - ] + } } } } } } }, - "\/project\/policies\/session-invalidation": { + "\/project\/oauth2\/facebook": { "patch": { - "summary": "Update session invalidation policy", - "operationId": "projectUpdateSessionInvalidationPolicy", + "summary": "Update project OAuth2 Facebook", + "operationId": "projectUpdateOAuth2Facebook", "tags": [ "project" ], - "description": "Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.", + "description": "Update the project OAuth2 Facebook configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Facebook", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Facebook" } } } @@ -49077,19 +49190,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSessionInvalidationPolicy", - "group": "policies", - "weight": 1142, + "method": "updateOAuth2Facebook", + "group": "oauth2", + "weight": 1240, "cookies": false, "type": "", - "demo": "project\/update-session-invalidation-policy.md", + "demo": "project\/update-o-auth-2-facebook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49112,36 +49222,46 @@ "schema": { "type": "object", "properties": { + "appId": { + "type": "string", + "description": "'App ID' of Facebook OAuth2 app. For example: 260600000007694", + "x-example": "<APP_ID>", + "x-nullable": true + }, + "appSecret": { + "type": "string", + "description": "'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4", + "x-example": "<APP_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/policies\/session-limit": { + "\/project\/oauth2\/figma": { "patch": { - "summary": "Update session limit policy", - "operationId": "projectUpdateSessionLimitPolicy", + "summary": "Update project OAuth2 Figma", + "operationId": "projectUpdateOAuth2Figma", "tags": [ "project" ], - "description": "Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.", + "description": "Update the project OAuth2 Figma configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Figma", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Figma" } } } @@ -49149,19 +49269,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSessionLimitPolicy", - "group": "policies", - "weight": 1143, + "method": "updateOAuth2Figma", + "group": "oauth2", + "weight": 1215, "cookies": false, "type": "", - "demo": "project\/update-session-limit-policy.md", + "demo": "project\/update-o-auth-2-figma.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49184,38 +49301,46 @@ "schema": { "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.", - "x-example": 1, - "format": "int32", + "clientId": { + "type": "string", + "description": "'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "total" - ] + } } } } } } }, - "\/project\/policies\/user-limit": { + "\/project\/oauth2\/fusionauth": { "patch": { - "summary": "Update user limit policy", - "operationId": "projectUpdateUserLimitPolicy", + "summary": "Update project OAuth2 FusionAuth", + "operationId": "projectUpdateOAuth2FusionAuth", "tags": [ "project" ], - "description": "Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.", + "description": "Update the project OAuth2 FusionAuth configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2FusionAuth", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2FusionAuth" } } } @@ -49223,19 +49348,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateUserLimitPolicy", - "group": "policies", - "weight": 1144, + "method": "updateOAuth2FusionAuth", + "group": "oauth2", + "weight": 1248, "cookies": false, "type": "", - "demo": "project\/update-user-limit-policy.md", + "demo": "project\/update-o-auth-2-fusion-auth.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49258,80 +49380,52 @@ "schema": { "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.", - "x-example": 1, - "format": "int32", + "clientId": { + "type": "string", + "description": "'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097", + "x-example": "<CLIENT_ID>", "x-nullable": true - } - }, - "required": [ - "total" - ] - } - } - } - } - } - }, - "\/project\/policies\/{policyId}": { - "get": { - "summary": "Get project policy", - "operationId": "projectGetPolicy", + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of FusionAuth instance. For example: example.fusionauth.io", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } + } + } + } + }, + "\/project\/oauth2\/github": { + "patch": { + "summary": "Update project OAuth2 GitHub", + "operationId": "projectUpdateOAuth2GitHub", "tags": [ "project" ], - "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", + "description": "Update the project OAuth2 GitHub configuration.", "responses": { "200": { - "description": "Policy Password Dictionary, or Policy Password History, 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", + "description": "OAuth2GitHub", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/policyPasswordDictionary" - }, - { - "$ref": "#\/components\/schemas\/policyPasswordHistory" - }, - { - "$ref": "#\/components\/schemas\/policyPasswordPersonalData" - }, - { - "$ref": "#\/components\/schemas\/policySessionAlert" - }, - { - "$ref": "#\/components\/schemas\/policySessionDuration" - }, - { - "$ref": "#\/components\/schemas\/policySessionInvalidation" - }, - { - "$ref": "#\/components\/schemas\/policySessionLimit" - }, - { - "$ref": "#\/components\/schemas\/policyUserLimit" - }, - { - "$ref": "#\/components\/schemas\/policyMembershipPrivacy" - } - ], - "discriminator": { - "propertyName": "$id", - "mapping": { - "password-dictionary": "#\/components\/schemas\/policyPasswordDictionary", - "password-history": "#\/components\/schemas\/policyPasswordHistory", - "password-personal-data": "#\/components\/schemas\/policyPasswordPersonalData", - "session-alert": "#\/components\/schemas\/policySessionAlert", - "session-duration": "#\/components\/schemas\/policySessionDuration", - "session-invalidation": "#\/components\/schemas\/policySessionInvalidation", - "session-limit": "#\/components\/schemas\/policySessionLimit", - "user-limit": "#\/components\/schemas\/policyUserLimit", - "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy" - } - } + "$ref": "#\/components\/schemas\/oAuth2Github" } } } @@ -49339,19 +49433,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPolicy", - "group": "policies", - "weight": 1135, + "method": "updateOAuth2GitHub", + "group": "oauth2", + "weight": 1213, "cookies": false, "type": "", - "demo": "project\/get-policy.md", + "demo": "project\/update-o-auth-2-git-hub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.read", - "project.policies.read" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49368,48 +49459,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "policyId", - "description": "Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.", - "required": true, - "schema": { - "type": "string", - "x-example": "password-dictionary", - "enum": [ - "password-dictionary", - "password-history", - "password-personal-data", - "session-alert", - "session-duration", - "session-invalidation", - "session-limit", - "user-limit", - "membership-privacy" - ], - "x-enum-name": "ProjectPolicy", - "x-enum-keys": [] - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/project\/protocols\/{protocolId}": { + "\/project\/oauth2\/gitlab": { "patch": { - "summary": "Update project protocol", - "operationId": "projectUpdateProtocol", + "summary": "Update project OAuth2 Gitlab", + "operationId": "projectUpdateOAuth2Gitlab", "tags": [ "project" ], - "description": "Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project. ", + "description": "Update the project OAuth2 Gitlab configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Gitlab", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Gitlab" } } } @@ -49417,16 +49512,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateProtocol", - "group": null, - "weight": 1098, + "method": "updateOAuth2Gitlab", + "group": "oauth2", + "weight": 1245, "cookies": false, "type": "", - "demo": "project\/update-protocol.md", + "demo": "project\/update-o-auth-2-gitlab.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49443,61 +49538,59 @@ "Key": [] } ], - "parameters": [ - { - "name": "protocolId", - "description": "Protocol name. Can be one of: rest, graphql, websocket", - "required": true, - "schema": { - "type": "string", - "x-example": "rest", - "enum": [ - "rest", - "graphql", - "websocket" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { + "applicationId": { + "type": "string", + "description": "'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252", + "x-example": "<APPLICATION_ID>", + "x-nullable": true + }, + "secret": { + "type": "string", + "description": "'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", + "x-example": "<SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Endpoint URL of self-hosted GitLab instance. For example: https:\/\/gitlab.com", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Protocol status.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/services\/{serviceId}": { + "\/project\/oauth2\/google": { "patch": { - "summary": "Update project service", - "operationId": "projectUpdateService", + "summary": "Update project OAuth2 Google", + "operationId": "projectUpdateOAuth2Google", "tags": [ "project" ], - "description": "Update properties of a specific service. Use this endpoint to enable or disable a service in your project. ", + "description": "Update the project OAuth2 Google configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Google", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Google" } } } @@ -49505,16 +49598,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateService", - "group": null, - "weight": 1099, + "method": "updateOAuth2Google", + "group": "oauth2", + "weight": 1222, "cookies": false, "type": "", - "demo": "project\/update-service.md", + "demo": "project\/update-o-auth-2-google.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49531,75 +49624,68 @@ "Key": [] } ], - "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", - "required": true, - "schema": { - "type": "string", - "x-example": "account", - "enum": [ - "account", - "avatars", - "databases", - "tablesdb", - "locale", - "health", - "project", - "storage", - "teams", - "users", - "vcs", - "sites", - "functions", - "proxy", - "graphql", - "migrations", - "messaging" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "prompt": { + "type": "array", + "description": "Array of Google OAuth2 prompt values. If \"none\" is included, it must be the only element. \"none\" means: don't display any authentication or consent screens. Must not be specified with other values. \"consent\" means: prompt the user for consent. \"select_account\" means: prompt the user to select an account.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "none", + "consent", + "select_account" + ], + "x-enum-name": "ProjectOAuth2GooglePrompt", + "x-enum-keys": [] + }, + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Service status.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } } } } }, - "\/project\/smtp": { + "\/project\/oauth2\/keycloak": { "patch": { - "summary": "Update project SMTP configuration", - "operationId": "projectUpdateSMTP", + "summary": "Update project OAuth2 Keycloak", + "operationId": "projectUpdateOAuth2Keycloak", "tags": [ "project" ], - "description": "Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.", + "description": "Update the project OAuth2 Keycloak configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Keycloak", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Keycloak" } } } @@ -49607,16 +49693,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSMTP", - "group": "smtp", - "weight": 1100, + "method": "updateOAuth2Keycloak", + "group": "oauth2", + "weight": 1249, "cookies": false, "type": "", - "demo": "project\/update-smtp.md", + "demo": "project\/update-o-auth-2-keycloak.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49639,72 +49725,33 @@ "schema": { "type": "object", "properties": { - "host": { - "type": "string", - "description": "SMTP server hostname (domain)", - "x-example": null, - "x-nullable": true - }, - "port": { - "type": "integer", - "description": "SMTP server port", - "x-example": null, - "format": "int32", - "x-nullable": true - }, - "username": { - "type": "string", - "description": "SMTP server username. Leave empty for no authorization.", - "x-example": "<USERNAME>", - "x-nullable": true - }, - "password": { - "type": "string", - "description": "SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).", - "x-example": "<PASSWORD>", - "x-nullable": true - }, - "senderEmail": { - "type": "string", - "description": "Email address shown in inbox as the sender of the email.", - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "senderName": { + "clientId": { "type": "string", - "description": "Name shown in inbox as the sender of the email.", - "x-example": "<SENDER_NAME>", + "description": "'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app", + "x-example": "<CLIENT_ID>", "x-nullable": true }, - "replyToEmail": { + "clientSecret": { "type": "string", - "description": "Email used when user replies to the email.", - "x-example": "email@example.com", - "format": "email", + "description": "'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO", + "x-example": "<CLIENT_SECRET>", "x-nullable": true }, - "replyToName": { + "endpoint": { "type": "string", - "description": "Name used when user replies to the email.", - "x-example": "<REPLY_TO_NAME>", + "description": "Domain of Keycloak instance. For example: keycloak.example.com", + "x-example": "<ENDPOINT>", "x-nullable": true }, - "secure": { + "realmName": { "type": "string", - "description": "Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.", - "x-example": "tls", - "enum": [ - "tls", - "ssl" - ], - "x-enum-name": null, - "x-enum-keys": [], + "description": "Keycloak realm name. For example: appwrite-realm", + "x-example": "<REALM_NAME>", "x-nullable": true }, "enabled": { "type": "boolean", - "description": "Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", "x-example": false, "x-nullable": true } @@ -49715,31 +49762,38 @@ } } }, - "\/project\/smtp\/tests": { - "post": { - "summary": "Create project SMTP test", - "operationId": "projectCreateSMTPTest", + "\/project\/oauth2\/kick": { + "patch": { + "summary": "Update project OAuth2 Kick", + "operationId": "projectUpdateOAuth2Kick", "tags": [ "project" ], - "description": "Send a test email to verify SMTP configuration. ", + "description": "Update the project OAuth2 Kick configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Kick", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oAuth2Kick" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "createSMTPTest", - "group": "smtp", - "weight": 1101, + "method": "updateOAuth2Kick", + "group": "oauth2", + "weight": 1252, "cookies": false, "type": "", - "demo": "project\/create-smtp-test.md", + "demo": "project\/update-o-auth-2-kick.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49762,39 +49816,46 @@ "schema": { "type": "object", "properties": { - "emails": { - "type": "array", - "description": "Array of emails to send test email to. Maximum of 10 emails are allowed.", - "x-example": null, - "items": { - "type": "string" - } + "clientId": { + "type": "string", + "description": "'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "emails" - ] + } } } } } } }, - "\/project\/templates\/email": { - "get": { - "summary": "List project email templates", - "operationId": "projectListEmailTemplates", + "\/project\/oauth2\/linkedin": { + "patch": { + "summary": "Update project OAuth2 Linkedin", + "operationId": "projectUpdateOAuth2Linkedin", "tags": [ "project" ], - "description": "Get a list of all custom email templates configured for the project. This endpoint returns an array of all configured email templates and their locales.", + "description": "Update the project OAuth2 Linkedin configuration.", "responses": { "200": { - "description": "Email Templates List", + "description": "OAuth2Linkedin", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/emailTemplateList" + "$ref": "#\/components\/schemas\/oAuth2Linkedin" } } } @@ -49802,16 +49863,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listEmailTemplates", - "group": "templates", - "weight": 1102, + "method": "updateOAuth2Linkedin", + "group": "oauth2", + "weight": 1236, "cookies": false, "type": "", - "demo": "project\/list-email-templates.md", + "demo": "project\/update-o-auth-2-linkedin.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49828,47 +49889,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "primaryClientSecret": { + "type": "string", + "description": "'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: WPL_AP1.2Bf0000000000000.\/HtlYw==", + "x-example": "<PRIMARY_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, + } + } + }, + "\/project\/oauth2\/microsoft": { "patch": { - "summary": "Update project email template", - "operationId": "projectUpdateEmailTemplate", + "summary": "Update project OAuth2 Microsoft", + "operationId": "projectUpdateOAuth2Microsoft", "tags": [ "project" ], - "description": "Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.", + "description": "Update the project OAuth2 Microsoft configuration.", "responses": { "200": { - "description": "EmailTemplate", + "description": "OAuth2Microsoft", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/emailTemplate" + "$ref": "#\/components\/schemas\/oAuth2Microsoft" } } } @@ -49876,16 +49942,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateEmailTemplate", - "group": "templates", - "weight": 1104, + "method": "updateOAuth2Microsoft", + "group": "oauth2", + "weight": 1254, "cookies": false, "type": "", - "demo": "project\/update-email-template.md", + "demo": "project\/update-o-auth-2-microsoft.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49908,225 +49974,52 @@ "schema": { "type": "object", "properties": { - "templateId": { - "type": "string", - "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", - "x-example": "verification", - "enum": [ - "verification", - "magicSession", - "recovery", - "invitation", - "mfaChallenge", - "sessionAlert", - "otpSession" - ], - "x-enum-name": "EmailTemplateType", - "x-enum-keys": [] - }, - "locale": { - "type": "string", - "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", - "x-example": "af", - "enum": [ - "af", - "ar-ae", - "ar-bh", - "ar-dz", - "ar-eg", - "ar-iq", - "ar-jo", - "ar-kw", - "ar-lb", - "ar-ly", - "ar-ma", - "ar-om", - "ar-qa", - "ar-sa", - "ar-sy", - "ar-tn", - "ar-ye", - "as", - "az", - "be", - "bg", - "bh", - "bn", - "bs", - "ca", - "cs", - "cy", - "da", - "de", - "de-at", - "de-ch", - "de-li", - "de-lu", - "el", - "en", - "en-au", - "en-bz", - "en-ca", - "en-gb", - "en-ie", - "en-jm", - "en-nz", - "en-tt", - "en-us", - "en-za", - "eo", - "es", - "es-ar", - "es-bo", - "es-cl", - "es-co", - "es-cr", - "es-do", - "es-ec", - "es-gt", - "es-hn", - "es-mx", - "es-ni", - "es-pa", - "es-pe", - "es-pr", - "es-py", - "es-sv", - "es-uy", - "es-ve", - "et", - "eu", - "fa", - "fi", - "fo", - "fr", - "fr-be", - "fr-ca", - "fr-ch", - "fr-lu", - "ga", - "gd", - "he", - "hi", - "hr", - "hu", - "id", - "is", - "it", - "it-ch", - "ja", - "ji", - "ko", - "ku", - "lt", - "lv", - "mk", - "ml", - "ms", - "mt", - "nb", - "ne", - "nl", - "nl-be", - "nn", - "no", - "pa", - "pl", - "pt", - "pt-br", - "rm", - "ro", - "ro-md", - "ru", - "ru-md", - "sb", - "sk", - "sl", - "sq", - "sr", - "sv", - "sv-fi", - "th", - "tn", - "tr", - "ts", - "ua", - "ur", - "ve", - "vi", - "xh", - "zh-cn", - "zh-hk", - "zh-sg", - "zh-tw", - "zu" - ], - "x-enum-name": "EmailTemplateLocale", - "x-enum-keys": [] - }, - "subject": { - "type": "string", - "description": "Subject of the email template. Can be up to 255 characters.", - "x-example": "<SUBJECT>", - "x-nullable": true - }, - "message": { - "type": "string", - "description": "Plain or HTML body of the email template message. Can be up to 10MB of content.", - "x-example": "<MESSAGE>", - "x-nullable": true - }, - "senderName": { + "applicationId": { "type": "string", - "description": "Name of the email sender.", - "x-example": "<SENDER_NAME>", + "description": "'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444", + "x-example": "<APPLICATION_ID>", "x-nullable": true }, - "senderEmail": { + "applicationSecret": { "type": "string", - "description": "Email of the sender.", - "x-example": "email@example.com", - "format": "email", + "description": "'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", + "x-example": "<APPLICATION_SECRET>", "x-nullable": true }, - "replyToEmail": { + "tenant": { "type": "string", - "description": "Reply to email.", - "x-example": "email@example.com", - "format": "email", + "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common", + "x-example": "<TENANT>", "x-nullable": true }, - "replyToName": { - "type": "string", - "description": "Reply to name.", - "x-example": "<REPLY_TO_NAME>", + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "templateId" - ] + } } } } } } }, - "\/project\/templates\/email\/{templateId}": { - "get": { - "summary": "Get project email template", - "operationId": "projectGetEmailTemplate", + "\/project\/oauth2\/notion": { + "patch": { + "summary": "Update project OAuth2 Notion", + "operationId": "projectUpdateOAuth2Notion", "tags": [ "project" ], - "description": "Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.", + "description": "Update the project OAuth2 Notion configuration.", "responses": { "200": { - "description": "EmailTemplate", + "description": "OAuth2Notion", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/emailTemplate" + "$ref": "#\/components\/schemas\/oAuth2Notion" } } } @@ -50134,16 +50027,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getEmailTemplate", - "group": "templates", - "weight": 1103, + "method": "updateOAuth2Notion", + "group": "oauth2", + "weight": 1233, "cookies": false, "type": "", - "demo": "project\/get-email-template.md", + "demo": "project\/update-o-auth-2-notion.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50160,192 +50053,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "templateId", - "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", - "required": true, - "schema": { - "type": "string", - "x-example": "verification", - "enum": [ - "verification", - "magicSession", - "recovery", - "invitation", - "mfaChallenge", - "sessionAlert", - "otpSession" - ], - "x-enum-name": "EmailTemplateType", - "x-enum-keys": [] - }, - "in": "path" - }, - { - "name": "locale", - "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", - "required": false, - "schema": { - "type": "string", - "x-example": "af", - "enum": [ - "af", - "ar-ae", - "ar-bh", - "ar-dz", - "ar-eg", - "ar-iq", - "ar-jo", - "ar-kw", - "ar-lb", - "ar-ly", - "ar-ma", - "ar-om", - "ar-qa", - "ar-sa", - "ar-sy", - "ar-tn", - "ar-ye", - "as", - "az", - "be", - "bg", - "bh", - "bn", - "bs", - "ca", - "cs", - "cy", - "da", - "de", - "de-at", - "de-ch", - "de-li", - "de-lu", - "el", - "en", - "en-au", - "en-bz", - "en-ca", - "en-gb", - "en-ie", - "en-jm", - "en-nz", - "en-tt", - "en-us", - "en-za", - "eo", - "es", - "es-ar", - "es-bo", - "es-cl", - "es-co", - "es-cr", - "es-do", - "es-ec", - "es-gt", - "es-hn", - "es-mx", - "es-ni", - "es-pa", - "es-pe", - "es-pr", - "es-py", - "es-sv", - "es-uy", - "es-ve", - "et", - "eu", - "fa", - "fi", - "fo", - "fr", - "fr-be", - "fr-ca", - "fr-ch", - "fr-lu", - "ga", - "gd", - "he", - "hi", - "hr", - "hu", - "id", - "is", - "it", - "it-ch", - "ja", - "ji", - "ko", - "ku", - "lt", - "lv", - "mk", - "ml", - "ms", - "mt", - "nb", - "ne", - "nl", - "nl-be", - "nn", - "no", - "pa", - "pl", - "pt", - "pt-br", - "rm", - "ro", - "ro-md", - "ru", - "ru-md", - "sb", - "sk", - "sl", - "sq", - "sr", - "sv", - "sv-fi", - "th", - "tn", - "tr", - "ts", - "ua", - "ur", - "ve", - "vi", - "xh", - "zh-cn", - "zh-hk", - "zh-sg", - "zh-tw", - "zu" - ], - "x-enum-name": "EmailTemplateLocale", - "x-enum-keys": [], - "default": "" - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "oauthClientId": { + "type": "string", + "description": "'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3", + "x-example": "<OAUTH_CLIENT_ID>", + "x-nullable": true + }, + "oauthClientSecret": { + "type": "string", + "description": "'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9", + "x-example": "<OAUTH_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/project\/usage": { - "get": { - "summary": "Get project usage stats", - "operationId": "projectGetUsage", + "\/project\/oauth2\/oidc": { + "patch": { + "summary": "Update project OAuth2 Oidc", + "operationId": "projectUpdateOAuth2Oidc", "tags": [ "project" ], - "description": "Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.", + "description": "Update the project OAuth2 Oidc configuration.", "responses": { "200": { - "description": "UsageProject", + "description": "OAuth2Oidc", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageProject" + "$ref": "#\/components\/schemas\/oAuth2Oidc" } } } @@ -50353,92 +50106,106 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 686, + "method": "updateOAuth2Oidc", + "group": "oauth2", + "weight": 1250, "cookies": false, "type": "", - "demo": "project\/get-usage.md", + "demo": "project\/update-o-auth-2-oidc.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "startDate", - "description": "Starting date for the usage", - "required": true, - "schema": { - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "in": "query" - }, - { - "name": "endDate", - "description": "End date for the usage", - "required": true, - "schema": { - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "in": "query" - }, - { - "name": "period", - "description": "Period used", - "required": false, - "schema": { - "type": "string", - "x-example": "1h", - "enum": [ - "1h", - "1d" - ], - "x-enum-name": "ProjectUsageRange", - "x-enum-keys": [ - "One Hour", - "One Day" - ], - "default": "1d" - }, - "in": "query" - } - ] - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "wellKnownURL": { + "type": "string", + "description": "OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https:\/\/myoauth.com\/.well-known\/openid-configuration", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "authorizationURL": { + "type": "string", + "description": "OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/authorize", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "tokenURL": { + "type": "string", + "description": "OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/token", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "userInfoURL": { + "type": "string", + "description": "OpenID Connect user info endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/userinfo", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } + } + } + } }, - "\/project\/variables": { - "get": { - "summary": "List project variables", - "operationId": "projectListVariables", + "\/project\/oauth2\/okta": { + "patch": { + "summary": "Update project OAuth2 Okta", + "operationId": "projectUpdateOAuth2Okta", "tags": [ "project" ], - "description": "Get a list of all project environment variables.", + "description": "Update the project OAuth2 Okta configuration.", "responses": { "200": { - "description": "Variables List", + "description": "OAuth2Okta", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variableList" + "$ref": "#\/components\/schemas\/oAuth2Okta" } } } @@ -50446,16 +50213,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 1106, + "method": "updateOAuth2Okta", + "group": "oauth2", + "weight": 1251, "cookies": false, "type": "", - "demo": "project\/list-variables.md", + "demo": "project\/update-o-auth-2-okta.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50472,47 +50239,64 @@ "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "domain": { + "type": "string", + "description": "Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https:\/\/trial-6400025.okta.com\/", + "x-example": null, + "x-nullable": true + }, + "authorizationServerId": { + "type": "string", + "description": "Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z", + "x-example": "<AUTHORIZATION_SERVER_ID>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "post": { - "summary": "Create project variable", - "operationId": "projectCreateVariable", + } + } + }, + "\/project\/oauth2\/paypal": { + "patch": { + "summary": "Update project OAuth2 Paypal", + "operationId": "projectUpdateOAuth2Paypal", "tags": [ "project" ], - "description": "Create a new project environment variable. These variables can be accessed by all functions and sites in the project.", + "description": "Update the project OAuth2 Paypal configuration.", "responses": { - "201": { - "description": "Variable", + "200": { + "description": "OAuth2Paypal", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/oAuth2Paypal" } } } @@ -50520,16 +50304,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 1105, + "method": "updateOAuth2Paypal", + "group": "oauth2", + "weight": 1243, "cookies": false, "type": "", - "demo": "project\/create-variable.md", + "demo": "project\/update-o-auth-2-paypal.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50552,53 +50336,46 @@ "schema": { "type": "object", "properties": { - "variableId": { - "type": "string", - "description": "Variable unique ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<VARIABLE_ID>" - }, - "key": { + "clientId": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "x-example": "<KEY>" + "description": "'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "value": { + "secretKey": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "description": "'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", + "x-example": "<SECRET_KEY>", + "x-nullable": true }, - "secret": { + "enabled": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "variableId", - "key", - "value" - ] + } } } } } } }, - "\/project\/variables\/{variableId}": { - "get": { - "summary": "Get project variable", - "operationId": "projectGetVariable", + "\/project\/oauth2\/paypalSandbox": { + "patch": { + "summary": "Update project OAuth2 PaypalSandbox", + "operationId": "projectUpdateOAuth2PaypalSandbox", "tags": [ "project" ], - "description": "Get a variable by its unique ID. ", + "description": "Update the project OAuth2 PaypalSandbox configuration.", "responses": { "200": { - "description": "Variable", + "description": "OAuth2Paypal", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/oAuth2Paypal" } } } @@ -50606,16 +50383,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getVariable", - "group": "variables", - "weight": 1107, + "method": "updateOAuth2PaypalSandbox", + "group": "oauth2", + "weight": 1244, "cookies": false, "type": "", - "demo": "project\/get-variable.md", + "demo": "project\/update-o-auth-2-paypal-sandbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50632,33 +50409,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<VARIABLE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "secretKey": { + "type": "string", + "description": "'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "put": { - "summary": "Update project variable", - "operationId": "projectUpdateVariable", + } + } + }, + "\/project\/oauth2\/podio": { + "patch": { + "summary": "Update project OAuth2 Podio", + "operationId": "projectUpdateOAuth2Podio", "tags": [ "project" ], - "description": "Update variable by its unique ID.", + "description": "Update the project OAuth2 Podio configuration.", "responses": { "200": { - "description": "Variable", + "description": "OAuth2Podio", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/oAuth2Podio" } } } @@ -50666,16 +50462,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateVariable", - "group": "variables", - "weight": 1109, + "method": "updateOAuth2Podio", + "group": "oauth2", + "weight": 1232, "cookies": false, "type": "", - "demo": "project\/update-variable.md", + "demo": "project\/update-o-auth-2-podio.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50692,39 +50488,27 @@ "Key": [] } ], - "parameters": [ - { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<VARIABLE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "key": { + "clientId": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "x-example": "<KEY>", + "description": "'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app", + "x-example": "<CLIENT_ID>", "x-nullable": true }, - "value": { + "clientSecret": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>", + "description": "'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN", + "x-example": "<CLIENT_SECRET>", "x-nullable": true }, - "secret": { + "enabled": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", "x-example": false, "x-nullable": true } @@ -50733,31 +50517,40 @@ } } } - }, - "delete": { - "summary": "Delete project variable", - "operationId": "projectDeleteVariable", + } + }, + "\/project\/oauth2\/salesforce": { + "patch": { + "summary": "Update project OAuth2 Salesforce", + "operationId": "projectUpdateOAuth2Salesforce", "tags": [ "project" ], - "description": "Delete a variable by its unique ID. ", + "description": "Update the project OAuth2 Salesforce configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Salesforce", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oAuth2Salesforce" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteVariable", - "group": "variables", - "weight": 1108, + "method": "updateOAuth2Salesforce", + "group": "oauth2", + "weight": 1234, "cookies": false, "type": "", - "demo": "project\/delete-variable.md", + "demo": "project\/update-o-auth-2-salesforce.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50774,35 +50567,52 @@ "Key": [] } ], - "parameters": [ - { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<VARIABLE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "customerKey": { + "type": "string", + "description": "'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", + "x-example": "<CUSTOMER_KEY>", + "x-nullable": true + }, + "customerSecret": { + "type": "string", + "description": "'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2", + "x-example": "<CUSTOMER_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/projects": { - "get": { - "summary": "List projects", - "operationId": "projectsList", + "\/project\/oauth2\/slack": { + "patch": { + "summary": "Update project OAuth2 Slack", + "operationId": "projectUpdateOAuth2Slack", "tags": [ - "projects" + "project" ], - "description": "Get a list of all projects. You can use the query params to filter your results. ", + "description": "Update the project OAuth2 Slack configuration.", "responses": { "200": { - "description": "Projects List", + "description": "OAuth2Slack", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/projectList" + "$ref": "#\/components\/schemas\/oAuth2Slack" } } } @@ -50810,18 +50620,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "projects", - "weight": 1094, + "method": "updateOAuth2Slack", + "group": "oauth2", + "weight": 1231, "cookies": false, "type": "", - "demo": "projects\/list.md", + "demo": "project\/update-o-auth-2-slack.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -50831,61 +50642,56 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "post": { - "summary": "Create project", - "operationId": "projectsCreate", + } + } + }, + "\/project\/oauth2\/spotify": { + "patch": { + "summary": "Update project OAuth2 Spotify", + "operationId": "projectUpdateOAuth2Spotify", "tags": [ - "projects" + "project" ], - "description": "Create a new project. You can create a maximum of 100 projects per account. ", + "description": "Update the project OAuth2 Spotify configuration.", "responses": { - "201": { - "description": "Project", + "200": { + "description": "OAuth2Spotify", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Spotify" } } } @@ -50893,29 +50699,30 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "projects", - "weight": 1092, + "method": "updateOAuth2Spotify", + "group": "oauth2", + "weight": 1230, "cookies": false, "type": "", - "demo": "projects\/create.md", + "demo": "project\/update-o-auth-2-spotify.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "requestBody": { @@ -50924,109 +50731,46 @@ "schema": { "type": "object", "properties": { - "projectId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, and hyphen. Can't start with a special char. Max length is 36 chars.", - "x-example": null - }, - "name": { - "type": "string", - "description": "Project name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "teamId": { - "type": "string", - "description": "Team unique ID.", - "x-example": "<TEAM_ID>" - }, - "region": { - "type": "string", - "description": "Project Region.", - "x-example": "fra", - "enum": [ - "fra", - "nyc", - "syd", - "sfo", - "sgp", - "tor" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "description": { - "type": "string", - "description": "Project description. Max length: 256 chars.", - "x-example": "<DESCRIPTION>" - }, - "logo": { - "type": "string", - "description": "Project logo.", - "x-example": "<LOGO>" - }, - "url": { - "type": "string", - "description": "Project URL.", - "x-example": "https:\/\/example.com", - "format": "url" - }, - "legalName": { - "type": "string", - "description": "Project legal Name. Max length: 256 chars.", - "x-example": "<LEGAL_NAME>" - }, - "legalCountry": { - "type": "string", - "description": "Project legal Country. Max length: 256 chars.", - "x-example": "<LEGAL_COUNTRY>" - }, - "legalState": { - "type": "string", - "description": "Project legal State. Max length: 256 chars.", - "x-example": "<LEGAL_STATE>" - }, - "legalCity": { + "clientId": { "type": "string", - "description": "Project legal City. Max length: 256 chars.", - "x-example": "<LEGAL_CITY>" + "description": "'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "legalAddress": { + "clientSecret": { "type": "string", - "description": "Project legal Address. Max length: 256 chars.", - "x-example": "<LEGAL_ADDRESS>" + "description": "'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "legalTaxId": { - "type": "string", - "description": "Project legal Tax ID. Max length: 256 chars.", - "x-example": "<LEGAL_TAX_ID>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "projectId", - "name", - "teamId" - ] + } } } } } } }, - "\/projects\/{projectId}": { - "get": { - "summary": "Get project", - "operationId": "projectsGet", + "\/project\/oauth2\/stripe": { + "patch": { + "summary": "Update project OAuth2 Stripe", + "operationId": "projectUpdateOAuth2Stripe", "tags": [ - "projects" + "project" ], - "description": "Get a project by its unique ID. This endpoint allows you to retrieve the project's details, including its name, description, team, region, and other metadata. ", + "description": "Update the project OAuth2 Stripe configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Stripe", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Stripe" } } } @@ -51034,58 +50778,78 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "projects", - "weight": 57, + "method": "updateOAuth2Stripe", + "group": "oauth2", + "weight": 1229, "cookies": false, "type": "", - "demo": "projects\/get.md", + "demo": "project\/update-o-auth-2-stripe.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "apiSecretKey": { + "type": "string", + "description": "'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp", + "x-example": "<API_SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, + } + } + }, + "\/project\/oauth2\/tradeshift": { "patch": { - "summary": "Update project", - "operationId": "projectsUpdate", + "summary": "Update project OAuth2 Tradeshift", + "operationId": "projectUpdateOAuth2Tradeshift", "tags": [ - "projects" + "project" ], - "description": "Update a project by its unique ID.", + "description": "Update the project OAuth2 Tradeshift configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Tradeshift", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "$ref": "#\/components\/schemas\/oAuth2Tradeshift" } } } @@ -51093,41 +50857,30 @@ }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "projects", - "weight": 1093, + "method": "updateOAuth2Tradeshift", + "group": "oauth2", + "weight": 1241, "cookies": false, "type": "", - "demo": "projects\/update.md", + "demo": "project\/update-o-auth-2-tradeshift.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -51136,136 +50889,46 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Project name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "description": { - "type": "string", - "description": "Project description. Max length: 256 chars.", - "x-example": "<DESCRIPTION>" - }, - "logo": { - "type": "string", - "description": "Project logo.", - "x-example": "<LOGO>" - }, - "url": { - "type": "string", - "description": "Project URL.", - "x-example": "https:\/\/example.com", - "format": "url" - }, - "legalName": { - "type": "string", - "description": "Project legal name. Max length: 256 chars.", - "x-example": "<LEGAL_NAME>" - }, - "legalCountry": { - "type": "string", - "description": "Project legal country. Max length: 256 chars.", - "x-example": "<LEGAL_COUNTRY>" - }, - "legalState": { - "type": "string", - "description": "Project legal state. Max length: 256 chars.", - "x-example": "<LEGAL_STATE>" - }, - "legalCity": { + "oauth2ClientId": { "type": "string", - "description": "Project legal city. Max length: 256 chars.", - "x-example": "<LEGAL_CITY>" + "description": "'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app", + "x-example": "<OAUTH2_CLIENT_ID>", + "x-nullable": true }, - "legalAddress": { + "oauth2ClientSecret": { "type": "string", - "description": "Project legal address. Max length: 256 chars.", - "x-example": "<LEGAL_ADDRESS>" + "description": "'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", + "x-example": "<OAUTH2_CLIENT_SECRET>", + "x-nullable": true }, - "legalTaxId": { - "type": "string", - "description": "Project legal tax ID. Max length: 256 chars.", - "x-example": "<LEGAL_TAX_ID>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name" - ] + } } } } } } }, - "\/projects\/{projectId}\/console-access": { + "\/project\/oauth2\/tradeshiftBox": { "patch": { - "summary": "Record console access to a project", - "operationId": "projectsUpdateConsoleAccess", - "tags": [ - "projects" - ], - "description": "Record console access to a project. This endpoint updates the last accessed timestamp for the project to track console activity.\n", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updateConsoleAccess", - "group": null, - "weight": 1089, - "cookies": false, - "type": "", - "demo": "projects\/update-console-access.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-console-access.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - } - ] - } - }, - "\/projects\/{projectId}\/dev-keys": { - "get": { - "summary": "List dev keys", - "operationId": "projectsListDevKeys", + "summary": "Update project OAuth2 Tradeshift Sandbox", + "operationId": "projectUpdateOAuth2TradeshiftSandbox", "tags": [ - "projects" + "project" ], - "description": "List all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", + "description": "Update the project OAuth2 Tradeshift Sandbox configuration.", "responses": { "200": { - "description": "Dev Keys List", + "description": "OAuth2Tradeshift", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/devKeyList" + "$ref": "#\/components\/schemas\/oAuth2Tradeshift" } } } @@ -51273,18 +50936,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "listDevKeys", - "group": "devKeys", - "weight": 408, + "method": "updateOAuth2TradeshiftSandbox", + "group": "oauth2", + "weight": 1242, "cookies": false, "type": "", - "demo": "projects\/list-dev-keys.md", + "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51294,49 +50958,56 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: accessedAt, expire", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "oauth2ClientId": { + "type": "string", + "description": "'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app", + "x-example": "<OAUTH2_CLIENT_ID>", + "x-nullable": true + }, + "oauth2ClientSecret": { + "type": "string", + "description": "'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", + "x-example": "<OAUTH2_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "post": { - "summary": "Create dev key", - "operationId": "projectsCreateDevKey", + } + } + }, + "\/project\/oauth2\/twitch": { + "patch": { + "summary": "Update project OAuth2 Twitch", + "operationId": "projectUpdateOAuth2Twitch", "tags": [ - "projects" + "project" ], - "description": "Create a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", + "description": "Update the project OAuth2 Twitch configuration.", "responses": { - "201": { - "description": "DevKey", + "200": { + "description": "OAuth2Twitch", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/devKey" + "$ref": "#\/components\/schemas\/oAuth2Twitch" } } } @@ -51344,18 +51015,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDevKey", - "group": "devKeys", - "weight": 405, + "method": "updateOAuth2Twitch", + "group": "oauth2", + "weight": 1228, "cookies": false, "type": "", - "demo": "projects\/create-dev-key.md", + "demo": "project\/update-o-auth-2-twitch.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51365,19 +51037,8 @@ }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -51386,43 +51047,46 @@ "schema": { "type": "object", "properties": { - "name": { + "clientId": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "expire": { + "clientSecret": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" + "description": "'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name", - "expire" - ] + } } } } } } }, - "\/projects\/{projectId}\/dev-keys\/{keyId}": { - "get": { - "summary": "Get dev key", - "operationId": "projectsGetDevKey", + "\/project\/oauth2\/wordpress": { + "patch": { + "summary": "Update project OAuth2 WordPress", + "operationId": "projectUpdateOAuth2WordPress", "tags": [ - "projects" + "project" ], - "description": "Get a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", + "description": "Update the project OAuth2 WordPress configuration.", "responses": { "200": { - "description": "DevKey", + "description": "OAuth2WordPress", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/devKey" + "$ref": "#\/components\/schemas\/oAuth2WordPress" } } } @@ -51430,18 +51094,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "getDevKey", - "group": "devKeys", - "weight": 407, + "method": "updateOAuth2WordPress", + "group": "oauth2", + "weight": 1227, "cookies": false, "type": "", - "demo": "projects\/get-dev-key.md", + "demo": "project\/update-o-auth-2-word-press.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51451,46 +51116,56 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<KEY_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of WordPress OAuth2 app. For example: 130005", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "put": { - "summary": "Update dev key", - "operationId": "projectsUpdateDevKey", + } + } + }, + "\/project\/oauth2\/x": { + "patch": { + "summary": "Update project OAuth2 X", + "operationId": "projectUpdateOAuth2X", "tags": [ - "projects" + "project" ], - "description": "Update a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", + "description": "Update the project OAuth2 X configuration.", "responses": { "200": { - "description": "DevKey", + "description": "OAuth2X", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/devKey" + "$ref": "#\/components\/schemas\/oAuth2X" } } } @@ -51498,18 +51173,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDevKey", - "group": "devKeys", - "weight": 406, + "method": "updateOAuth2X", + "group": "oauth2", + "weight": 1226, "cookies": false, "type": "", - "demo": "projects\/update-dev-key.md", + "demo": "project\/update-o-auth-2x.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51519,29 +51195,8 @@ }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<KEY_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -51550,104 +51205,46 @@ "schema": { "type": "object", "properties": { - "name": { + "customerKey": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT", + "x-example": "<CUSTOMER_KEY>", + "x-nullable": true }, - "expire": { + "secretKey": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" + "description": "'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name", - "expire" - ] + } } } } } - }, - "delete": { - "summary": "Delete dev key", - "operationId": "projectsDeleteDevKey", - "tags": [ - "projects" - ], - "description": "Delete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteDevKey", - "group": "devKeys", - "weight": 409, - "cookies": false, - "type": "", - "demo": "projects\/delete-dev-key.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<KEY_ID>" - }, - "in": "path" - } - ] } }, - "\/projects\/{projectId}\/schedules": { - "get": { - "summary": "List schedules", - "operationId": "projectsListSchedules", + "\/project\/oauth2\/yahoo": { + "patch": { + "summary": "Update project OAuth2 Yahoo", + "operationId": "projectUpdateOAuth2Yahoo", "tags": [ - "projects" + "project" ], - "description": "Get a list of all the project's schedules. You can use the query params to filter your results.", + "description": "Update the project OAuth2 Yahoo configuration.", "responses": { "200": { - "description": "Schedules List", + "description": "OAuth2Yahoo", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/scheduleList" + "$ref": "#\/components\/schemas\/oAuth2Yahoo" } } } @@ -51655,82 +51252,78 @@ }, "deprecated": false, "x-appwrite": { - "method": "listSchedules", - "group": "schedules", - "weight": 416, + "method": "updateOAuth2Yahoo", + "group": "oauth2", + "weight": 1235, "cookies": false, "type": "", - "demo": "projects\/list-schedules.md", + "demo": "project\/update-o-auth-2-yahoo.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-schedules.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: resourceType, resourceId, projectId, schedule, active, region", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] - }, - "post": { - "summary": "Create schedule", - "operationId": "projectsCreateSchedule", + } + } + }, + "\/project\/oauth2\/yandex": { + "patch": { + "summary": "Update project OAuth2 Yandex", + "operationId": "projectUpdateOAuth2Yandex", "tags": [ - "projects" + "project" ], - "description": "Create a new schedule for a resource.", + "description": "Update the project OAuth2 Yandex configuration.", "responses": { - "201": { - "description": "Schedule", + "200": { + "description": "OAuth2Yandex", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/schedule" + "$ref": "#\/components\/schemas\/oAuth2Yandex" } } } @@ -51738,41 +51331,30 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSchedule", - "group": "schedules", - "weight": 1095, + "method": "updateOAuth2Yandex", + "group": "oauth2", + "weight": 1225, "cookies": false, "type": "", - "demo": "projects\/create-schedule.md", + "demo": "project\/update-o-auth-2-yandex.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -51781,66 +51363,46 @@ "schema": { "type": "object", "properties": { - "resourceType": { - "type": "string", - "description": "The resource type for the schedule. Possible values: function, execution, message, backup.", - "x-example": "function", - "enum": [ - "function", - "execution", - "message", - "backup" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { + "clientId": { "type": "string", - "description": "The resource ID to associate with this schedule.", - "x-example": "<RESOURCE_ID>" + "description": "'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "schedule": { + "clientSecret": { "type": "string", - "description": "Schedule CRON expression.", - "x-example": null + "description": "'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "active": { + "enabled": { "type": "boolean", - "description": "Whether the schedule is active.", - "x-example": false - }, - "data": { - "type": "object", - "description": "Schedule data as a JSON string. Used to store resource-specific context needed for execution.", - "x-example": "{}" + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "resourceType", - "resourceId", - "schedule" - ] + } } } } } } }, - "\/projects\/{projectId}\/schedules\/{scheduleId}": { - "get": { - "summary": "Get schedule", - "operationId": "projectsGetSchedule", + "\/project\/oauth2\/zoho": { + "patch": { + "summary": "Update project OAuth2 Zoho", + "operationId": "projectUpdateOAuth2Zoho", "tags": [ - "projects" + "project" ], - "description": "Get a schedule by its unique ID.", + "description": "Update the project OAuth2 Zoho configuration.", "responses": { "200": { - "description": "Schedule", + "description": "OAuth2Zoho", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/schedule" + "$ref": "#\/components\/schemas\/oAuth2Zoho" } } } @@ -51848,105 +51410,109 @@ }, "deprecated": false, "x-appwrite": { - "method": "getSchedule", - "group": "schedules", - "weight": 415, + "method": "updateOAuth2Zoho", + "group": "oauth2", + "weight": 1224, "cookies": false, "type": "", - "demo": "projects\/get-schedule.md", + "demo": "project\/update-o-auth-2-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" - }, - { - "name": "scheduleId", - "description": "Schedule ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SCHEDULE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/projects\/{projectId}\/status": { + "\/project\/oauth2\/zoom": { "patch": { - "summary": "Update the status of a project", - "operationId": "projectsUpdateStatus", + "summary": "Update project OAuth2 Zoom", + "operationId": "projectUpdateOAuth2Zoom", "tags": [ - "projects" + "project" ], - "description": "Update the status of a project. Can be used to archive\/restore projects, and to restore paused projects. When restoring a paused project, the console fingerprint header must be provided and the project must not be blocked for any reason other than inactivity.\n", + "description": "Update the project OAuth2 Zoom configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Zoom", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oAuth2Zoom" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "updateStatus", - "group": null, - "weight": 1090, + "method": "updateOAuth2Zoom", + "group": "oauth2", + "weight": 1223, "cookies": false, "type": "", - "demo": "projects\/update-status.md", - "rate-limit": 10, + "demo": "project\/update-o-auth-2-zoom.md", + "rate-limit": 0, "rate-time": 3600, - "rate-key": "ip:{ip},userId:{userId}", - "scope": "projects.write", + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "projectId", - "description": "Project ID", - "required": true, - "schema": { - "type": "string", - "x-example": "<PROJECT_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ], "requestBody": { @@ -51955,41 +51521,214 @@ "schema": { "type": "object", "properties": { - "status": { + "clientId": { "type": "string", - "description": "New status for the project", - "x-example": "active", - "enum": [ - "active" - ], - "x-enum-name": null, - "x-enum-keys": [] + "description": "'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "status" - ] + } } } } } } }, - "\/projects\/{projectId}\/team": { - "patch": { - "summary": "Update project team", - "operationId": "projectsUpdateTeam", + "\/project\/oauth2\/{providerId}": { + "get": { + "summary": "Get project OAuth2 provider", + "operationId": "projectGetOAuth2Provider", "tags": [ - "projects" + "project" ], - "description": "Update the team ID of a project allowing for it to be transferred to another team.", + "description": "Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key\/team IDs) are write-only and always returned empty.", "responses": { "200": { - "description": "Project", + "description": "OAuth2GitHub, or OAuth2Discord, or OAuth2Figma, or OAuth2Dropbox, or OAuth2Dailymotion, or OAuth2Bitbucket, or OAuth2Bitly, or OAuth2Box, or OAuth2Autodesk, or OAuth2Google, or OAuth2Zoom, or OAuth2Zoho, or OAuth2Yandex, or OAuth2X, or OAuth2WordPress, or OAuth2Twitch, or OAuth2Stripe, or OAuth2Spotify, or OAuth2Slack, or OAuth2Podio, or OAuth2Notion, or OAuth2Salesforce, or OAuth2Yahoo, or OAuth2Linkedin, or OAuth2Disqus, or OAuth2Amazon, or OAuth2Etsy, or OAuth2Facebook, or OAuth2Tradeshift, or OAuth2Paypal, or OAuth2Gitlab, or OAuth2Authentik, or OAuth2Auth0, or OAuth2FusionAuth, or OAuth2Keycloak, or OAuth2Oidc, or OAuth2Apple, or OAuth2Okta, or OAuth2Kick, or OAuth2Microsoft", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/project" + "oneOf": [ + { + "$ref": "#\/components\/schemas\/oAuth2Github" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Discord" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Figma" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Dropbox" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Dailymotion" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Bitbucket" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Bitly" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Box" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Autodesk" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Google" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Zoom" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Zoho" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Yandex" + }, + { + "$ref": "#\/components\/schemas\/oAuth2X" + }, + { + "$ref": "#\/components\/schemas\/oAuth2WordPress" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Twitch" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Stripe" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Spotify" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Slack" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Podio" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Notion" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Salesforce" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Yahoo" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Linkedin" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Disqus" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Amazon" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Etsy" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Facebook" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Tradeshift" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Paypal" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Gitlab" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Authentik" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Auth0" + }, + { + "$ref": "#\/components\/schemas\/oAuth2FusionAuth" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Keycloak" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Oidc" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Apple" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Okta" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Kick" + }, + { + "$ref": "#\/components\/schemas\/oAuth2Microsoft" + } + ], + "discriminator": { + "propertyName": "$id", + "mapping": { + "github": "#\/components\/schemas\/oAuth2Github", + "discord": "#\/components\/schemas\/oAuth2Discord", + "figma": "#\/components\/schemas\/oAuth2Figma", + "dropbox": "#\/components\/schemas\/oAuth2Dropbox", + "dailymotion": "#\/components\/schemas\/oAuth2Dailymotion", + "bitbucket": "#\/components\/schemas\/oAuth2Bitbucket", + "bitly": "#\/components\/schemas\/oAuth2Bitly", + "box": "#\/components\/schemas\/oAuth2Box", + "autodesk": "#\/components\/schemas\/oAuth2Autodesk", + "google": "#\/components\/schemas\/oAuth2Google", + "zoom": "#\/components\/schemas\/oAuth2Zoom", + "zoho": "#\/components\/schemas\/oAuth2Zoho", + "yandex": "#\/components\/schemas\/oAuth2Yandex", + "x": "#\/components\/schemas\/oAuth2X", + "wordpress": "#\/components\/schemas\/oAuth2WordPress", + "twitch": "#\/components\/schemas\/oAuth2Twitch", + "stripe": "#\/components\/schemas\/oAuth2Stripe", + "spotify": "#\/components\/schemas\/oAuth2Spotify", + "slack": "#\/components\/schemas\/oAuth2Slack", + "podio": "#\/components\/schemas\/oAuth2Podio", + "notion": "#\/components\/schemas\/oAuth2Notion", + "salesforce": "#\/components\/schemas\/oAuth2Salesforce", + "yahoo": "#\/components\/schemas\/oAuth2Yahoo", + "linkedin": "#\/components\/schemas\/oAuth2Linkedin", + "disqus": "#\/components\/schemas\/oAuth2Disqus", + "amazon": "#\/components\/schemas\/oAuth2Amazon", + "etsy": "#\/components\/schemas\/oAuth2Etsy", + "facebook": "#\/components\/schemas\/oAuth2Facebook", + "tradeshift": "#\/components\/schemas\/oAuth2Tradeshift", + "tradeshiftBox": "#\/components\/schemas\/oAuth2Tradeshift", + "paypal": "#\/components\/schemas\/oAuth2Paypal", + "paypalSandbox": "#\/components\/schemas\/oAuth2Paypal", + "gitlab": "#\/components\/schemas\/oAuth2Gitlab", + "authentik": "#\/components\/schemas\/oAuth2Authentik", + "auth0": "#\/components\/schemas\/oAuth2Auth0", + "fusionauth": "#\/components\/schemas\/oAuth2FusionAuth", + "keycloak": "#\/components\/schemas\/oAuth2Keycloak", + "oidc": "#\/components\/schemas\/oAuth2Oidc", + "apple": "#\/components\/schemas\/oAuth2Apple", + "okta": "#\/components\/schemas\/oAuth2Okta", + "kick": "#\/components\/schemas\/oAuth2Kick", + "microsoft": "#\/components\/schemas\/oAuth2Microsoft" + } + } } } } @@ -51997,79 +51736,110 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTeam", - "group": "projects", - "weight": 1091, + "method": "getOAuth2Provider", + "group": "oauth2", + "weight": 1212, "cookies": false, "type": "", - "demo": "projects\/update-team.md", + "demo": "project\/get-o-auth-2-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", + "name": "providerId", + "description": "OAuth2 provider key. For example: github, google, apple.", "required": true, "schema": { "type": "string", - "x-example": "<PROJECT_ID>" + "x-example": "amazon", + "enum": [ + "amazon", + "apple", + "auth0", + "authentik", + "autodesk", + "bitbucket", + "bitly", + "box", + "dailymotion", + "discord", + "disqus", + "dropbox", + "etsy", + "facebook", + "figma", + "fusionauth", + "github", + "gitlab", + "google", + "keycloak", + "kick", + "linkedin", + "microsoft", + "notion", + "oidc", + "okta", + "paypal", + "paypalSandbox", + "podio", + "salesforce", + "slack", + "spotify", + "stripe", + "tradeshift", + "tradeshiftBox", + "twitch", + "wordpress", + "x", + "yahoo", + "yammer", + "yandex", + "zoho", + "zoom", + "githubImagine", + "googleImagine" + ], + "x-enum-name": "ProjectOAuthProviderId", + "x-enum-keys": [] }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "teamId": { - "type": "string", - "description": "Team ID of the team to transfer project to.", - "x-example": "<TEAM_ID>" - } - }, - "required": [ - "teamId" - ] - } - } - } - } + ] } }, - "\/proxy\/rules": { + "\/project\/platforms": { "get": { - "summary": "List rules", - "operationId": "proxyListRules", + "summary": "List project platforms", + "operationId": "projectListPlatforms", "tags": [ - "proxy" + "project" ], - "description": "Get a list of all the proxy rules. You can use the query params to filter your results.", + "description": "Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.", "responses": { "200": { - "description": "Rule List", + "description": "Platforms List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRuleList" + "$ref": "#\/components\/schemas\/platformList" } } } @@ -52077,16 +51847,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRules", - "group": "rules", - "weight": 1202, + "method": "listPlatforms", + "group": "platforms", + "weight": 1181, "cookies": false, "type": "", - "demo": "proxy\/list-rules.md", + "demo": "project\/list-platforms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.read", + "scope": "platforms.read", "platforms": [ "console", "server" @@ -52106,7 +51876,7 @@ "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, name, hostname, bundleIdentifier, applicationId, packageIdentifierName, packageName", "required": false, "schema": { "type": "array", @@ -52131,21 +51901,21 @@ ] } }, - "\/proxy\/rules\/api": { + "\/project\/platforms\/android": { "post": { - "summary": "Create API rule", - "operationId": "proxyCreateAPIRule", + "summary": "Create project Android platform", + "operationId": "projectCreateAndroidPlatform", "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for serving Appwrite's API on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Create a new Android platform for your project. Use this endpoint to register a new Android platform where your users will run your application which will interact with the Appwrite API.", "responses": { "201": { - "description": "Rule", + "description": "Platform Android", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformAndroid" } } } @@ -52153,16 +51923,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createAPIRule", - "group": "rules", - "weight": 1197, + "method": "createAndroidPlatform", + "group": "platforms", + "weight": 1185, "cookies": false, "type": "", - "demo": "proxy\/create-api-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/create-android-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52185,14 +51955,26 @@ "schema": { "type": "object", "properties": { - "domain": { + "platformId": { "type": "string", - "description": "Domain name.", - "x-example": null + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "applicationId": { + "type": "string", + "description": "Android application ID. Max length: 256 chars.", + "x-example": "<APPLICATION_ID>" } }, "required": [ - "domain" + "platformId", + "name", + "applicationId" ] } } @@ -52200,21 +51982,21 @@ } } }, - "\/proxy\/rules\/function": { - "post": { - "summary": "Create function rule", - "operationId": "proxyCreateFunctionRule", + "\/project\/platforms\/android\/{platformId}": { + "put": { + "summary": "Update project Android platform", + "operationId": "projectUpdateAndroidPlatform", "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for executing Appwrite Function on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Update an Android platform by its unique ID. Use this endpoint to update the platform's name or application ID.", "responses": { - "201": { - "description": "Rule", + "200": { + "description": "Platform Android", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformAndroid" } } } @@ -52222,16 +52004,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createFunctionRule", - "group": "rules", - "weight": 1199, + "method": "updateAndroidPlatform", + "group": "platforms", + "weight": 1190, "cookies": false, "type": "", - "demo": "proxy\/create-function-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/update-android-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52248,31 +52030,38 @@ "Key": [] } ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PLATFORM_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "domain": { - "type": "string", - "description": "Domain name.", - "x-example": null - }, - "functionId": { + "name": { "type": "string", - "description": "ID of function to be executed.", - "x-example": "<FUNCTION_ID>" + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "branch": { + "applicationId": { "type": "string", - "description": "Name of VCS branch to deploy changes automatically", - "x-example": "<BRANCH>" + "description": "Android application ID. Max length: 256 chars.", + "x-example": "<APPLICATION_ID>" } }, "required": [ - "domain", - "functionId" + "name", + "applicationId" ] } } @@ -52280,21 +52069,21 @@ } } }, - "\/proxy\/rules\/redirect": { + "\/project\/platforms\/apple": { "post": { - "summary": "Create Redirect rule", - "operationId": "proxyCreateRedirectRule", + "summary": "Create project Apple platform", + "operationId": "projectCreateApplePlatform", "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for to redirect from custom domain to another domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Create a new Apple platform for your project. Use this endpoint to register a new Apple platform where your users will run your application which will interact with the Appwrite API.", "responses": { "201": { - "description": "Rule", + "description": "Platform Apple", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformApple" } } } @@ -52302,16 +52091,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRedirectRule", - "group": "rules", - "weight": 1200, + "method": "createApplePlatform", + "group": "platforms", + "weight": 1184, "cookies": false, "type": "", - "demo": "proxy\/create-redirect-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/create-apple-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52334,61 +52123,113 @@ "schema": { "type": "object", "properties": { - "domain": { - "type": "string", - "description": "Domain name.", - "x-example": null - }, - "url": { + "platformId": { "type": "string", - "description": "Target URL of redirection", - "x-example": "https:\/\/example.com", - "format": "url" + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" }, - "statusCode": { + "name": { "type": "string", - "description": "Status code of redirection", - "x-example": "301", - "enum": [ - "301", - "302", - "307", - "308" - ], - "x-enum-name": null, - "x-enum-keys": [ - "Moved Permanently 301", - "Found 302", - "Temporary Redirect 307", - "Permanent Redirect 308" - ] + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "resourceId": { + "bundleIdentifier": { "type": "string", - "description": "ID of parent resource.", - "x-example": "<RESOURCE_ID>" - }, - "resourceType": { + "description": "Apple bundle identifier. Max length: 256 chars.", + "x-example": "<BUNDLE_IDENTIFIER>" + } + }, + "required": [ + "platformId", + "name", + "bundleIdentifier" + ] + } + } + } + } + } + }, + "\/project\/platforms\/apple\/{platformId}": { + "put": { + "summary": "Update project Apple platform", + "operationId": "projectUpdateApplePlatform", + "tags": [ + "project" + ], + "description": "Update an Apple platform by its unique ID. Use this endpoint to update the platform's name or bundle identifier.", + "responses": { + "200": { + "description": "Platform Apple", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/platformApple" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateApplePlatform", + "group": "platforms", + "weight": 1189, + "cookies": false, + "type": "", + "demo": "project\/update-apple-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PLATFORM_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Type of parent resource.", - "x-example": "site", - "enum": [ - "site", - "function" - ], - "x-enum-name": "ProxyResourceType", - "x-enum-keys": [ - "Site", - "Function" - ] + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "bundleIdentifier": { + "type": "string", + "description": "Apple bundle identifier. Max length: 256 chars.", + "x-example": "<BUNDLE_IDENTIFIER>" } }, "required": [ - "domain", - "url", - "statusCode", - "resourceId", - "resourceType" + "name", + "bundleIdentifier" ] } } @@ -52396,21 +52237,21 @@ } } }, - "\/proxy\/rules\/site": { + "\/project\/platforms\/linux": { "post": { - "summary": "Create site rule", - "operationId": "proxyCreateSiteRule", + "summary": "Create project Linux platform", + "operationId": "projectCreateLinuxPlatform", "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for serving Appwrite Site on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Create a new Linux platform for your project. Use this endpoint to register a new Linux platform where your users will run your application which will interact with the Appwrite API.", "responses": { "201": { - "description": "Rule", + "description": "Platform Linux", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformLinux" } } } @@ -52418,16 +52259,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSiteRule", - "group": "rules", - "weight": 1198, + "method": "createLinuxPlatform", + "group": "platforms", + "weight": 1187, "cookies": false, "type": "", - "demo": "proxy\/create-site-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/create-linux-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52450,25 +52291,26 @@ "schema": { "type": "object", "properties": { - "domain": { + "platformId": { "type": "string", - "description": "Domain name.", - "x-example": null + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" }, - "siteId": { + "name": { "type": "string", - "description": "ID of site to be executed.", - "x-example": "<SITE_ID>" + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "branch": { + "packageName": { "type": "string", - "description": "Name of VCS branch to deploy changes automatically", - "x-example": "<BRANCH>" + "description": "Linux package name. Max length: 256 chars.", + "x-example": "<PACKAGE_NAME>" } }, "required": [ - "domain", - "siteId" + "platformId", + "name", + "packageName" ] } } @@ -52476,21 +52318,21 @@ } } }, - "\/proxy\/rules\/{ruleId}": { - "get": { - "summary": "Get rule", - "operationId": "proxyGetRule", + "\/project\/platforms\/linux\/{platformId}": { + "put": { + "summary": "Update project Linux platform", + "operationId": "projectUpdateLinuxPlatform", "tags": [ - "proxy" + "project" ], - "description": "Get a proxy rule by its unique ID.", + "description": "Update a Linux platform by its unique ID. Use this endpoint to update the platform's name or package name.", "responses": { "200": { - "description": "Rule", + "description": "Platform Linux", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformLinux" } } } @@ -52498,16 +52340,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "getRule", - "group": "rules", - "weight": 1201, + "method": "updateLinuxPlatform", + "group": "platforms", + "weight": 1192, "cookies": false, "type": "", - "demo": "proxy\/get-rule.md", + "demo": "project\/update-linux-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.read", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52526,41 +52368,75 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "schema": { "type": "string", - "x-example": "<RULE_ID>" + "x-example": "<PLATFORM_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete rule", - "operationId": "proxyDeleteRule", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageName": { + "type": "string", + "description": "Linux package name. Max length: 256 chars.", + "x-example": "<PACKAGE_NAME>" + } + }, + "required": [ + "name", + "packageName" + ] + } + } + } + } + } + }, + "\/project\/platforms\/web": { + "post": { + "summary": "Create project web platform", + "operationId": "projectCreateWebPlatform", "tags": [ - "proxy" + "project" ], - "description": "Delete a proxy rule by its unique ID.", + "description": "Create a new web platform for your project. Use this endpoint to register a new platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Platform Web", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/platformWeb" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRule", - "group": "rules", - "weight": 1203, + "method": "createWebPlatform", + "group": "platforms", + "weight": 1183, "cookies": false, "type": "", - "demo": "proxy\/delete-rule.md", + "demo": "project\/create-web-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52577,35 +52453,54 @@ "Key": [] } ], - "parameters": [ - { - "name": "ruleId", - "description": "Rule ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<RULE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "hostname": { + "type": "string", + "description": "Platform web hostname. Max length: 256 chars.", + "x-example": "app.example.com" + } + }, + "required": [ + "platformId", + "name", + "hostname" + ] + } + } } - ] + } } }, - "\/proxy\/rules\/{ruleId}\/status": { - "patch": { - "summary": "Update rule status", - "operationId": "proxyUpdateRuleStatus", + "\/project\/platforms\/web\/{platformId}": { + "put": { + "summary": "Update project web platform", + "operationId": "projectUpdateWebPlatform", "tags": [ - "proxy" + "project" ], - "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "description": "Update a web platform by its unique ID. Use this endpoint to update the platform's name or hostname.", "responses": { "200": { - "description": "Rule", + "description": "Platform Web", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/platformWeb" } } } @@ -52613,16 +52508,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRuleStatus", - "group": "rules", - "weight": 1204, + "method": "updateWebPlatform", + "group": "platforms", + "weight": 1188, "cookies": false, "type": "", - "demo": "proxy\/update-rule-status.md", + "demo": "project\/update-web-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52641,33 +52536,58 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "schema": { "type": "string", - "x-example": "<RULE_ID>" + "x-example": "<PLATFORM_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "hostname": { + "type": "string", + "description": "Platform web hostname. Max length: 256 chars.", + "x-example": "app.example.com" + } + }, + "required": [ + "name", + "hostname" + ] + } + } + } + } } }, - "\/sites": { - "get": { - "summary": "List sites", - "operationId": "sitesList", + "\/project\/platforms\/windows": { + "post": { + "summary": "Create project Windows platform", + "operationId": "projectCreateWindowsPlatform", "tags": [ - "sites" + "project" ], - "description": "Get a list of all the project's sites. You can use the query params to filter your results.", + "description": "Create a new Windows platform for your project. Use this endpoint to register a new Windows platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "200": { - "description": "Sites List", + "201": { + "description": "Platform Windows", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/siteList" + "$ref": "#\/components\/schemas\/platformWindows" } } } @@ -52675,16 +52595,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "sites", - "weight": 474, + "method": "createWindowsPlatform", + "group": "platforms", + "weight": 1186, "cookies": false, "type": "", - "demo": "sites\/list.md", + "demo": "project\/create-windows-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52701,58 +52621,54 @@ "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageIdentifierName": { + "type": "string", + "description": "Windows package identifier name. Max length: 256 chars.", + "x-example": "<PACKAGE_IDENTIFIER_NAME>" + } + }, + "required": [ + "platformId", + "name", + "packageIdentifierName" + ] + } + } } - ] - }, - "post": { - "summary": "Create site", - "operationId": "sitesCreate", + } + } + }, + "\/project\/platforms\/windows\/{platformId}": { + "put": { + "summary": "Update project Windows platform", + "operationId": "projectUpdateWindowsPlatform", "tags": [ - "sites" + "project" ], - "description": "Create a new site.", + "description": "Update a Windows platform by its unique ID. Use this endpoint to update the platform's name or package identifier name.", "responses": { - "201": { - "description": "Site", + "200": { + "description": "Platform Windows", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/site" + "$ref": "#\/components\/schemas\/platformWindows" } } } @@ -52760,16 +52676,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "sites", - "weight": 911, + "method": "updateWindowsPlatform", + "group": "platforms", + "weight": 1191, "cookies": false, "type": "", - "demo": "sites\/create.md", + "demo": "project\/update-windows-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -52786,246 +52702,38 @@ "Key": [] } ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PLATFORM_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "siteId": { - "type": "string", - "description": "Site ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<SITE_ID>" - }, "name": { "type": "string", - "description": "Site name. Max length: 128 chars.", + "description": "Platform name. Max length: 128 chars.", "x-example": "<NAME>" }, - "framework": { + "packageIdentifierName": { "type": "string", - "description": "Sites framework.", - "x-example": "analog", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "enabled": { - "type": "boolean", - "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", - "x-example": false - }, - "timeout": { - "type": "integer", - "description": "Maximum request time in seconds.", - "x-example": 1, - "format": "int32" - }, - "installCommand": { - "type": "string", - "description": "Install Command.", - "x-example": "<INSTALL_COMMAND>" - }, - "buildCommand": { - "type": "string", - "description": "Build Command.", - "x-example": "<BUILD_COMMAND>" - }, - "startCommand": { - "type": "string", - "description": "Custom start command. Leave empty to use default.", - "x-example": "<START_COMMAND>" - }, - "outputDirectory": { - "type": "string", - "description": "Output Directory for site.", - "x-example": "<OUTPUT_DIRECTORY>" - }, - "buildRuntime": { - "type": "string", - "description": "Runtime to use during build step.", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "adapter": { - "type": "string", - "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "x-example": "static", - "enum": [ - "static", - "ssr" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "x-example": "<INSTALLATION_ID>" - }, - "fallbackFile": { - "type": "string", - "description": "Fallback file for single page application sites.", - "x-example": "<FALLBACK_FILE>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the site.", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the site.", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to site code in the linked repo.", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the site deployments.", - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the SSR executions.", - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "x-example": 0, - "format": "int32" + "description": "Windows package identifier name. Max length: 256 chars.", + "x-example": "<PACKAGE_IDENTIFIER_NAME>" } }, "required": [ - "siteId", "name", - "framework", - "buildRuntime" + "packageIdentifierName" ] } } @@ -53033,21 +52741,47 @@ } } }, - "\/sites\/frameworks": { + "\/project\/platforms\/{platformId}": { "get": { - "summary": "List frameworks", - "operationId": "sitesListFrameworks", + "summary": "Get project platform", + "operationId": "projectGetPlatform", "tags": [ - "sites" + "project" ], - "description": "Get a list of all frameworks that are currently available on the server instance.", + "description": "Get a platform by its unique ID. This endpoint returns the platform's details, including its name, type, and key configurations.", "responses": { "200": { - "description": "Frameworks List", + "description": "Platform Web, or Platform Apple, or Platform Android, or Platform Windows, or Platform Linux", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/frameworkList" + "oneOf": [ + { + "$ref": "#\/components\/schemas\/platformWeb" + }, + { + "$ref": "#\/components\/schemas\/platformApple" + }, + { + "$ref": "#\/components\/schemas\/platformAndroid" + }, + { + "$ref": "#\/components\/schemas\/platformWindows" + }, + { + "$ref": "#\/components\/schemas\/platformLinux" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "web": "#\/components\/schemas\/platformWeb", + "apple": "#\/components\/schemas\/platformApple", + "android": "#\/components\/schemas\/platformAndroid", + "windows": "#\/components\/schemas\/platformWindows", + "linux": "#\/components\/schemas\/platformLinux" + } + } } } } @@ -53055,16 +52789,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listFrameworks", - "group": "frameworks", - "weight": 477, + "method": "getPlatform", + "group": "platforms", + "weight": 1182, "cookies": false, "type": "", - "demo": "sites\/list-frameworks.md", + "demo": "project\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "platforms.read", "platforms": [ "console", "server" @@ -53080,44 +52814,47 @@ "Project": [], "Key": [] } + ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PLATFORM_ID>" + }, + "in": "path" + } ] - } - }, - "\/sites\/specifications": { - "get": { - "summary": "List specifications", - "operationId": "sitesListSpecifications", + }, + "delete": { + "summary": "Delete project platform", + "operationId": "projectDeletePlatform", "tags": [ - "sites" + "project" ], - "description": "List allowed site specifications for this instance.", + "description": "Delete a platform by its unique ID. This endpoint removes the platform and all its configurations from the project.", "responses": { - "200": { - "description": "Specifications List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/specificationList" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "listSpecifications", - "group": "frameworks", - "weight": 500, + "method": "deletePlatform", + "group": "platforms", + "weight": 1193, "cookies": false, "type": "", - "demo": "sites\/list-specifications.md", + "demo": "project\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "platforms.write", "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53130,24 +52867,36 @@ "Project": [], "Key": [] } + ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PLATFORM_ID>" + }, + "in": "path" + } ] } }, - "\/sites\/templates": { + "\/project\/policies": { "get": { - "summary": "List templates", - "operationId": "sitesListTemplates", + "summary": "List project policies", + "operationId": "projectListPolicies", "tags": [ - "sites" + "project" ], - "description": "List available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", + "description": "Get a list of all project policies and their current configuration.", "responses": { "200": { - "description": "Site Templates List", + "description": "Policies List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/templateSiteList" + "$ref": "#\/components\/schemas\/policyList" } } } @@ -53155,18 +52904,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTemplates", - "group": "templates", - "weight": 496, + "method": "listPolicies", + "group": "policies", + "weight": 1199, "cookies": false, "type": "", - "demo": "sites\/list-templates.md", + "demo": "project\/list-policies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": [ + "policies.read", + "project.policies.read" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53176,110 +52929,53 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "frameworks", - "description": "List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [] - }, - "in": "query" - }, - { - "name": "useCases", - "description": "List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.", + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "schema": { "type": "array", "items": { - "type": "string", - "enum": [ - "portfolio", - "starter", - "events", - "ecommerce", - "documentation", - "blog", - "ai", - "forms", - "dashboard" - ], - "x-enum-name": null, - "x-enum-keys": [] + "type": "string" }, "default": [] }, "in": "query" }, { - "name": "limit", - "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 25 - }, - "in": "query" - }, - { - "name": "offset", - "description": "Offset the list of returned templates. Maximum offset is 5000.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] } }, - "\/sites\/templates\/{templateId}": { - "get": { - "summary": "Get site template", - "operationId": "sitesGetTemplate", + "\/project\/policies\/deny-aliased-email": { + "patch": { + "summary": "Update deny aliased email policy", + "operationId": "projectUpdateDenyAliasedEmailPolicy", "tags": [ - "sites" + "project" ], - "description": "Get a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", + "description": "Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", "responses": { "200": { - "description": "Template Site", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/templateSite" + "$ref": "#\/components\/schemas\/project" } } } @@ -53287,18 +52983,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTemplate", - "group": "templates", - "weight": 497, + "method": "updateDenyAliasedEmailPolicy", + "group": "policies", + "weight": 1255, "cookies": false, "type": "", - "demo": "sites\/get-template.md", + "demo": "project\/update-deny-aliased-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53308,38 +53008,46 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "templateId", - "description": "Template ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TEMPLATE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to block aliased emails during signup and email updates.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } } - ] + } } }, - "\/sites\/usage": { - "get": { - "summary": "Get sites usage", - "operationId": "sitesListUsage", + "\/project\/policies\/deny-disposable-email": { + "patch": { + "summary": "Update deny disposable email policy", + "operationId": "projectUpdateDenyDisposableEmailPolicy", "tags": [ - "sites" + "project" ], - "description": "Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": "Configures if disposable emails from known temporary domains are denied during new users sign-ups and email updates.", "responses": { "200": { - "description": "UsageSites", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageSites" + "$ref": "#\/components\/schemas\/project" } } } @@ -53347,18 +53055,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 498, + "method": "updateDenyDisposableEmailPolicy", + "group": "policies", + "weight": 1256, "cookies": false, "type": "", - "demo": "sites\/list-usage.md", + "demo": "project\/update-deny-disposable-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", - "platforms": [ - "console" + "scope": [ + "policies.write", + "project.policies.write" + ], + "platforms": [ + "console", + "server" ], "packaging": false, "public": true, @@ -53368,50 +53080,46 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to block disposable email addresses during signup and email updates.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } } - ] + } } }, - "\/sites\/{siteId}": { - "get": { - "summary": "Get site", - "operationId": "sitesGet", + "\/project\/policies\/deny-free-email": { + "patch": { + "summary": "Update deny free email policy", + "operationId": "projectUpdateDenyFreeEmailPolicy", "tags": [ - "sites" + "project" ], - "description": "Get a site by its unique ID.", + "description": "Configures if emails from free providers such as Gmail or Yahoo are denied during new users sign-ups and email updates.", "responses": { "200": { - "description": "Site", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/site" + "$ref": "#\/components\/schemas\/project" } } } @@ -53419,16 +53127,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "sites", - "weight": 473, + "method": "updateDenyFreeEmailPolicy", + "group": "policies", + "weight": 1257, "cookies": false, "type": "", - "demo": "sites\/get.md", + "demo": "project\/update-deny-free-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -53445,33 +53156,42 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to block free email addresses during signup and email updates.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } } - ] - }, - "put": { - "summary": "Update site", - "operationId": "sitesUpdate", + } + } + }, + "\/project\/policies\/membership-privacy": { + "patch": { + "summary": "Update membership privacy policy", + "operationId": "projectUpdateMembershipPrivacyPolicy", "tags": [ - "sites" + "project" ], - "description": "Update site by its unique ID.", + "description": "Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..", "responses": { "200": { - "description": "Site", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/site" + "$ref": "#\/components\/schemas\/project" } } } @@ -53479,16 +53199,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "sites", - "weight": 912, + "method": "updateMembershipPrivacyPolicy", + "group": "policies", + "weight": 1201, "cookies": false, "type": "", - "demo": "sites\/update.md", + "demo": "project\/update-membership-privacy-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -53505,281 +53228,79 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Site name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "framework": { - "type": "string", - "description": "Sites framework.", - "x-example": "analog", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "enabled": { + "userId": { "type": "boolean", - "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", + "description": "Set to true if you want make user ID visible to all team members, or false to hide it.", "x-example": false }, - "logging": { + "userEmail": { "type": "boolean", - "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", + "description": "Set to true if you want make user email visible to all team members, or false to hide it.", "x-example": false }, - "timeout": { - "type": "integer", - "description": "Maximum request time in seconds.", - "x-example": 1, - "format": "int32" - }, - "installCommand": { - "type": "string", - "description": "Install Command.", - "x-example": "<INSTALL_COMMAND>" - }, - "buildCommand": { - "type": "string", - "description": "Build Command.", - "x-example": "<BUILD_COMMAND>" - }, - "startCommand": { - "type": "string", - "description": "Custom start command. Leave empty to use default.", - "x-example": "<START_COMMAND>" - }, - "outputDirectory": { - "type": "string", - "description": "Output Directory for site.", - "x-example": "<OUTPUT_DIRECTORY>" - }, - "buildRuntime": { - "type": "string", - "description": "Runtime to use during build step.", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "adapter": { - "type": "string", - "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "x-example": "static", - "enum": [ - "static", - "ssr" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "fallbackFile": { - "type": "string", - "description": "Fallback file for single page application sites.", - "x-example": "<FALLBACK_FILE>" - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the site.", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the site.", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { + "userPhone": { "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", + "description": "Set to true if you want make user phone number visible to all team members, or false to hide it.", "x-example": false }, - "providerRootDirectory": { - "type": "string", - "description": "Path to site code in the linked repo.", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the site deployments.", - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the SSR executions.", - "x-example": null + "userName": { + "type": "boolean", + "description": "Set to true if you want make user name visible to all team members, or false to hide it.", + "x-example": false }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "x-example": 0, - "format": "int32" + "userMFA": { + "type": "boolean", + "description": "Set to true if you want make user MFA status visible to all team members, or false to hide it.", + "x-example": false } - }, - "required": [ - "name", - "framework" - ] + } } } } } - }, - "delete": { - "summary": "Delete site", - "operationId": "sitesDelete", + } + }, + "\/project\/policies\/password-dictionary": { + "patch": { + "summary": "Update password dictionary policy", + "operationId": "projectUpdatePasswordDictionaryPolicy", "tags": [ - "sites" + "project" ], - "description": "Delete a site by its unique ID.", + "description": "Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Project", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/project" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "sites", - "weight": 476, + "method": "updatePasswordDictionaryPolicy", + "group": "policies", + "weight": 1202, "cookies": false, "type": "", - "demo": "sites\/delete.md", + "demo": "project\/update-password-dictionary-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -53796,35 +53317,42 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } } - ] + } } }, - "\/sites\/{siteId}\/deployment": { + "\/project\/policies\/password-history": { "patch": { - "summary": "Update site's deployment", - "operationId": "sitesUpdateSiteDeployment", + "summary": "Update password history policy", + "operationId": "projectUpdatePasswordHistoryPolicy", "tags": [ - "sites" + "project" ], - "description": "Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", + "description": "Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.\n\nKeep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.", "responses": { "200": { - "description": "Site", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/site" + "$ref": "#\/components\/schemas\/project" } } } @@ -53832,16 +53360,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSiteDeployment", - "group": "sites", - "weight": 483, + "method": "updatePasswordHistoryPolicy", + "group": "policies", + "weight": 1203, "cookies": false, "type": "", - "demo": "sites\/update-site-deployment.md", + "demo": "project\/update-password-history-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -53858,32 +53389,22 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "deploymentId": { - "type": "string", - "description": "Deployment ID.", - "x-example": "<DEPLOYMENT_ID>" + "total": { + "type": "integer", + "description": "Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true } }, "required": [ - "deploymentId" + "total" ] } } @@ -53891,21 +53412,21 @@ } } }, - "\/sites\/{siteId}\/deployments": { - "get": { - "summary": "List deployments", - "operationId": "sitesListDeployments", + "\/project\/policies\/password-personal-data": { + "patch": { + "summary": "Update password personal data policy", + "operationId": "projectUpdatePasswordPersonalDataPolicy", "tags": [ - "sites" + "project" ], - "description": "Get a list of all the site's code deployments. You can use the query params to filter your results.", + "description": "Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.", "responses": { "200": { - "description": "Deployments List", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deploymentList" + "$ref": "#\/components\/schemas\/project" } } } @@ -53913,16 +53434,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "listDeployments", - "group": "deployments", - "weight": 482, + "method": "updatePasswordPersonalDataPolicy", + "group": "policies", + "weight": 1204, "cookies": false, "type": "", - "demo": "sites\/list-deployments.md", + "demo": "project\/update-password-personal-data-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -53939,68 +53463,42 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } } - ] - }, - "post": { - "summary": "Create deployment", - "operationId": "sitesCreateDeployment", + } + } + }, + "\/project\/policies\/session-alert": { + "patch": { + "summary": "Update session alert policy", + "operationId": "projectUpdateSessionAlertPolicy", "tags": [ - "sites" + "project" ], - "description": "Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", + "description": "Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54008,21 +53506,24 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDeployment", - "group": "deployments", - "weight": 478, + "method": "updateSessionAlertPolicy", + "group": "policies", + "weight": 1205, "cookies": false, - "type": "upload", - "demo": "sites\/create-deployment.md", + "type": "", + "demo": "project\/update-session-alert-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" ], - "packaging": true, + "packaging": false, "public": true, "auth": { "Project": [] @@ -54034,56 +53535,20 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { - "multipart\/form-data": { + "application\/json": { "schema": { "type": "object", "properties": { - "installCommand": { - "type": "string", - "description": "Install Commands.", - "x-example": "<INSTALL_COMMAND>", - "x-nullable": true - }, - "buildCommand": { - "type": "string", - "description": "Build Commands.", - "x-example": "<BUILD_COMMAND>", - "x-nullable": true - }, - "outputDirectory": { - "type": "string", - "description": "Output Directory.", - "x-example": "<OUTPUT_DIRECTORY>", - "x-nullable": true - }, - "code": { - "type": "string", - "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", - "x-example": null, - "format": "binary" - }, - "activate": { + "enabled": { "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", + "description": "Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.", "x-example": false } }, "required": [ - "code" + "enabled" ] } } @@ -54091,21 +53556,21 @@ } } }, - "\/sites\/{siteId}\/deployments\/duplicate": { - "post": { - "summary": "Create duplicate deployment", - "operationId": "sitesCreateDuplicateDeployment", + "\/project\/policies\/session-duration": { + "patch": { + "summary": "Update session duration policy", + "operationId": "projectUpdateSessionDurationPolicy", "tags": [ - "sites" + "project" ], - "description": "Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", + "description": "Update maximum duration how long sessions created within a project should stay active for.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54113,16 +53578,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDuplicateDeployment", - "group": "deployments", - "weight": 486, + "method": "updateSessionDurationPolicy", + "group": "policies", + "weight": 1206, "cookies": false, "type": "", - "demo": "sites\/create-duplicate-deployment.md", + "demo": "project\/update-session-duration-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54139,32 +53607,21 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "deploymentId": { - "type": "string", - "description": "Deployment ID.", - "x-example": "<DEPLOYMENT_ID>" + "duration": { + "type": "integer", + "description": "Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.", + "x-example": 5, + "format": "int32" } }, "required": [ - "deploymentId" + "duration" ] } } @@ -54172,21 +53629,21 @@ } } }, - "\/sites\/{siteId}\/deployments\/template": { - "post": { - "summary": "Create template deployment", - "operationId": "sitesCreateTemplateDeployment", + "\/project\/policies\/session-invalidation": { + "patch": { + "summary": "Update session invalidation policy", + "operationId": "projectUpdateSessionInvalidationPolicy", "tags": [ - "sites" + "project" ], - "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", + "description": "Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54194,16 +53651,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTemplateDeployment", - "group": "deployments", - "weight": 479, + "method": "updateSessionInvalidationPolicy", + "group": "policies", + "weight": 1207, "cookies": false, "type": "", - "demo": "sites\/create-template-deployment.md", + "demo": "project\/update-session-invalidation-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54220,68 +53680,20 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "repository": { - "type": "string", - "description": "Repository name of the template.", - "x-example": "<REPOSITORY>" - }, - "owner": { - "type": "string", - "description": "The name of the owner of the template.", - "x-example": "<OWNER>" - }, - "rootDirectory": { - "type": "string", - "description": "Path to site code in the template repo.", - "x-example": "<ROOT_DIRECTORY>" - }, - "type": { - "type": "string", - "description": "Type for the reference provided. Can be commit, branch, or tag", - "x-example": "branch", - "enum": [ - "branch", - "commit", - "tag" - ], - "x-enum-name": "TemplateReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "Reference value, can be a commit hash, branch name, or release tag", - "x-example": "<REFERENCE>" - }, - "activate": { + "enabled": { "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", + "description": "Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.", "x-example": false } }, "required": [ - "repository", - "owner", - "rootDirectory", - "type", - "reference" + "enabled" ] } } @@ -54289,21 +53701,21 @@ } } }, - "\/sites\/{siteId}\/deployments\/vcs": { - "post": { - "summary": "Create VCS deployment", - "operationId": "sitesCreateVcsDeployment", + "\/project\/policies\/session-limit": { + "patch": { + "summary": "Update session limit policy", + "operationId": "projectUpdateSessionLimitPolicy", "tags": [ - "sites" + "project" ], - "description": "Create a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", + "description": "Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54311,16 +53723,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVcsDeployment", - "group": "deployments", - "weight": 480, + "method": "updateSessionLimitPolicy", + "group": "policies", + "weight": 1208, "cookies": false, "type": "", - "demo": "sites\/create-vcs-deployment.md", + "demo": "project\/update-session-limit-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54337,50 +53752,22 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "type": { - "type": "string", - "description": "Type of reference passed. Allowed values are: branch, commit", - "x-example": "branch", - "enum": [ - "branch", - "commit", - "tag" - ], - "x-enum-name": "VCSReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "x-example": "<REFERENCE>" - }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "x-example": false + "total": { + "type": "integer", + "description": "Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true } }, "required": [ - "type", - "reference" + "total" ] } } @@ -54388,21 +53775,21 @@ } } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}": { - "get": { - "summary": "Get deployment", - "operationId": "sitesGetDeployment", + "\/project\/policies\/user-limit": { + "patch": { + "summary": "Update user limit policy", + "operationId": "projectUpdateUserLimitPolicy", "tags": [ - "sites" + "project" ], - "description": "Get a site deployment by its unique ID.", + "description": "Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.", "responses": { "200": { - "description": "Deployment", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54410,16 +53797,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "getDeployment", - "group": "deployments", - "weight": 481, + "method": "updateUserLimitPolicy", + "group": "policies", + "weight": 1209, "cookies": false, "type": "", - "demo": "sites\/get-deployment.md", + "demo": "project\/update-user-limit-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54436,53 +53826,106 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DEPLOYMENT_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + }, + "required": [ + "total" + ] + } + } } - ] - }, - "delete": { - "summary": "Delete deployment", - "operationId": "sitesDeleteDeployment", + } + } + }, + "\/project\/policies\/{policyId}": { + "get": { + "summary": "Get project policy", + "operationId": "projectGetPolicy", "tags": [ - "sites" + "project" ], - "description": "Delete a site deployment by its unique ID.", + "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Policy Password Dictionary, or Policy Password History, 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", + "content": { + "application\/json": { + "schema": { + "oneOf": [ + { + "$ref": "#\/components\/schemas\/policyPasswordDictionary" + }, + { + "$ref": "#\/components\/schemas\/policyPasswordHistory" + }, + { + "$ref": "#\/components\/schemas\/policyPasswordPersonalData" + }, + { + "$ref": "#\/components\/schemas\/policySessionAlert" + }, + { + "$ref": "#\/components\/schemas\/policySessionDuration" + }, + { + "$ref": "#\/components\/schemas\/policySessionInvalidation" + }, + { + "$ref": "#\/components\/schemas\/policySessionLimit" + }, + { + "$ref": "#\/components\/schemas\/policyUserLimit" + }, + { + "$ref": "#\/components\/schemas\/policyMembershipPrivacy" + } + ], + "discriminator": { + "propertyName": "$id", + "mapping": { + "password-dictionary": "#\/components\/schemas\/policyPasswordDictionary", + "password-history": "#\/components\/schemas\/policyPasswordHistory", + "password-personal-data": "#\/components\/schemas\/policyPasswordPersonalData", + "session-alert": "#\/components\/schemas\/policySessionAlert", + "session-duration": "#\/components\/schemas\/policySessionDuration", + "session-invalidation": "#\/components\/schemas\/policySessionInvalidation", + "session-limit": "#\/components\/schemas\/policySessionLimit", + "user-limit": "#\/components\/schemas\/policyUserLimit", + "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy" + } + } + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDeployment", - "group": "deployments", - "weight": 484, + "method": "getPolicy", + "group": "policies", + "weight": 1200, "cookies": false, "type": "", - "demo": "sites\/delete-deployment.md", + "demo": "project\/get-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.read", + "project.policies.read" + ], "platforms": [ "console", "server" @@ -54501,56 +53944,65 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "policyId", + "description": "Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "password-dictionary", + "enum": [ + "password-dictionary", + "password-history", + "password-personal-data", + "session-alert", + "session-duration", + "session-invalidation", + "session-limit", + "user-limit", + "membership-privacy" + ], + "x-enum-name": "ProjectPolicyId", + "x-enum-keys": [] }, "in": "path" } ] } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}\/download": { - "get": { - "summary": "Get deployment download", - "operationId": "sitesGetDeploymentDownload", + "\/project\/protocols\/{protocolId}": { + "patch": { + "summary": "Update project protocol", + "operationId": "projectUpdateProtocol", "tags": [ - "sites" + "project" ], - "description": "Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": "Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project. ", "responses": { "200": { - "description": "File" + "description": "Project", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/project" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "getDeploymentDownload", - "group": "deployments", - "weight": 485, + "method": "updateProtocol", + "group": null, + "weight": 1163, "cookies": false, - "type": "location", - "demo": "sites\/get-deployment-download.md", + "type": "", + "demo": "project\/update-protocol.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "project.write", "platforms": [ "console", - "server", "server" ], "packaging": false, @@ -54562,66 +54014,64 @@ "security": [ { "Project": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "protocolId", + "description": "Protocol name. Can be one of: rest, graphql, websocket", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" - }, - "in": "path" - }, - { - "name": "type", - "description": "Deployment file to download. Can be: \"source\", \"output\".", - "required": false, - "schema": { - "type": "string", - "x-example": "source", + "x-example": "rest", "enum": [ - "source", - "output" + "rest", + "graphql", + "websocket" ], - "x-enum-name": "DeploymentDownloadType", - "x-enum-keys": [], - "default": "source" + "x-enum-name": "ProjectProtocolId", + "x-enum-keys": [] }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Protocol status.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } + } + } } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}\/status": { + "\/project\/services\/{serviceId}": { "patch": { - "summary": "Update deployment status", - "operationId": "sitesUpdateDeploymentStatus", + "summary": "Update project service", + "operationId": "projectUpdateService", "tags": [ - "sites" + "project" ], - "description": "Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", + "description": "Update properties of a specific service. Use this endpoint to enable or disable a service in your project. ", "responses": { "200": { - "description": "Deployment", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/deployment" + "$ref": "#\/components\/schemas\/project" } } } @@ -54629,16 +54079,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDeploymentStatus", - "group": "deployments", - "weight": 487, + "method": "updateService", + "group": null, + "weight": 1164, "cookies": false, "type": "", - "demo": "sites\/update-deployment-status.md", + "demo": "project\/update-service.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -54657,43 +54107,74 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "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", "required": true, "schema": { "type": "string", - "x-example": "<DEPLOYMENT_ID>" + "x-example": "account", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId", + "x-enum-keys": [] }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } + } + } } }, - "\/sites\/{siteId}\/logs": { - "get": { - "summary": "List logs", - "operationId": "sitesListLogs", + "\/project\/smtp": { + "patch": { + "summary": "Update project SMTP configuration", + "operationId": "projectUpdateSMTP", "tags": [ - "sites" + "project" ], - "description": "Get a list of all site logs. You can use the query params to filter your results.", + "description": "Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.", "responses": { "200": { - "description": "Executions List", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/executionList" + "$ref": "#\/components\/schemas\/project" } } } @@ -54701,16 +54182,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 489, + "method": "updateSMTP", + "group": "smtp", + "weight": 1165, "cookies": false, "type": "", - "demo": "sites\/list-logs.md", + "demo": "project\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.read", + "scope": "project.write", "platforms": [ "console", "server" @@ -54727,76 +54208,113 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "SMTP server hostname (domain)", + "x-example": null, + "x-nullable": true + }, + "port": { + "type": "integer", + "description": "SMTP server port", + "x-example": null, + "format": "int32", + "x-nullable": true + }, + "username": { + "type": "string", + "description": "SMTP server username. Pass an empty string to clear a previously set value.", + "x-example": "<USERNAME>", + "x-nullable": true + }, + "password": { + "type": "string", + "description": "SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).", + "x-example": "<PASSWORD>", + "x-nullable": true + }, + "senderEmail": { + "type": "string", + "description": "Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "senderName": { + "type": "string", + "description": "Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", + "x-example": "<SENDER_NAME>", + "x-nullable": true + }, + "replyToEmail": { + "type": "string", + "description": "Email used when user replies to the email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToName": { + "type": "string", + "description": "Name used when user replies to the email. Pass an empty string to clear a previously set value.", + "x-example": "<REPLY_TO_NAME>", + "x-nullable": true + }, + "secure": { + "type": "string", + "description": "Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.", + "x-example": "tls", + "enum": [ + "tls", + "ssl" + ], + "x-enum-name": "ProjectSMTPSecure", + "x-enum-keys": [], + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.", + "x-example": false, + "x-nullable": true + } + } + } + } } - ] + } } }, - "\/sites\/{siteId}\/logs\/{logId}": { - "get": { - "summary": "Get log", - "operationId": "sitesGetLog", + "\/project\/smtp\/tests": { + "post": { + "summary": "Create project SMTP test", + "operationId": "projectCreateSMTPTest", "tags": [ - "sites" + "project" ], - "description": "Get a site request log by its unique ID.", + "description": "Send a test email to verify SMTP configuration. ", "responses": { - "200": { - "description": "Execution", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/execution" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getLog", - "group": "logs", - "weight": 488, + "method": "createSMTPTest", + "group": "smtp", + "weight": 1166, "cookies": false, "type": "", - "demo": "sites\/get-log.md", + "demo": "project\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.read", + "scope": "project.write", "platforms": [ "console", "server" @@ -54813,53 +54331,62 @@ "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "logId", - "description": "Log ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<LOG_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "emails": { + "type": "array", + "description": "Array of emails to send test email to. Maximum of 10 emails are allowed.", + "x-example": null, + "items": { + "type": "string" + } + } + }, + "required": [ + "emails" + ] + } + } } - ] - }, - "delete": { - "summary": "Delete log", - "operationId": "sitesDeleteLog", + } + } + }, + "\/project\/templates\/email": { + "get": { + "summary": "List project email templates", + "operationId": "projectListEmailTemplates", "tags": [ - "sites" + "project" ], - "description": "Delete a site log by its unique ID.", + "description": "Get a list of all custom email templates configured for the project. This endpoint returns an array of all configured email templates and their locales.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Email Templates List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/emailTemplateList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteLog", - "group": "logs", - "weight": 490, + "method": "listEmailTemplates", + "group": "templates", + "weight": 1167, "cookies": false, "type": "", - "demo": "sites\/delete-log.md", + "demo": "project\/list-email-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.write", + "scope": "templates.read", "platforms": [ "console", "server" @@ -54878,43 +54405,45 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, "schema": { - "type": "string", - "x-example": "<SITE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "logId", - "description": "Log ID.", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string", - "x-example": "<LOG_ID>" + "type": "boolean", + "x-example": false, + "default": true }, - "in": "path" + "in": "query" } ] - } - }, - "\/sites\/{siteId}\/usage": { - "get": { - "summary": "Get site usage", - "operationId": "sitesGetUsage", + }, + "patch": { + "summary": "Update project email template", + "operationId": "projectUpdateEmailTemplate", "tags": [ - "sites" + "project" ], - "description": "Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": "Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.", "responses": { "200": { - "description": "UsageSite", + "description": "EmailTemplate", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageSite" + "$ref": "#\/components\/schemas\/emailTemplate" } } } @@ -54922,18 +54451,19 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 499, + "method": "updateEmailTemplate", + "group": "templates", + "weight": 1169, "cookies": false, "type": "", - "demo": "sites\/get-usage.md", + "demo": "project\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "templates.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -54943,60 +54473,235 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [] + }, + "locale": { + "type": "string", + "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", + "x-example": "af", + "enum": [ + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" + ], + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [] + }, + "subject": { + "type": "string", + "description": "Subject of the email template. Can be up to 255 characters.", + "x-example": "<SUBJECT>", + "x-nullable": true + }, + "message": { + "type": "string", + "description": "Plain or HTML body of the email template message. Can be up to 10MB of content.", + "x-example": "<MESSAGE>", + "x-nullable": true + }, + "senderName": { + "type": "string", + "description": "Name of the email sender.", + "x-example": "<SENDER_NAME>", + "x-nullable": true + }, + "senderEmail": { + "type": "string", + "description": "Email of the sender. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToEmail": { + "type": "string", + "description": "Reply to email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToName": { + "type": "string", + "description": "Reply to name.", + "x-example": "<REPLY_TO_NAME>", + "x-nullable": true + } + }, + "required": [ + "templateId" + ] + } + } } - ] + } } }, - "\/sites\/{siteId}\/variables": { + "\/project\/templates\/email\/{templateId}": { "get": { - "summary": "List variables", - "operationId": "sitesListVariables", + "summary": "Get project email template", + "operationId": "projectGetEmailTemplate", "tags": [ - "sites" + "project" ], - "description": "Get a list of all variables of a specific site.", + "description": "Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.", "responses": { "200": { - "description": "Variables List", + "description": "EmailTemplate", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variableList" + "$ref": "#\/components\/schemas\/emailTemplate" } } } @@ -55004,16 +54709,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 493, + "method": "getEmailTemplate", + "group": "templates", + "weight": 1168, "cookies": false, "type": "", - "demo": "sites\/list-variables.md", + "demo": "project\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "templates.read", "platforms": [ "console", "server" @@ -55032,55 +54737,189 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", + "name": "templateId", + "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", "required": true, "schema": { "type": "string", - "x-example": "<SITE_ID>" + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [] }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "locale", + "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "af", + "enum": [ + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" + ], + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [] }, "in": "query" } ] - }, - "post": { - "summary": "Create variable", - "operationId": "sitesCreateVariable", + } + }, + "\/project\/usage": { + "get": { + "summary": "Get project usage stats", + "operationId": "projectGetUsage", "tags": [ - "sites" + "project" ], - "description": "Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", + "description": "Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.", "responses": { - "201": { - "description": "Variable", + "200": { + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/variable" + "$ref": "#\/components\/schemas\/usageProject" } } } @@ -55088,53 +54927,208 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 913, + "method": "getUsage", + "group": null, + "weight": 699, "cookies": false, "type": "", - "demo": "sites\/create-variable.md", + "demo": "project\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", + "name": "startDate", + "description": "Starting date for the usage", "required": true, "schema": { "type": "string", - "x-example": "<SITE_ID>" + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "in": "path" + "in": "query" + }, + { + "name": "endDate", + "description": "End date for the usage", + "required": true, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "in": "query" + }, + { + "name": "period", + "description": "Period used", + "required": false, + "schema": { + "type": "string", + "x-example": "1h", + "enum": [ + "1h", + "1d" + ], + "x-enum-name": "ProjectUsageRange", + "x-enum-keys": [ + "One Hour", + "One Day" + ], + "default": "1d" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { + ] + } + }, + "\/project\/variables": { + "get": { + "summary": "List project variables", + "operationId": "projectListVariables", + "tags": [ + "project" + ], + "description": "Get a list of all project environment variables.", + "responses": { + "200": { + "description": "Variables List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/variableList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listVariables", + "group": "variables", + "weight": 1171, + "cookies": false, + "type": "", + "demo": "project\/list-variables.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "project.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create project variable", + "operationId": "projectCreateVariable", + "tags": [ + "project" + ], + "description": "Create a new project environment variable. These variables can be accessed by all functions and sites in the project.", + "responses": { + "201": { + "description": "Variable", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/variable" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createVariable", + "group": "variables", + "weight": 1170, + "cookies": false, + "type": "", + "demo": "project\/create-variable.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "project.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { "schema": { "type": "object", "properties": { "variableId": { "type": "string", - "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "description": "Variable unique ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", "x-example": "<VARIABLE_ID>" }, "key": { @@ -55149,7 +55143,7 @@ }, "secret": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", "x-example": false } }, @@ -55164,14 +55158,14 @@ } } }, - "\/sites\/{siteId}\/variables\/{variableId}": { + "\/project\/variables\/{variableId}": { "get": { - "summary": "Get variable", - "operationId": "sitesGetVariable", + "summary": "Get project variable", + "operationId": "projectGetVariable", "tags": [ - "sites" + "project" ], - "description": "Get a variable by its unique ID.", + "description": "Get a variable by its unique ID. ", "responses": { "200": { "description": "Variable", @@ -55188,14 +55182,14 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 492, + "weight": 1172, "cookies": false, "type": "", - "demo": "sites\/get-variable.md", + "demo": "project\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "project.read", "platforms": [ "console", "server" @@ -55213,16 +55207,6 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, { "name": "variableId", "description": "Variable unique ID.", @@ -55236,10 +55220,10 @@ ] }, "put": { - "summary": "Update variable", - "operationId": "sitesUpdateVariable", + "summary": "Update project variable", + "operationId": "projectUpdateVariable", "tags": [ - "sites" + "project" ], "description": "Update variable by its unique ID.", "responses": { @@ -55258,14 +55242,14 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 494, + "weight": 1174, "cookies": false, "type": "", - "demo": "sites\/update-variable.md", + "demo": "project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -55283,16 +55267,6 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, { "name": "variableId", "description": "Variable unique ID.", @@ -55324,7 +55298,7 @@ }, "secret": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", "x-example": false, "x-nullable": true } @@ -55335,12 +55309,12 @@ } }, "delete": { - "summary": "Delete variable", - "operationId": "sitesDeleteVariable", + "summary": "Delete project variable", + "operationId": "projectDeleteVariable", "tags": [ - "sites" + "project" ], - "description": "Delete a variable by its unique ID.", + "description": "Delete a variable by its unique ID. ", "responses": { "204": { "description": "No content" @@ -55350,14 +55324,14 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 495, + "weight": 1173, "cookies": false, "type": "", - "demo": "sites\/delete-variable.md", + "demo": "project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -55375,16 +55349,6 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<SITE_ID>" - }, - "in": "path" - }, { "name": "variableId", "description": "Variable unique ID.", @@ -55398,21 +55362,21 @@ ] } }, - "\/storage\/buckets": { + "\/projects": { "get": { - "summary": "List buckets", - "operationId": "storageListBuckets", + "summary": "List projects", + "operationId": "projectsList", "tags": [ - "storage" + "projects" ], - "description": "Get a list of all the storage buckets. You can use the query params to filter your results.", + "description": "Get a list of all projects. You can use the query params to filter your results. ", "responses": { "200": { - "description": "Buckets List", + "description": "Projects List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/bucketList" + "$ref": "#\/components\/schemas\/projectList" } } } @@ -55420,37 +55384,34 @@ }, "deprecated": false, "x-appwrite": { - "method": "listBuckets", - "group": "buckets", - "weight": 543, + "method": "list", + "group": "projects", + "weight": 1158, "cookies": false, "type": "", - "demo": "storage\/list-buckets.md", + "demo": "projects\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.read", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus, transformations", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search", "required": false, "schema": { "type": "array", @@ -55486,19 +55447,19 @@ ] }, "post": { - "summary": "Create bucket", - "operationId": "storageCreateBucket", + "summary": "Create project", + "operationId": "projectsCreate", "tags": [ - "storage" + "projects" ], - "description": "Create a new storage bucket.", + "description": "Create a new project. You can create a maximum of 100 projects per account. ", "responses": { "201": { - "description": "Bucket", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/bucket" + "$ref": "#\/components\/schemas\/project" } } } @@ -55506,31 +55467,29 @@ }, "deprecated": false, "x-appwrite": { - "method": "createBucket", - "group": "buckets", - "weight": 541, + "method": "create", + "group": "projects", + "weight": 1156, "cookies": false, "type": "", - "demo": "storage\/create-bucket.md", + "demo": "projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "requestBody": { @@ -55539,80 +55498,41 @@ "schema": { "type": "object", "properties": { - "bucketId": { + "projectId": { "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<BUCKET_ID>" + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, and hyphen. Can't start with a special char. Max length is 36 chars.", + "x-example": null }, "name": { "type": "string", - "description": "Bucket name", + "description": "Project name. Max length: 128 chars.", "x-example": "<NAME>" }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "fileSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "x-example": false - }, - "maximumFileSize": { - "type": "integer", - "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "x-example": 1, - "format": "int32" - }, - "allowedFileExtensions": { - "type": "array", - "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "teamId": { + "type": "string", + "description": "Team unique ID.", + "x-example": "<TEAM_ID>" }, - "compression": { + "region": { "type": "string", - "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "x-example": "none", + "description": "Project Region.", + "x-example": "fra", "enum": [ - "none", - "gzip", - "zstd" + "fra", + "nyc", + "syd", + "sfo", + "sgp", + "tor" ], "x-enum-name": null, "x-enum-keys": [] - }, - "encryption": { - "type": "boolean", - "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "x-example": false - }, - "antivirus": { - "type": "boolean", - "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "x-example": false - }, - "transformations": { - "type": "boolean", - "description": "Are image transformations enabled?", - "x-example": false } }, "required": [ - "bucketId", - "name" + "projectId", + "name", + "teamId" ] } } @@ -55620,21 +55540,21 @@ } } }, - "\/storage\/buckets\/{bucketId}": { - "get": { - "summary": "Get bucket", - "operationId": "storageGetBucket", + "\/projects\/{projectId}": { + "patch": { + "summary": "Update project", + "operationId": "projectsUpdate", "tags": [ - "storage" + "projects" ], - "description": "Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.", + "description": "Update a project by its unique ID.", "responses": { "200": { - "description": "Bucket", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/bucket" + "$ref": "#\/components\/schemas\/project" } } } @@ -55642,256 +55562,179 @@ }, "deprecated": false, "x-appwrite": { - "method": "getBucket", - "group": "buckets", - "weight": 542, + "method": "update", + "group": "projects", + "weight": 1157, "cookies": false, "type": "", - "demo": "storage\/get-bucket.md", + "demo": "projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.read", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Bucket unique ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" } - ] - }, - "put": { - "summary": "Update bucket", - "operationId": "storageUpdateBucket", - "tags": [ - "storage" ], - "description": "Update a storage bucket by its unique ID.", - "responses": { - "200": { - "description": "Bucket", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/bucket" - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Project name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "description": { + "type": "string", + "description": "Project description. Max length: 256 chars.", + "x-example": "<DESCRIPTION>" + }, + "logo": { + "type": "string", + "description": "Project logo.", + "x-example": "<LOGO>" + }, + "url": { + "type": "string", + "description": "Project URL.", + "x-example": "https:\/\/example.com", + "format": "url" + }, + "legalName": { + "type": "string", + "description": "Project legal name. Max length: 256 chars.", + "x-example": "<LEGAL_NAME>" + }, + "legalCountry": { + "type": "string", + "description": "Project legal country. Max length: 256 chars.", + "x-example": "<LEGAL_COUNTRY>" + }, + "legalState": { + "type": "string", + "description": "Project legal state. Max length: 256 chars.", + "x-example": "<LEGAL_STATE>" + }, + "legalCity": { + "type": "string", + "description": "Project legal city. Max length: 256 chars.", + "x-example": "<LEGAL_CITY>" + }, + "legalAddress": { + "type": "string", + "description": "Project legal address. Max length: 256 chars.", + "x-example": "<LEGAL_ADDRESS>" + }, + "legalTaxId": { + "type": "string", + "description": "Project legal tax ID. Max length: 256 chars.", + "x-example": "<LEGAL_TAX_ID>" + } + }, + "required": [ + "name" + ] } } } + } + } + }, + "\/projects\/{projectId}\/console-access": { + "patch": { + "summary": "Record console access to a project", + "operationId": "projectsUpdateConsoleAccess", + "tags": [ + "projects" + ], + "description": "Record console access to a project. This endpoint updates the last accessed timestamp for the project to track console activity.\n", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "updateBucket", - "group": "buckets", - "weight": 544, + "method": "updateConsoleAccess", + "group": null, + "weight": 1153, "cookies": false, "type": "", - "demo": "storage\/update-bucket.md", + "demo": "projects\/update-console-access.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-console-access.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Bucket unique ID.", + "name": "projectId", + "description": "Project ID", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Bucket name", - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "fileSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "x-example": false - }, - "maximumFileSize": { - "type": "integer", - "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "x-example": 1, - "format": "int32" - }, - "allowedFileExtensions": { - "type": "array", - "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "compression": { - "type": "string", - "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "x-example": "none", - "enum": [ - "none", - "gzip", - "zstd" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "encryption": { - "type": "boolean", - "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "x-example": false - }, - "antivirus": { - "type": "boolean", - "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "x-example": false - }, - "transformations": { - "type": "boolean", - "description": "Are image transformations enabled?", - "x-example": false - } - }, - "required": [ - "name" - ] - } - } - } - } - }, - "delete": { - "summary": "Delete bucket", - "operationId": "storageDeleteBucket", - "tags": [ - "storage" - ], - "description": "Delete a storage bucket by its unique ID.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteBucket", - "group": "buckets", - "weight": 545, - "cookies": false, - "type": "", - "demo": "storage\/delete-bucket.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "bucketId", - "description": "Bucket unique ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" } ] } }, - "\/storage\/buckets\/{bucketId}\/files": { + "\/projects\/{projectId}\/dev-keys": { "get": { - "summary": "List files", - "operationId": "storageListFiles", + "summary": "List dev keys", + "operationId": "projectsListDevKeys", "tags": [ - "storage" + "projects" ], - "description": "Get a list of all the user files. You can use the query params to filter your results.", + "description": "List all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "responses": { "200": { - "description": "Files List", + "description": "Dev Keys List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/fileList" + "$ref": "#\/components\/schemas\/devKeyList" } } } @@ -55899,51 +55742,44 @@ }, "deprecated": false, "x-appwrite": { - "method": "listFiles", - "group": "files", - "weight": 548, + "method": "listDevKeys", + "group": "devKeys", + "weight": 407, "cookies": false, "type": "", - "demo": "storage\/list-files.md", + "demo": "projects\/list-dev-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "devKeys.read", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: accessedAt, expire", "required": false, "schema": { "type": "array", @@ -55953,45 +55789,23 @@ "default": [] }, "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } ] }, "post": { - "summary": "Create file", - "operationId": "storageCreateFile", + "summary": "Create dev key", + "operationId": "projectsCreateDevKey", "tags": [ - "storage" + "projects" ], - "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", + "description": "Create a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "responses": { "201": { - "description": "File", + "description": "DevKey", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/file" + "$ref": "#\/components\/schemas\/devKey" } } } @@ -55999,80 +55813,63 @@ }, "deprecated": false, "x-appwrite": { - "method": "createFile", - "group": "files", - "weight": 1195, + "method": "createDevKey", + "group": "devKeys", + "weight": 404, "cookies": false, - "type": "upload", - "demo": "storage\/create-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", - "scope": "files.write", + "type": "", + "demo": "projects\/create-dev-key.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "devKeys.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" } ], "requestBody": { "content": { - "multipart\/form-data": { + "application\/json": { "schema": { "type": "object", "properties": { - "fileId": { + "name": { "type": "string", - "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<FILE_ID>", - "x-upload-id": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "file": { + "expire": { "type": "string", - "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", - "x-example": null, - "format": "binary" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" } }, "required": [ - "fileId", - "file" + "name", + "expire" ] } } @@ -56080,21 +55877,21 @@ } } }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { + "\/projects\/{projectId}\/dev-keys\/{keyId}": { "get": { - "summary": "Get file", - "operationId": "storageGetFile", + "summary": "Get dev key", + "operationId": "projectsGetDevKey", "tags": [ - "storage" + "projects" ], - "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "description": "Get a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "responses": { "200": { - "description": "File", + "description": "DevKey", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/file" + "$ref": "#\/components\/schemas\/devKey" } } } @@ -56102,74 +55899,67 @@ }, "deprecated": false, "x-appwrite": { - "method": "getFile", - "group": "files", - "weight": 547, + "method": "getDevKey", + "group": "devKeys", + "weight": 406, "cookies": false, "type": "", - "demo": "storage\/get-file.md", + "demo": "projects\/get-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "devKeys.read", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File ID.", + "name": "keyId", + "description": "Key unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<KEY_ID>" }, "in": "path" } ] }, "put": { - "summary": "Update file", - "operationId": "storageUpdateFile", + "summary": "Update dev key", + "operationId": "projectsUpdateDevKey", "tags": [ - "storage" + "projects" ], - "description": "Update a file by its unique ID. Only users with write permissions have access to update this resource.", + "description": "Update a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "responses": { "200": { - "description": "File", + "description": "DevKey", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/file" + "$ref": "#\/components\/schemas\/devKey" } } } @@ -56177,55 +55967,48 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateFile", - "group": "files", - "weight": 549, + "method": "updateDevKey", + "group": "devKeys", + "weight": 405, "cookies": false, "type": "", - "demo": "storage\/update-file.md", + "demo": "projects\/update-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.write", + "scope": "devKeys.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Bucket unique ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File ID.", + "name": "keyId", + "description": "Key unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<KEY_ID>" }, "in": "path" } @@ -56238,31 +56021,32 @@ "properties": { "name": { "type": "string", - "description": "File name.", + "description": "Key name. Max length: 128 chars.", "x-example": "<NAME>" }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" } - } + }, + "required": [ + "name", + "expire" + ] } } } } }, "delete": { - "summary": "Delete file", - "operationId": "storageDeleteFile", + "summary": "Delete dev key", + "operationId": "projectsDeleteDevKey", "tags": [ - "storage" + "projects" ], - "description": "Delete a file by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Delete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "responses": { "204": { "description": "No content" @@ -56270,492 +56054,349 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteFile", - "group": "files", - "weight": 550, + "method": "deleteDevKey", + "group": "devKeys", + "weight": 408, "cookies": false, "type": "", - "demo": "storage\/delete-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "files.write", + "demo": "projects\/delete-dev-key.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "devKeys.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File ID.", + "name": "keyId", + "description": "Key unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<KEY_ID>" }, "in": "path" } ] } }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/download": { + "\/projects\/{projectId}\/schedules": { "get": { - "summary": "Get file for download", - "operationId": "storageGetFileDownload", + "summary": "List schedules", + "operationId": "projectsListSchedules", "tags": [ - "storage" + "projects" ], - "description": "Get a file content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": "Get a list of all the project's schedules. You can use the query params to filter your results.", "responses": { "200": { - "description": "File" + "description": "Schedules List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/scheduleList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "getFileDownload", - "group": "files", - "weight": 552, + "method": "listSchedules", + "group": "schedules", + "weight": 415, "cookies": false, - "type": "location", - "demo": "storage\/get-file-download.md", + "type": "", + "demo": "projects\/list-schedules.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "schedules.read", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-schedules.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: resourceType, resourceId, projectId, schedule, active, region", + "required": false, "schema": { - "type": "string", - "x-example": "<FILE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "token", - "description": "File token for accessing this file.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "string", - "x-example": "<TOKEN>", - "default": "" + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] - } - }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/preview": { - "get": { - "summary": "Get file preview", - "operationId": "storageGetFilePreview", + }, + "post": { + "summary": "Create schedule", + "operationId": "projectsCreateSchedule", "tags": [ - "storage" + "projects" ], - "description": "Get a file preview image. Currently, this method supports preview for image files (jpg, png, and gif), other supported formats, like pdf, docs, slides, and spreadsheets, will return the file icon image. You can also pass query string arguments for cutting and resizing your preview image. Preview is supported only for image files smaller than 10MB.", + "description": "Create a new schedule for a resource.", "responses": { - "200": { - "description": "Image" + "201": { + "description": "Schedule", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/schedule" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "getFilePreview", - "group": "files", - "weight": 551, + "method": "createSchedule", + "group": "schedules", + "weight": 1159, "cookies": false, - "type": "location", - "demo": "storage\/get-file-preview.md", + "type": "", + "demo": "projects\/create-schedule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "schedules.write", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "schema": { - "type": "string", - "x-example": "<BUCKET_ID>" - }, - "in": "path" - }, - { - "name": "fileId", - "description": "File ID", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" - }, - { - "name": "width", - "description": "Resize preview image width, Pass an integer between 0 to 4000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" - }, - { - "name": "height", - "description": "Resize preview image height, Pass an integer between 0 to 4000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" - }, - { - "name": "gravity", - "description": "Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right", - "required": false, - "schema": { - "type": "string", - "x-example": "center", - "enum": [ - "center", - "top-left", - "top", - "top-right", - "left", - "right", - "bottom-left", - "bottom", - "bottom-right" - ], - "x-enum-name": "ImageGravity", - "x-enum-keys": [], - "default": "center" - }, - "in": "query" - }, - { - "name": "quality", - "description": "Preview image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": -1, - "default": -1 - }, - "in": "query" - }, - { - "name": "borderWidth", - "description": "Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" - }, - { - "name": "borderColor", - "description": "Preview image border color. Use a valid HEX color, no # is needed for prefix.", - "required": false, - "schema": { - "type": "string", - "default": "" - }, - "in": "query" - }, - { - "name": "borderRadius", - "description": "Preview image border radius in pixels. Pass an integer between 0 to 4000.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" - }, - { - "name": "opacity", - "description": "Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.", - "required": false, - "schema": { - "type": "number", - "format": "float", - "x-example": 0, - "default": 1 - }, - "in": "query" - }, - { - "name": "rotation", - "description": "Preview image rotation in degrees. Pass an integer between -360 and 360.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": -360, - "default": 0 - }, - "in": "query" - }, - { - "name": "background", - "description": "Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.", - "required": false, - "schema": { - "type": "string", - "default": "" - }, - "in": "query" - }, - { - "name": "output", - "description": "Output format type (jpeg, jpg, png, gif and webp).", - "required": false, - "schema": { - "type": "string", - "x-example": "jpg", - "enum": [ - "jpg", - "jpeg", - "png", - "webp", - "heic", - "avif", - "gif" - ], - "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" - }, - "in": "query" - }, - { - "name": "token", - "description": "File token for accessing this file.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TOKEN>", - "default": "" - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type for the schedule. Possible values: function, execution, message, backup.", + "x-example": "function", + "enum": [ + "function", + "execution", + "message", + "backup" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "resourceId": { + "type": "string", + "description": "The resource ID to associate with this schedule.", + "x-example": "<RESOURCE_ID>" + }, + "schedule": { + "type": "string", + "description": "Schedule CRON expression.", + "x-example": null + }, + "active": { + "type": "boolean", + "description": "Whether the schedule is active.", + "x-example": false + }, + "data": { + "type": "object", + "description": "Schedule data as a JSON string. Used to store resource-specific context needed for execution.", + "x-example": "{}" + } + }, + "required": [ + "resourceType", + "resourceId", + "schedule" + ] + } + } + } + } } }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/view": { + "\/projects\/{projectId}\/schedules\/{scheduleId}": { "get": { - "summary": "Get file for view", - "operationId": "storageGetFileView", + "summary": "Get schedule", + "operationId": "projectsGetSchedule", "tags": [ - "storage" + "projects" ], - "description": "Get a file content by its unique ID. This endpoint is similar to the download method but returns with no 'Content-Disposition: attachment' header.", + "description": "Get a schedule by its unique ID.", "responses": { "200": { - "description": "File" + "description": "Schedule", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/schedule" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "getFileView", - "group": "files", - "weight": 553, + "method": "getSchedule", + "group": "schedules", + "weight": 414, "cookies": false, - "type": "location", - "demo": "storage\/get-file-view.md", + "type": "", + "demo": "projects\/get-schedule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "schedules.read", "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File ID.", + "name": "scheduleId", + "description": "Schedule ID.", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<SCHEDULE_ID>" }, "in": "path" - }, - { - "name": "token", - "description": "File token for accessing this file.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TOKEN>", - "default": "" - }, - "in": "query" } ] } }, - "\/storage\/usage": { - "get": { - "summary": "Get storage usage stats", - "operationId": "storageGetUsage", + "\/projects\/{projectId}\/status": { + "patch": { + "summary": "Update the status of a project", + "operationId": "projectsUpdateStatus", "tags": [ - "storage" + "projects" ], - "description": "Get usage metrics and statistics for all buckets in the project. You can view the total number of buckets, files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Update the status of a project. Can be used to archive\/restore projects, and to restore paused projects. When restoring a paused project, the console fingerprint header must be provided and the project must not be blocked for any reason other than inactivity.\n", "responses": { - "200": { - "description": "StorageUsage", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/usageStorage" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "updateStatus", "group": null, - "weight": 555, + "weight": 1154, "cookies": false, "type": "", - "demo": "storage\/get-usage.md", - "rate-limit": 0, + "demo": "projects\/update-status.md", + "rate-limit": 10, "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "rate-key": "ip:{ip},userId:{userId}", + "scope": "projects.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-status.md", "auth": { "Project": [] } @@ -56767,45 +56408,57 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "projectId", + "description": "Project ID", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<PROJECT_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "New status for the project", + "x-example": "active", + "enum": [ + "active" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "status" + ] + } + } + } + } } }, - "\/storage\/{bucketId}\/usage": { - "get": { - "summary": "Get bucket usage stats", - "operationId": "storageGetBucketUsage", + "\/projects\/{projectId}\/team": { + "patch": { + "summary": "Update project team", + "operationId": "projectsUpdateTeam", "tags": [ - "storage" + "projects" ], - "description": "Get usage metrics and statistics a specific bucket in the project. You can view the total number of files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Update the team ID of a project allowing for it to be transferred to another team.", "responses": { "200": { - "description": "UsageBuckets", + "description": "Project", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageBuckets" + "$ref": "#\/components\/schemas\/project" } } } @@ -56813,22 +56466,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getBucketUsage", - "group": null, - "weight": 556, + "method": "updateTeam", + "group": "projects", + "weight": 1155, "cookies": false, "type": "", - "demo": "storage\/get-bucket-usage.md", + "demo": "projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "projects.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } @@ -56840,55 +56493,52 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Bucket ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<PROJECT_ID>" }, "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to transfer project to.", + "x-example": "<TEAM_ID>" + } + }, + "required": [ + "teamId" + ] + } + } + } + } } }, - "\/tablesdb": { + "\/proxy\/rules": { "get": { - "summary": "List databases", - "operationId": "tablesDBList", + "summary": "List rules", + "operationId": "proxyListRules", "tags": [ - "tablesDB" + "proxy" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": "Get a list of all the proxy rules. You can use the query params to filter your results.", "responses": { "200": { - "description": "Databases List", + "description": "Rule List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/databaseList" + "$ref": "#\/components\/schemas\/proxyRuleList" } } } @@ -56896,23 +56546,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "tablesdb", - "weight": 767, + "method": "listRules", + "group": "rules", + "weight": 1267, "cookies": false, "type": "", - "demo": "tablesdb\/list.md", + "demo": "proxy\/list-rules.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "rules.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -56926,7 +56575,7 @@ "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch", "required": false, "schema": { "type": "array", @@ -56937,17 +56586,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -56960,21 +56598,23 @@ "in": "query" } ] - }, + } + }, + "\/proxy\/rules\/api": { "post": { - "summary": "Create database", - "operationId": "tablesDBCreate", + "summary": "Create API rule", + "operationId": "proxyCreateAPIRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "Create a new Database.\n", + "description": "Create a new proxy rule for serving Appwrite's API on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { "201": { - "description": "Database", + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -56982,23 +56622,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "tablesdb", - "weight": 763, + "method": "createAPIRule", + "group": "rules", + "weight": 1262, "cookies": false, "type": "", - "demo": "tablesdb\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "demo": "proxy\/create-api-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -57015,25 +56654,14 @@ "schema": { "type": "object", "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DATABASE_ID>" - }, - "name": { + "domain": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false + "description": "Domain name.", + "x-example": null } }, "required": [ - "databaseId", - "name" + "domain" ] } } @@ -57041,21 +56669,21 @@ } } }, - "\/tablesdb\/transactions": { - "get": { - "summary": "List transactions", - "operationId": "tablesDBListTransactions", + "\/proxy\/rules\/function": { + "post": { + "summary": "Create function rule", + "operationId": "proxyCreateFunctionRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "List transactions across all databases.", + "description": "Create a new proxy rule for executing Appwrite Function on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { - "200": { - "description": "Transaction List", + "201": { + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transactionList" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -57063,28 +56691,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 836, + "method": "createFunctionRule", + "group": "rules", + "weight": 1264, "cookies": false, "type": "", - "demo": "tablesdb\/list-transactions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.read", - "rows.read" - ], + "demo": "proxy\/create-function-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -57092,41 +56714,56 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": null + }, + "functionId": { + "type": "string", + "description": "ID of function to be executed.", + "x-example": "<FUNCTION_ID>" + }, + "branch": { + "type": "string", + "description": "Name of VCS branch to deploy changes automatically", + "x-example": "<BRANCH>" + } + }, + "required": [ + "domain", + "functionId" + ] + } + } } - ] - }, + } + } + }, + "\/proxy\/rules\/redirect": { "post": { - "summary": "Create transaction", - "operationId": "tablesDBCreateTransaction", + "summary": "Create Redirect rule", + "operationId": "proxyCreateRedirectRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "Create a new transaction.", + "description": "Create a new proxy rule for to redirect from custom domain to another domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { "201": { - "description": "Transaction", + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -57134,28 +56771,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 832, + "method": "createRedirectRule", + "group": "rules", + "weight": 1265, "cookies": false, "type": "", - "demo": "tablesdb\/create-transaction.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "demo": "proxy\/create-redirect-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -57163,9 +56794,7 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "requestBody": { @@ -57174,34 +56803,83 @@ "schema": { "type": "object", "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "x-example": 60, - "format": "int32" + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": null + }, + "url": { + "type": "string", + "description": "Target URL of redirection", + "x-example": "https:\/\/example.com", + "format": "url" + }, + "statusCode": { + "type": "string", + "description": "Status code of redirection", + "x-example": "301", + "enum": [ + "301", + "302", + "307", + "308" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Moved Permanently 301", + "Found 302", + "Temporary Redirect 307", + "Permanent Redirect 308" + ] + }, + "resourceId": { + "type": "string", + "description": "ID of parent resource.", + "x-example": "<RESOURCE_ID>" + }, + "resourceType": { + "type": "string", + "description": "Type of parent resource.", + "x-example": "site", + "enum": [ + "site", + "function" + ], + "x-enum-name": "ProxyResourceType", + "x-enum-keys": [ + "Site", + "Function" + ] } - } + }, + "required": [ + "domain", + "url", + "statusCode", + "resourceId", + "resourceType" + ] } } } } } }, - "\/tablesdb\/transactions\/{transactionId}": { - "get": { - "summary": "Get transaction", - "operationId": "tablesDBGetTransaction", + "\/proxy\/rules\/site": { + "post": { + "summary": "Create site rule", + "operationId": "proxyCreateSiteRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "Get a transaction by its unique ID.", + "description": "Create a new proxy rule for serving Appwrite Site on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { - "200": { - "description": "Transaction", + "201": { + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -57209,28 +56887,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 833, + "method": "createSiteRule", + "group": "rules", + "weight": 1263, "cookies": false, "type": "", - "demo": "tablesdb\/get-transaction.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.read", - "rows.read" - ], + "demo": "proxy\/create-site-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -57238,38 +56910,56 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], - "parameters": [ - { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": null + }, + "siteId": { + "type": "string", + "description": "ID of site to be executed.", + "x-example": "<SITE_ID>" + }, + "branch": { + "type": "string", + "description": "Name of VCS branch to deploy changes automatically", + "x-example": "<BRANCH>" + } + }, + "required": [ + "domain", + "siteId" + ] + } + } } - ] - }, - "patch": { - "summary": "Update transaction", - "operationId": "tablesDBUpdateTransaction", + } + } + }, + "\/proxy\/rules\/{ruleId}": { + "get": { + "summary": "Get rule", + "operationId": "proxyGetRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Get a proxy rule by its unique ID.", "responses": { "200": { - "description": "Transaction", + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -57277,28 +56967,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 834, + "method": "getRule", + "group": "rules", + "weight": 1266, "cookies": false, "type": "", - "demo": "tablesdb\/update-transaction.md", + "demo": "proxy\/get-rule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "rules.read", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -57306,52 +56990,29 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<RULE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "x-example": false - }, - "rollback": { - "type": "boolean", - "description": "Rollback transaction?", - "x-example": false - } - } - } - } - } - } + ] }, "delete": { - "summary": "Delete transaction", - "operationId": "tablesDBDeleteTransaction", + "summary": "Delete rule", + "operationId": "proxyDeleteRule", "tags": [ - "tablesDB" + "proxy" ], - "description": "Delete a transaction by its unique ID.", + "description": "Delete a proxy rule by its unique ID.", "responses": { "204": { "description": "No content" @@ -57359,28 +57020,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 835, + "method": "deleteRule", + "group": "rules", + "weight": 1268, "cookies": false, "type": "", - "demo": "tablesdb\/delete-transaction.md", + "demo": "proxy\/delete-rule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "rules.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -57388,40 +57043,38 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<RULE_ID>" }, "in": "path" } ] } }, - "\/tablesdb\/transactions\/{transactionId}\/operations": { - "post": { - "summary": "Create operations", - "operationId": "tablesDBCreateOperations", + "\/proxy\/rules\/{ruleId}\/status": { + "patch": { + "summary": "Update rule status", + "operationId": "proxyUpdateRuleStatus", "tags": [ - "tablesDB" + "proxy" ], - "description": "Create multiple operations in a single transaction.", + "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", "responses": { - "201": { - "description": "Transaction", + "200": { + "description": "Rule", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/proxyRule" } } } @@ -57429,28 +57082,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 837, + "method": "updateRuleStatus", + "group": "rules", + "weight": 1269, "cookies": false, "type": "", - "demo": "tablesdb\/create-operations.md", + "demo": "proxy\/update-rule-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "rules.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -57458,59 +57105,38 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<RULE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } - } - } - } - } - } - } + ] } }, - "\/tablesdb\/usage": { + "\/reports": { "get": { - "summary": "Get TablesDB usage stats", - "operationId": "tablesDBListUsage", + "summary": "List reports", + "operationId": "advisorListReports", "tags": [ - "tablesDB" + "advisor" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n", "responses": { "200": { - "description": "UsageDatabases", + "description": "Reports List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageDatabases" + "$ref": "#\/components\/schemas\/reportList" } } } @@ -57518,98 +57144,76 @@ }, "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 769, + "method": "listReports", + "group": "reports", + "weight": 695, "cookies": false, "type": "", - "demo": "tablesdb\/list-usage.md", + "demo": "advisor\/list-reports.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "scope": "reports.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "tablesdb\/list-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-reports.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "range", - "description": "Date range.", + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt", "required": false, "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] } }, - "\/tablesdb\/{databaseId}": { + "\/reports\/{reportId}": { "get": { - "summary": "Get database", - "operationId": "tablesDBGet", + "summary": "Get report", + "operationId": "advisorGetReport", "tags": [ - "tablesDB" + "advisor" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n", "responses": { "200": { - "description": "Database", + "description": "Report", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/report" } } } @@ -57617,23 +57221,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "tablesdb", - "weight": 764, + "method": "getReport", + "group": "reports", + "weight": 694, "cookies": false, "type": "", - "demo": "tablesdb\/get.md", + "demo": "advisor\/get-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "reports.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-report.md", "auth": { "Project": [] } @@ -57646,106 +57250,24 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Report ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<REPORT_ID>" }, "in": "path" } ] }, - "put": { - "summary": "Update database", - "operationId": "tablesDBUpdate", - "tags": [ - "tablesDB" - ], - "description": "Update a database by its unique ID.", - "responses": { - "200": { - "description": "Database", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/database" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "update", - "group": "tablesdb", - "weight": 765, - "cookies": false, - "type": "", - "demo": "tablesdb\/update.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false - } - } - } - } - } - } - }, "delete": { - "summary": "Delete database", - "operationId": "tablesDBDelete", + "summary": "Delete report", + "operationId": "advisorDeleteReport", "tags": [ - "tablesDB" + "advisor" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": "Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n", "responses": { "204": { "description": "No content" @@ -57753,23 +57275,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "tablesdb", - "weight": 766, + "method": "deleteReport", + "group": "reports", + "weight": 696, "cookies": false, "type": "", - "demo": "tablesdb\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "demo": "advisor\/delete-report.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{projectId},userId:{userId}", + "scope": "reports.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/delete-report.md", "auth": { "Project": [] } @@ -57782,33 +57304,33 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Report ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<REPORT_ID>" }, "in": "path" } ] } }, - "\/tablesdb\/{databaseId}\/tables": { + "\/reports\/{reportId}\/insights": { "get": { - "summary": "List tables", - "operationId": "tablesDBListTables", + "summary": "List insights", + "operationId": "advisorListInsights", "tags": [ - "tablesDB" + "advisor" ], - "description": "Get a list of all tables that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n", "responses": { "200": { - "description": "Tables List", + "description": "Insights List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/tableList" + "$ref": "#\/components\/schemas\/insightList" } } } @@ -57816,26 +57338,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTables", - "group": "tables", - "weight": 774, + "method": "listInsights", + "group": "insights", + "weight": 698, "cookies": false, "type": "", - "demo": "tablesdb\/list-tables.md", + "demo": "advisor\/list-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-insights.md", "auth": { "Project": [] } @@ -57848,18 +57367,18 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<REPORT_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name, enabled, rowSecurity", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy", "required": false, "schema": { "type": "array", @@ -57870,17 +57389,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -57893,21 +57401,23 @@ "in": "query" } ] - }, - "post": { - "summary": "Create table", - "operationId": "tablesDBCreateTable", + } + }, + "\/reports\/{reportId}\/insights\/{insightId}": { + "get": { + "summary": "Get insight", + "operationId": "advisorGetInsight", "tags": [ - "tablesDB" + "advisor" ], - "description": "Create a new Table. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "Get an insight by its unique ID, scoped to its parent report.\n", "responses": { - "201": { - "description": "Table", + "200": { + "description": "Insight", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/table" + "$ref": "#\/components\/schemas\/insight" } } } @@ -57915,26 +57425,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTable", - "group": "tables", - "weight": 770, + "method": "getInsight", + "group": "insights", + "weight": 697, "cookies": false, "type": "", - "demo": "tablesdb\/create-table.md", + "demo": "advisor\/get-insight.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-insight.md", "auth": { "Project": [] } @@ -57947,93 +57454,43 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<REPORT_ID>" + }, + "in": "path" + }, + { + "name": "insightId", + "description": "Insight ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSIGHT_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "tableId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<TABLE_ID>" - }, - "name": { - "type": "string", - "description": "Table name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "rowSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", - "x-example": false - }, - "columns": { - "type": "array", - "description": "Array of column definitions to create. Each column should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "x-example": null, - "items": { - "type": "object" - } - }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of column keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "x-example": null, - "items": { - "type": "object" - } - } - }, - "required": [ - "tableId", - "name" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}": { + "\/sites": { "get": { - "summary": "Get table", - "operationId": "tablesDBGetTable", + "summary": "List sites", + "operationId": "sitesList", "tags": [ - "tablesDB" + "sites" ], - "description": "Get a table by its unique ID. This endpoint response returns a JSON object with the table metadata.", + "description": "Get a list of all the project's sites. You can use the query params to filter your results.", "responses": { "200": { - "description": "Table", + "description": "Sites List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/table" + "$ref": "#\/components\/schemas\/siteList" } } } @@ -58041,26 +57498,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTable", - "group": "tables", - "weight": 771, + "method": "list", + "group": "sites", + "weight": 479, "cookies": false, "type": "", - "demo": "tablesdb\/get-table.md", + "demo": "sites\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -58073,41 +57526,56 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId", + "required": false, "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] }, - "put": { - "summary": "Update table", - "operationId": "tablesDBUpdateTable", + "post": { + "summary": "Create site", + "operationId": "sitesCreate", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a table by its unique ID.", + "description": "Create a new site.", "responses": { - "200": { - "description": "Table", + "201": { + "description": "Site", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/table" + "$ref": "#\/components\/schemas\/site" } } } @@ -58115,26 +57583,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTable", - "group": "tables", - "weight": 772, + "method": "create", + "group": "sites", + "weight": 972, "cookies": false, "type": "", - "demo": "tablesdb\/update-table.md", + "demo": "sites\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -58145,103 +57609,291 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { + "siteId": { + "type": "string", + "description": "Site ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<SITE_ID>" + }, "name": { "type": "string", - "description": "Table name. Max length: 128 chars.", + "description": "Site name. Max length: 128 chars.", "x-example": "<NAME>" }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "rowSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false + "framework": { + "type": "string", + "description": "Sites framework.", + "x-example": "analog", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "enabled": { "type": "boolean", - "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", + "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", "x-example": false }, - "purge": { + "logging": { "type": "boolean", - "description": "When true, purge all cached list responses for this table as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", "x-example": false - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete table", - "operationId": "tablesDBDeleteTable", - "tags": [ - "tablesDB" - ], - "description": "Delete a table by its unique ID. Only users with write permissions have access to delete this resource.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteTable", - "group": "tables", - "weight": 773, - "cookies": false, - "type": "", - "demo": "tablesdb\/delete-table.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + }, + "timeout": { + "type": "integer", + "description": "Maximum request time in seconds.", + "x-example": 1, + "format": "int32" + }, + "installCommand": { + "type": "string", + "description": "Install Command.", + "x-example": "<INSTALL_COMMAND>" + }, + "buildCommand": { + "type": "string", + "description": "Build Command.", + "x-example": "<BUILD_COMMAND>" + }, + "startCommand": { + "type": "string", + "description": "Custom start command. Leave empty to use default.", + "x-example": "<START_COMMAND>" + }, + "outputDirectory": { + "type": "string", + "description": "Output Directory for site.", + "x-example": "<OUTPUT_DIRECTORY>" + }, + "buildRuntime": { + "type": "string", + "description": "Runtime to use during build step.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "adapter": { + "type": "string", + "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", + "x-example": "static", + "enum": [ + "static", + "ssr" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>" + }, + "fallbackFile": { + "type": "string", + "description": "Fallback file for single page application sites.", + "x-example": "<FALLBACK_FILE>" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the site.", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the site.", + "x-example": "<PROVIDER_BRANCH>" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to site code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the site deployments.", + "x-example": null + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the SSR executions.", + "x-example": null + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "format": "int32" + } + }, + "required": [ + "siteId", + "name", + "framework", + "buildRuntime" + ] + } + } + } + } + } + }, + "\/sites\/frameworks": { + "get": { + "summary": "List frameworks", + "operationId": "sitesListFrameworks", + "tags": [ + "sites" + ], + "description": "Get a list of all frameworks that are currently available on the server instance.", + "responses": { + "200": { + "description": "Frameworks List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/frameworkList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listFrameworks", + "group": "frameworks", + "weight": 482, + "cookies": false, + "type": "", + "demo": "sites\/list-frameworks.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -58251,46 +57903,74 @@ "Project": [], "Key": [] } + ] + } + }, + "\/sites\/specifications": { + "get": { + "summary": "List specifications", + "operationId": "sitesListSpecifications", + "tags": [ + "sites" ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, + "description": "List allowed site specifications for this instance.", + "responses": { + "200": { + "description": "Specifications List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/specificationList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listSpecifications", + "group": "frameworks", + "weight": 505, + "cookies": false, + "type": "", + "demo": "sites\/list-specifications.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "sites.read", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "tableId", - "description": "Table ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" + "Project": [], + "Key": [] } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns": { + "\/sites\/templates": { "get": { - "summary": "List columns", - "operationId": "tablesDBListColumns", + "summary": "List templates", + "operationId": "sitesListTemplates", "tags": [ - "tablesDB" + "sites" ], - "description": "List columns in the table.", + "description": "List available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "responses": { "200": { - "description": "Columns List", + "description": "Site Templates List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnList" + "$ref": "#\/components\/schemas\/templateSiteList" } } } @@ -58298,101 +57978,131 @@ }, "deprecated": false, "x-appwrite": { - "method": "listColumns", - "group": "columns", - "weight": 779, + "method": "listTemplates", + "group": "templates", + "weight": 501, "cookies": false, "type": "", - "demo": "tablesdb\/list-columns.md", + "demo": "sites\/list-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "columns.read", - "attributes.read" - ], + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "frameworks", + "description": "List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.", + "required": false, "schema": { - "type": "string", - "x-example": "<TABLE_ID>" + "type": "array", + "items": { + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, size, required, array, status, error", + "name": "useCases", + "description": "List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.", "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "portfolio", + "starter", + "events", + "ecommerce", + "documentation", + "blog", + "ai", + "forms", + "dashboard" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "limit", + "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 25 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Offset the list of returned templates. Maximum offset is 5000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint": { - "post": { - "summary": "Create bigint column", - "operationId": "tablesDBCreateBigIntColumn", + "\/sites\/templates\/{templateId}": { + "get": { + "summary": "Get site template", + "operationId": "sitesGetTemplate", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a bigint column. Optionally, minimum and maximum values can be provided.\n", + "description": "Get a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "responses": { - "202": { - "description": "ColumnBigInt", + "200": { + "description": "Template Site", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnBigint" + "$ref": "#\/components\/schemas\/templateSite" } } } @@ -58400,128 +58110,131 @@ }, "deprecated": false, "x-appwrite": { - "method": "createBigIntColumn", - "group": "columns", - "weight": 792, + "method": "getTemplate", + "group": "templates", + "weight": 502, "cookies": false, "type": "", - "demo": "tablesdb\/create-big-int-column.md", + "demo": "sites\/get-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-bigint-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "templateId", + "description": "Template ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<TEMPLATE_ID>" }, "in": "path" } + ] + } + }, + "\/sites\/usage": { + "get": { + "summary": "Get sites usage", + "operationId": "sitesListUsage", + "tags": [ + "sites" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] + "description": "Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "responses": { + "200": { + "description": "UsageSites", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageSites" + } } } } - } + }, + "deprecated": false, + "x-appwrite": { + "method": "listUsage", + "group": null, + "weight": 503, + "cookies": false, + "type": "", + "demo": "sites\/list-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "sites.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint\/{key}": { - "patch": { - "summary": "Update bigint column", - "operationId": "tablesDBUpdateBigIntColumn", + "\/sites\/{siteId}": { + "get": { + "summary": "Get site", + "operationId": "sitesGet", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a bigint column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a site by its unique ID.", "responses": { "200": { - "description": "ColumnBigInt", + "description": "Site", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnBigint" + "$ref": "#\/components\/schemas\/site" } } } @@ -58529,28 +58242,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateBigIntColumn", - "group": "columns", - "weight": 793, + "method": "get", + "group": "sites", + "weight": 478, "cookies": false, "type": "", - "demo": "tablesdb\/update-big-int-column.md", + "demo": "sites\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-bigint-column.md", "auth": { "Project": [] } @@ -58563,99 +58270,31 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<SITE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean": { - "post": { - "summary": "Create boolean column", - "operationId": "tablesDBCreateBooleanColumn", + ] + }, + "put": { + "summary": "Update site", + "operationId": "sitesUpdate", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a boolean column.\n", + "description": "Update site by its unique ID.", "responses": { - "202": { - "description": "ColumnBoolean", + "200": { + "description": "Site", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnBoolean" + "$ref": "#\/components\/schemas\/site" } } } @@ -58663,28 +58302,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createBooleanColumn", - "group": "columns", - "weight": 780, + "method": "update", + "group": "sites", + "weight": 973, "cookies": false, "type": "", - "demo": "tablesdb\/create-boolean-column.md", + "demo": "sites\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -58697,22 +58330,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -58723,82 +58346,269 @@ "schema": { "type": "object", "properties": { - "key": { + "name": { "type": "string", - "description": "Column Key.", - "x-example": null + "description": "Site name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "required": { + "framework": { + "type": "string", + "description": "Sites framework.", + "x-example": "analog", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "enabled": { "type": "boolean", - "description": "Is column required?", + "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", "x-example": false }, - "default": { + "logging": { "type": "boolean", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false, - "x-nullable": true + "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", + "x-example": false }, - "array": { + "timeout": { + "type": "integer", + "description": "Maximum request time in seconds.", + "x-example": 1, + "format": "int32" + }, + "installCommand": { + "type": "string", + "description": "Install Command.", + "x-example": "<INSTALL_COMMAND>" + }, + "buildCommand": { + "type": "string", + "description": "Build Command.", + "x-example": "<BUILD_COMMAND>" + }, + "startCommand": { + "type": "string", + "description": "Custom start command. Leave empty to use default.", + "x-example": "<START_COMMAND>" + }, + "outputDirectory": { + "type": "string", + "description": "Output Directory for site.", + "x-example": "<OUTPUT_DIRECTORY>" + }, + "buildRuntime": { + "type": "string", + "description": "Runtime to use during build step.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "adapter": { + "type": "string", + "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", + "x-example": "static", + "enum": [ + "static", + "ssr" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "fallbackFile": { + "type": "string", + "description": "Fallback file for single page application sites.", + "x-example": "<FALLBACK_FILE>" + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the site.", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the site.", + "x-example": "<PROVIDER_BRANCH>" + }, + "providerSilentMode": { "type": "boolean", - "description": "Is column an array?", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", "x-example": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to site code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the site deployments.", + "x-example": null + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the SSR executions.", + "x-example": null + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "format": "int32" } }, "required": [ - "key", - "required" + "name", + "framework" ] } } } } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean\/{key}": { - "patch": { - "summary": "Update boolean column", - "operationId": "tablesDBUpdateBooleanColumn", + }, + "delete": { + "summary": "Delete site", + "operationId": "sitesDelete", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a boolean column. Changing the `default` value will not update already existing rows.", + "description": "Delete a site by its unique ID.", "responses": { - "200": { - "description": "ColumnBoolean", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnBoolean" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateBooleanColumn", - "group": "columns", - "weight": 781, + "method": "delete", + "group": "sites", + "weight": 481, "cookies": false, "type": "", - "demo": "tablesdb\/update-boolean-column.md", + "demo": "sites\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -58811,84 +58621,33 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<SITE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime": { - "post": { - "summary": "Create datetime column", - "operationId": "tablesDBCreateDatetimeColumn", + "\/sites\/{siteId}\/deployment": { + "patch": { + "summary": "Update site's deployment", + "operationId": "sitesUpdateSiteDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a date time column according to the ISO 8601 standard.", + "description": "Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "responses": { - "202": { - "description": "ColumnDatetime", + "200": { + "description": "Site", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnDatetime" + "$ref": "#\/components\/schemas\/site" } } } @@ -58896,28 +58655,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDatetimeColumn", - "group": "columns", - "weight": 782, + "method": "updateSiteDeployment", + "group": "sites", + "weight": 488, "cookies": false, "type": "", - "demo": "tablesdb\/create-datetime-column.md", + "demo": "sites\/update-site-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -58930,22 +58683,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -58956,32 +58699,14 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { + "deploymentId": { "type": "string", - "description": "Default value for the column in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when column is required.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" } }, "required": [ - "key", - "required" + "deploymentId" ] } } @@ -58989,21 +58714,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime\/{key}": { - "patch": { - "summary": "Update dateTime column", - "operationId": "tablesDBUpdateDatetimeColumn", + "\/sites\/{siteId}\/deployments": { + "get": { + "summary": "List deployments", + "operationId": "sitesListDeployments", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a date time column. Changing the `default` value will not update already existing rows.", + "description": "Get a list of all the site's code deployments. You can use the query params to filter your results.", "responses": { "200": { - "description": "ColumnDatetime", + "description": "Deployments List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnDatetime" + "$ref": "#\/components\/schemas\/deploymentList" } } } @@ -59011,28 +58736,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDatetimeColumn", - "group": "columns", - "weight": 783, + "method": "listDeployments", + "group": "deployments", + "weight": 487, "cookies": false, "type": "", - "demo": "tablesdb\/update-datetime-column.md", + "demo": "sites\/list-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -59045,85 +58764,66 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string" + "type": "boolean", + "x-example": false, + "default": true }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email": { + ] + }, "post": { - "summary": "Create email column", - "operationId": "tablesDBCreateEmailColumn", + "summary": "Create deployment", + "operationId": "sitesCreateDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Create an email column.\n", + "description": "Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "responses": { "202": { - "description": "ColumnEmail", + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnEmail" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -59131,28 +58831,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createEmailColumn", - "group": "columns", - "weight": 784, + "method": "createDeployment", + "group": "deployments", + "weight": 483, "cookies": false, - "type": "", - "demo": "tablesdb\/create-email-column.md", + "type": "upload", + "demo": "sites\/create-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], - "packaging": false, + "packaging": true, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -59165,58 +58859,54 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" } ], "requestBody": { "content": { - "application\/json": { + "multipart\/form-data": { "schema": { "type": "object", "properties": { - "key": { + "installCommand": { "type": "string", - "description": "Column Key.", - "x-example": null + "description": "Install Commands.", + "x-example": "<INSTALL_COMMAND>", + "x-nullable": true }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false + "buildCommand": { + "type": "string", + "description": "Build Commands.", + "x-example": "<BUILD_COMMAND>", + "x-nullable": true }, - "default": { + "outputDirectory": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com", - "format": "email", + "description": "Output Directory.", + "x-example": "<OUTPUT_DIRECTORY>", "x-nullable": true }, - "array": { + "code": { + "type": "string", + "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", + "x-example": null, + "format": "binary" + }, + "activate": { "type": "boolean", - "description": "Is column an array?", + "description": "Automatically activate the deployment when it is finished building.", "x-example": false } }, "required": [ - "key", - "required" + "code" ] } } @@ -59224,21 +58914,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email\/{key}": { - "patch": { - "summary": "Update email column", - "operationId": "tablesDBUpdateEmailColumn", + "\/sites\/{siteId}\/deployments\/duplicate": { + "post": { + "summary": "Create duplicate deployment", + "operationId": "sitesCreateDuplicateDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Update an email column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "responses": { - "200": { - "description": "ColumnEmail", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnEmail" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -59246,28 +58936,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateEmailColumn", - "group": "columns", - "weight": 785, + "method": "createDuplicateDeployment", + "group": "deployments", + "weight": 491, "cookies": false, "type": "", - "demo": "tablesdb\/update-email-column.md", + "demo": "sites\/create-duplicate-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -59280,31 +58964,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -59315,28 +58980,14 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "newKey": { + "deploymentId": { "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" } }, "required": [ - "required", - "default" + "deploymentId" ] } } @@ -59344,21 +58995,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum": { + "\/sites\/{siteId}\/deployments\/template": { "post": { - "summary": "Create enum column", - "operationId": "tablesDBCreateEnumColumn", + "summary": "Create template deployment", + "operationId": "sitesCreateTemplateDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Create an enumeration column. The `elements` param acts as a white-list of accepted values for this column.", + "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "responses": { "202": { - "description": "ColumnEnum", + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnEnum" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -59366,28 +59017,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createEnumColumn", - "group": "columns", - "weight": 786, + "method": "createTemplateDeployment", + "group": "deployments", + "weight": 484, "cookies": false, "type": "", - "demo": "tablesdb\/create-enum-column.md", + "demo": "sites\/create-template-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -59400,22 +59045,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -59426,40 +59061,50 @@ "schema": { "type": "object", "properties": { - "key": { + "repository": { "type": "string", - "description": "Column Key.", - "x-example": null + "description": "Repository name of the template.", + "x-example": "<REPOSITORY>" }, - "elements": { - "type": "array", - "description": "Array of enum values.", - "x-example": null, - "items": { - "type": "string" - } + "owner": { + "type": "string", + "description": "The name of the owner of the template.", + "x-example": "<OWNER>" }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false + "rootDirectory": { + "type": "string", + "description": "Path to site code in the template repo.", + "x-example": "<ROOT_DIRECTORY>" }, - "default": { + "type": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Type for the reference provided. Can be commit, branch, or tag", + "x-example": "branch", + "enum": [ + "branch", + "commit", + "tag" + ], + "x-enum-name": "TemplateReferenceType", + "x-enum-keys": [] }, - "array": { + "reference": { + "type": "string", + "description": "Reference value, can be a commit hash, branch name, or release tag", + "x-example": "<REFERENCE>" + }, + "activate": { "type": "boolean", - "description": "Is column an array?", + "description": "Automatically activate the deployment when it is finished building.", "x-example": false } }, "required": [ - "key", - "elements", - "required" + "repository", + "owner", + "rootDirectory", + "type", + "reference" ] } } @@ -59467,21 +59112,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum\/{key}": { - "patch": { - "summary": "Update enum column", - "operationId": "tablesDBUpdateEnumColumn", + "\/sites\/{siteId}\/deployments\/vcs": { + "post": { + "summary": "Create VCS deployment", + "operationId": "sitesCreateVcsDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Update an enum column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "responses": { - "200": { - "description": "ColumnEnum", + "202": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnEnum" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -59489,28 +59134,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateEnumColumn", - "group": "columns", - "weight": 787, + "method": "createVcsDeployment", + "group": "deployments", + "weight": 485, "cookies": false, "type": "", - "demo": "tablesdb\/update-enum-column.md", + "demo": "sites\/create-vcs-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -59523,31 +59162,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -59558,36 +59178,32 @@ "schema": { "type": "object", "properties": { - "elements": { - "type": "array", - "description": "Updated list of enum values.", - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { + "type": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Type of reference passed. Allowed values are: branch, commit", + "x-example": "branch", + "enum": [ + "branch", + "commit", + "tag" + ], + "x-enum-name": "VCSReferenceType", + "x-enum-keys": [] }, - "newKey": { + "reference": { "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true + "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false } }, "required": [ - "elements", - "required", - "default" + "type", + "reference" ] } } @@ -59595,21 +59211,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float": { - "post": { - "summary": "Create float column", - "operationId": "tablesDBCreateFloatColumn", + "\/sites\/{siteId}\/deployments\/{deploymentId}": { + "get": { + "summary": "Get deployment", + "operationId": "sitesGetDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a float column. Optionally, minimum and maximum values can be provided.\n", + "description": "Get a site deployment by its unique ID.", "responses": { - "202": { - "description": "ColumnFloat", + "200": { + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnFloat" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -59617,28 +59233,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createFloatColumn", - "group": "columns", - "weight": 788, + "method": "getDeployment", + "group": "deployments", + "weight": 486, "cookies": false, "type": "", - "demo": "tablesdb\/create-float-column.md", + "demo": "sites\/get-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -59651,123 +59261,57 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<DEPLOYMENT_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float\/{key}": { - "patch": { - "summary": "Update float column", - "operationId": "tablesDBUpdateFloatColumn", + ] + }, + "delete": { + "summary": "Delete deployment", + "operationId": "sitesDeleteDeployment", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a float column. Changing the `default` value will not update already existing rows.\n", + "description": "Delete a site deployment by its unique ID.", "responses": { - "200": { - "description": "ColumnFloat", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnFloat" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateFloatColumn", - "group": "columns", - "weight": 789, + "method": "deleteDeployment", + "group": "deployments", + "weight": 489, "cookies": false, "type": "", - "demo": "tablesdb\/update-float-column.md", + "demo": "sites\/delete-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -59780,128 +59324,60 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<DEPLOYMENT_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "x-example": null, - "format": "float", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer": { - "post": { - "summary": "Create integer column", - "operationId": "tablesDBCreateIntegerColumn", + "\/sites\/{siteId}\/deployments\/{deploymentId}\/download": { + "get": { + "summary": "Get deployment download", + "operationId": "sitesGetDeploymentDownload", "tags": [ - "tablesDB" + "sites" ], - "description": "Create an integer column. Optionally, minimum and maximum values can be provided.\n", + "description": "Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { - "202": { - "description": "ColumnInteger", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnInteger" - } - } - } + "200": { + "description": "File" } }, "deprecated": false, "x-appwrite": { - "method": "createIntegerColumn", - "group": "columns", - "weight": 790, + "method": "getDeploymentDownload", + "group": "deployments", + "weight": 490, "cookies": false, - "type": "", - "demo": "tablesdb\/create-integer-column.md", + "type": "location", + "demo": "sites\/get-deployment-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -59909,99 +59385,66 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<DEPLOYMENT_ID>" }, "in": "path" + }, + { + "name": "type", + "description": "Deployment file to download. Can be: \"source\", \"output\".", + "required": false, + "schema": { + "type": "string", + "x-example": "source", + "enum": [ + "source", + "output" + ], + "x-enum-name": "DeploymentDownloadType", + "x-enum-keys": [], + "default": "source" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer\/{key}": { + "\/sites\/{siteId}\/deployments\/{deploymentId}\/status": { "patch": { - "summary": "Update integer column", - "operationId": "tablesDBUpdateIntegerColumn", + "summary": "Update deployment status", + "operationId": "sitesUpdateDeploymentStatus", "tags": [ - "tablesDB" + "sites" ], - "description": "Update an integer column. Changing the `default` value will not update already existing rows.\n", + "description": "Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "responses": { "200": { - "description": "ColumnInteger", + "description": "Deployment", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnInteger" + "$ref": "#\/components\/schemas\/deployment" } } } @@ -60009,28 +59452,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateIntegerColumn", - "group": "columns", - "weight": 791, + "method": "updateDeploymentStatus", + "group": "deployments", + "weight": 492, "cookies": false, "type": "", - "demo": "tablesdb\/update-integer-column.md", + "demo": "sites\/update-deployment-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -60043,99 +59480,43 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<DEPLOYMENT_ID>" }, "in": "path" } + ] + } + }, + "\/sites\/{siteId}\/logs": { + "get": { + "summary": "List logs", + "operationId": "sitesListLogs", + "tags": [ + "sites" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip": { - "post": { - "summary": "Create IP address column", - "operationId": "tablesDBCreateIpColumn", - "tags": [ - "tablesDB" - ], - "description": "Create IP address column.\n", + "description": "Get a list of all site logs. You can use the query params to filter your results.", "responses": { - "202": { - "description": "ColumnIP", + "200": { + "description": "Executions List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnIp" + "$ref": "#\/components\/schemas\/executionList" } } } @@ -60143,28 +59524,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createIpColumn", - "group": "columns", - "weight": 794, + "method": "listLogs", + "group": "logs", + "weight": 494, "cookies": false, "type": "", - "demo": "tablesdb\/create-ip-column.md", + "demo": "sites\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -60177,79 +59552,57 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", + "required": false, "schema": { - "type": "string", - "x-example": "<TABLE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip\/{key}": { - "patch": { - "summary": "Update IP address column", - "operationId": "tablesDBUpdateIpColumn", + "\/sites\/{siteId}\/logs\/{logId}": { + "get": { + "summary": "Get log", + "operationId": "sitesGetLog", "tags": [ - "tablesDB" + "sites" ], - "description": "Update an ip column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a site request log by its unique ID.", "responses": { "200": { - "description": "ColumnIP", + "description": "Execution", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnIp" + "$ref": "#\/components\/schemas\/execution" } } } @@ -60257,28 +59610,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateIpColumn", - "group": "columns", - "weight": 795, + "method": "getLog", + "group": "logs", + "weight": 493, "cookies": false, "type": "", - "demo": "tablesdb\/update-ip-column.md", + "demo": "sites\/get-log.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -60291,113 +59638,57 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "logId", + "description": "Log ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<LOG_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when column is required.", - "x-example": null, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line": { - "post": { - "summary": "Create line column", - "operationId": "tablesDBCreateLineColumn", + ] + }, + "delete": { + "summary": "Delete log", + "operationId": "sitesDeleteLog", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a geometric line column.", + "description": "Delete a site log by its unique ID.", "responses": { - "202": { - "description": "ColumnLine", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnLine" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createLineColumn", - "group": "columns", - "weight": 796, + "method": "deleteLog", + "group": "logs", + "weight": 495, "cookies": false, "type": "", - "demo": "tablesdb\/create-line-column.md", + "demo": "sites\/delete-log.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -60410,81 +59701,43 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "logId", + "description": "Log ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<LOG_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line\/{key}": { - "patch": { - "summary": "Update line column", - "operationId": "tablesDBUpdateLineColumn", + "\/sites\/{siteId}\/usage": { + "get": { + "summary": "Get site usage", + "operationId": "sitesGetUsage", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a line column. Changing the `default` value will not update already existing rows.", + "description": "Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { "200": { - "description": "ColumnLine", + "description": "UsageSite", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnLine" + "$ref": "#\/components\/schemas\/usageSite" } } } @@ -60492,124 +59745,81 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateLineColumn", - "group": "columns", - "weight": 797, + "method": "getUsage", + "group": null, + "weight": 504, "cookies": false, "type": "", - "demo": "tablesdb\/update-line-column.md", + "demo": "sites\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } - } + "in": "query" } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext": { - "post": { - "summary": "Create longtext column", - "operationId": "tablesDBCreateLongtextColumn", + "\/sites\/{siteId}\/variables": { + "get": { + "summary": "List variables", + "operationId": "sitesListVariables", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a longtext column.\n", + "description": "Get a list of all variables of a specific site.", "responses": { - "202": { - "description": "ColumnLongtext", + "200": { + "description": "Variables List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnLongtext" + "$ref": "#\/components\/schemas\/variableList" } } } @@ -60617,28 +59827,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createLongtextColumn", - "group": "columns", - "weight": 814, + "method": "listVariables", + "group": "variables", + "weight": 498, "cookies": false, "type": "", - "demo": "tablesdb\/create-longtext-column.md", + "demo": "sites\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-longtext-column.md", "auth": { "Project": [] } @@ -60651,84 +59855,55 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", + "required": false, "schema": { - "type": "string", - "x-example": "<TABLE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } + ] + }, + "post": { + "summary": "Create variable", + "operationId": "sitesCreateVariable", + "tags": [ + "sites" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext\/{key}": { - "patch": { - "summary": "Update longtext column", - "operationId": "tablesDBUpdateLongtextColumn", - "tags": [ - "tablesDB" - ], - "description": "Update a longtext column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "responses": { - "200": { - "description": "ColumnLongtext", + "201": { + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnLongtext" + "$ref": "#\/components\/schemas\/variable" } } } @@ -60736,28 +59911,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateLongtextColumn", - "group": "columns", - "weight": 815, + "method": "createVariable", + "group": "variables", + "weight": 974, "cookies": false, "type": "", - "demo": "tablesdb\/update-longtext-column.md", + "demo": "sites\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-longtext-column.md", "auth": { "Project": [] } @@ -60770,31 +59939,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<SITE_ID>" }, "in": "path" } @@ -60805,27 +59955,31 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false + "variableId": { + "type": "string", + "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<VARIABLE_ID>" }, - "default": { + "key": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>" }, - "newKey": { + "value": { "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>" + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "x-example": false } }, "required": [ - "required", - "default" + "variableId", + "key", + "value" ] } } @@ -60833,21 +59987,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext": { - "post": { - "summary": "Create mediumtext column", - "operationId": "tablesDBCreateMediumtextColumn", + "\/sites\/{siteId}\/variables\/{variableId}": { + "get": { + "summary": "Get variable", + "operationId": "sitesGetVariable", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a mediumtext column.\n", + "description": "Get a variable by its unique ID.", "responses": { - "202": { - "description": "ColumnMediumtext", + "200": { + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnMediumtext" + "$ref": "#\/components\/schemas\/variable" } } } @@ -60855,28 +60009,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createMediumtextColumn", - "group": "columns", - "weight": 812, + "method": "getVariable", + "group": "variables", + "weight": 497, "cookies": false, "type": "", - "demo": "tablesdb\/create-mediumtext-column.md", + "demo": "sites\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-mediumtext-column.md", "auth": { "Project": [] } @@ -60889,84 +60037,41 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<VARIABLE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext\/{key}": { - "patch": { - "summary": "Update mediumtext column", - "operationId": "tablesDBUpdateMediumtextColumn", + ] + }, + "put": { + "summary": "Update variable", + "operationId": "sitesUpdateVariable", "tags": [ - "tablesDB" + "sites" ], - "description": "Update a mediumtext column. Changing the `default` value will not update already existing rows.\n", + "description": "Update variable by its unique ID.", "responses": { "200": { - "description": "ColumnMediumtext", + "description": "Variable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnMediumtext" + "$ref": "#\/components\/schemas\/variable" } } } @@ -60974,28 +60079,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMediumtextColumn", - "group": "columns", - "weight": 813, + "method": "updateVariable", + "group": "variables", + "weight": 499, "cookies": false, "type": "", - "demo": "tablesdb\/update-mediumtext-column.md", + "demo": "sites\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-mediumtext-column.md", "auth": { "Project": [] } @@ -61008,31 +60107,22 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<VARIABLE_ID>" }, "in": "path" } @@ -61043,78 +60133,60 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { + "key": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>", "x-nullable": true }, - "newKey": { + "value": { "type": "string", - "description": "New Column Key.", - "x-example": null, + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>", + "x-nullable": true + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "required", - "default" - ] + } } } } } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point": { - "post": { - "summary": "Create point column", - "operationId": "tablesDBCreatePointColumn", + }, + "delete": { + "summary": "Delete variable", + "operationId": "sitesDeleteVariable", "tags": [ - "tablesDB" + "sites" ], - "description": "Create a geometric point column.", + "description": "Delete a variable by its unique ID.", "responses": { - "202": { - "description": "ColumnPoint", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnPoint" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createPointColumn", - "group": "columns", - "weight": 798, + "method": "deleteVariable", + "group": "variables", + "weight": 500, "cookies": false, "type": "", - "demo": "tablesdb\/create-point-column.md", + "demo": "sites\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -61127,81 +60199,43 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<SITE_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<VARIABLE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "x-example": "[1, 2]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point\/{key}": { - "patch": { - "summary": "Update point column", - "operationId": "tablesDBUpdatePointColumn", + "\/storage\/buckets": { + "get": { + "summary": "List buckets", + "operationId": "storageListBuckets", "tags": [ - "tablesDB" + "storage" ], - "description": "Update a point column. Changing the `default` value will not update already existing rows.", + "description": "Get a list of all the storage buckets. You can use the query params to filter your results.", "responses": { "200": { - "description": "ColumnPoint", + "description": "Buckets List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnPoint" + "$ref": "#\/components\/schemas\/bucketList" } } } @@ -61209,28 +60243,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePointColumn", - "group": "columns", - "weight": 799, + "method": "listBuckets", + "group": "buckets", + "weight": 550, "cookies": false, "type": "", - "demo": "tablesdb\/update-point-column.md", + "demo": "storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "buckets.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -61243,33 +60272,88 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus, transformations", + "required": false, "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string" + "type": "boolean", + "x-example": false, + "default": true }, - "in": "path" + "in": "query" + } + ] + }, + "post": { + "summary": "Create bucket", + "operationId": "storageCreateBucket", + "tags": [ + "storage" + ], + "description": "Create a new storage bucket.", + "responses": { + "201": { + "description": "Bucket", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/bucket" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createBucket", + "group": "buckets", + "weight": 548, + "cookies": false, + "type": "", + "demo": "storage\/create-bucket.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "buckets.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] } ], "requestBody": { @@ -61278,33 +60362,80 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false + "bucketId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<BUCKET_ID>" }, - "default": { + "name": { + "type": "string", + "description": "Bucket name", + "x-example": "<NAME>" + }, + "permissions": { "type": "array", - "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "x-example": "[1, 2]", + "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", "items": { - "oneOf": [ - { - "type": "array" - } - ] + "type": "string" }, "x-nullable": true }, - "newKey": { - "type": "string", - "description": "New Column Key.", + "fileSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", + "x-example": false + }, + "maximumFileSize": { + "type": "integer", + "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", + "x-example": 1, + "format": "int32" + }, + "allowedFileExtensions": { + "type": "array", + "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", "x-example": null, - "x-nullable": true + "items": { + "type": "string" + } + }, + "compression": { + "type": "string", + "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", + "x-example": "none", + "enum": [ + "none", + "gzip", + "zstd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "encryption": { + "type": "boolean", + "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", + "x-example": false + }, + "antivirus": { + "type": "boolean", + "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", + "x-example": false + }, + "transformations": { + "type": "boolean", + "description": "Are image transformations enabled?", + "x-example": false } }, "required": [ - "required" + "bucketId", + "name" ] } } @@ -61312,21 +60443,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon": { - "post": { - "summary": "Create polygon column", - "operationId": "tablesDBCreatePolygonColumn", + "\/storage\/buckets\/{bucketId}": { + "get": { + "summary": "Get bucket", + "operationId": "storageGetBucket", "tags": [ - "tablesDB" + "storage" ], - "description": "Create a geometric polygon column.", + "description": "Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.", "responses": { - "202": { - "description": "ColumnPolygon", + "200": { + "description": "Bucket", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnPolygon" + "$ref": "#\/components\/schemas\/bucket" } } } @@ -61334,28 +60465,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createPolygonColumn", - "group": "columns", - "weight": 800, + "method": "getBucket", + "group": "buckets", + "weight": 549, "cookies": false, "type": "", - "demo": "tablesdb\/create-polygon-column.md", + "demo": "storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "buckets.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -61368,81 +60494,31 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "items": { - "oneOf": [ - { - "type": "array" - } - ] - }, - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon\/{key}": { - "patch": { - "summary": "Update polygon column", - "operationId": "tablesDBUpdatePolygonColumn", + ] + }, + "put": { + "summary": "Update bucket", + "operationId": "storageUpdateBucket", "tags": [ - "tablesDB" + "storage" ], - "description": "Update a polygon column. Changing the `default` value will not update already existing rows.", + "description": "Update a storage bucket by its unique ID.", "responses": { "200": { - "description": "ColumnPolygon", + "description": "Bucket", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnPolygon" + "$ref": "#\/components\/schemas\/bucket" } } } @@ -61450,28 +60526,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePolygonColumn", - "group": "columns", - "weight": 801, + "method": "updateBucket", + "group": "buckets", + "weight": 551, "cookies": false, "type": "", - "demo": "tablesdb\/update-polygon-column.md", + "demo": "storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "buckets.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -61484,31 +60555,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<BUCKET_ID>" }, "in": "path" } @@ -61519,84 +60571,111 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false + "name": { + "type": "string", + "description": "Bucket name", + "x-example": "<NAME>" }, - "default": { + "permissions": { "type": "array", - "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", "items": { - "oneOf": [ - { - "type": "array" - } - ] + "type": "string" }, "x-nullable": true }, - "newKey": { - "type": "string", - "description": "New Column Key.", + "fileSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", + "x-example": false + }, + "maximumFileSize": { + "type": "integer", + "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", + "x-example": 1, + "format": "int32" + }, + "allowedFileExtensions": { + "type": "array", + "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", "x-example": null, - "x-nullable": true + "items": { + "type": "string" + } + }, + "compression": { + "type": "string", + "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", + "x-example": "none", + "enum": [ + "none", + "gzip", + "zstd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "encryption": { + "type": "boolean", + "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", + "x-example": false + }, + "antivirus": { + "type": "boolean", + "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", + "x-example": false + }, + "transformations": { + "type": "boolean", + "description": "Are image transformations enabled?", + "x-example": false } }, "required": [ - "required" + "name" ] } } } } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/relationship": { - "post": { - "summary": "Create relationship column", - "operationId": "tablesDBCreateRelationshipColumn", + }, + "delete": { + "summary": "Delete bucket", + "operationId": "storageDeleteBucket", "tags": [ - "tablesDB" + "storage" ], - "description": "Create relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", + "description": "Delete a storage bucket by its unique ID.", "responses": { - "202": { - "description": "ColumnRelationship", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnRelationship" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createRelationshipColumn", - "group": "columns", - "weight": 802, + "method": "deleteBucket", + "group": "buckets", + "weight": 552, "cookies": false, "type": "", - "demo": "tablesdb\/create-relationship-column.md", + "demo": "storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "buckets.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -61609,138 +60688,59 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "relatedTableId": { - "type": "string", - "description": "Related Table ID.", - "x-example": "<RELATED_TABLE_ID>" - }, - "type": { - "type": "string", - "description": "Relation type", - "x-example": "oneToOne", - "enum": [ - "oneToOne", - "manyToOne", - "manyToMany", - "oneToMany" - ], - "x-enum-name": "RelationshipType", - "x-enum-keys": [] - }, - "twoWay": { - "type": "boolean", - "description": "Is Two Way?", - "x-example": false - }, - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null, - "x-nullable": true - }, - "twoWayKey": { - "type": "string", - "description": "Two Way Column Key.", - "x-example": null, - "x-nullable": true - }, - "onDelete": { - "type": "string", - "description": "Constraints option", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] - } - }, - "required": [ - "relatedTableId", - "type" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string": { - "post": { - "summary": "Create string column", - "operationId": "tablesDBCreateStringColumn", + "\/storage\/buckets\/{bucketId}\/files": { + "get": { + "summary": "List files", + "operationId": "storageListFiles", "tags": [ - "tablesDB" + "storage" ], - "description": "Create a string column.\n", + "description": "Get a list of all the user files. You can use the query params to filter your results.", "responses": { - "202": { - "description": "ColumnString", + "200": { + "description": "Files List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnString" + "$ref": "#\/components\/schemas\/fileList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createStringColumn", - "group": "columns", - "weight": 804, + "method": "listFiles", + "group": "files", + "weight": 555, "cookies": false, "type": "", - "demo": "tablesdb\/create-string-column.md", + "demo": "storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", - "deprecated": { - "since": "1.9.0", - "replaceWith": "tablesDB.createTextColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -61748,129 +60748,99 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "size": { - "type": "integer", - "description": "Column size for text columns, in number of characters.", - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "size", - "required" - ] - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string\/{key}": { - "patch": { - "summary": "Update string column", - "operationId": "tablesDBUpdateStringColumn", + ] + }, + "post": { + "summary": "Create file", + "operationId": "storageCreateFile", "tags": [ - "tablesDB" + "storage" ], - "description": "Update a string column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", "responses": { - "200": { - "description": "ColumnString", + "201": { + "description": "File", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnString" + "$ref": "#\/components\/schemas\/file" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateStringColumn", - "group": "columns", - "weight": 805, + "method": "createFile", + "group": "files", + "weight": 1260, "cookies": false, - "type": "", - "demo": "tablesdb\/update-string-column.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "type": "upload", + "demo": "storage\/create-file.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", + "scope": "files.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateTextColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -61878,74 +60848,54 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<BUCKET_ID>" }, "in": "path" } ], "requestBody": { "content": { - "application\/json": { + "multipart\/form-data": { "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { + "fileId": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the string column.", - "x-example": 1, - "format": "int32", - "x-nullable": true + "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<FILE_ID>", + "x-upload-id": true }, - "newKey": { + "file": { "type": "string", - "description": "New Column Key.", + "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", "x-example": null, + "format": "binary" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, "x-nullable": true } }, "required": [ - "required", - "default" + "fileId", + "file" ] } } @@ -61953,21 +60903,21 @@ } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text": { - "post": { - "summary": "Create text column", - "operationId": "tablesDBCreateTextColumn", + "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { + "get": { + "summary": "Get file", + "operationId": "storageGetFile", "tags": [ - "tablesDB" + "storage" ], - "description": "Create a text column.\n", + "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", "responses": { - "202": { - "description": "ColumnText", + "200": { + "description": "File", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnText" + "$ref": "#\/components\/schemas\/file" } } } @@ -61975,28 +60925,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTextColumn", - "group": "columns", - "weight": 810, + "method": "getFile", + "group": "files", + "weight": 554, "cookies": false, "type": "", - "demo": "tablesdb\/create-text-column.md", + "demo": "storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-text-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -62004,89 +60951,48 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "fileId", + "description": "File ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<FILE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text\/{key}": { - "patch": { - "summary": "Update text column", - "operationId": "tablesDBUpdateTextColumn", + ] + }, + "put": { + "summary": "Update file", + "operationId": "storageUpdateFile", "tags": [ - "tablesDB" + "storage" ], - "description": "Update a text column. Changing the `default` value will not update already existing rows.\n", + "description": "Update a file by its unique ID. Only users with write permissions have access to update this resource.", "responses": { "200": { - "description": "ColumnText", + "description": "File", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnText" + "$ref": "#\/components\/schemas\/file" } } } @@ -62094,28 +61000,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTextColumn", - "group": "columns", - "weight": 811, + "method": "updateFile", + "group": "files", + "weight": 556, "cookies": false, "type": "", - "demo": "tablesdb\/update-text-column.md", + "demo": "storage\/update-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-text-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -62123,36 +61026,29 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "fileId", + "description": "File ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<FILE_ID>" }, "in": "path" } @@ -62163,78 +61059,59 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { + "name": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "File name.", + "x-example": "<NAME>" }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, "x-nullable": true } - }, - "required": [ - "required", - "default" - ] + } } } } } - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url": { - "post": { - "summary": "Create URL column", - "operationId": "tablesDBCreateUrlColumn", + }, + "delete": { + "summary": "Delete file", + "operationId": "storageDeleteFile", "tags": [ - "tablesDB" + "storage" ], - "description": "Create a URL column.\n", + "description": "Delete a file by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { - "202": { - "description": "ColumnURL", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnUrl" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createUrlColumn", - "group": "columns", - "weight": 806, + "method": "deleteFile", + "group": "files", + "weight": 557, "cookies": false, "type": "", - "demo": "tablesdb\/create-url-column.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "demo": "storage\/delete-file.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "files.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -62242,114 +61119,69 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "fileId", + "description": "File ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<FILE_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url\/{key}": { - "patch": { - "summary": "Update URL column", - "operationId": "tablesDBUpdateUrlColumn", + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/download": { + "get": { + "summary": "Get file for download", + "operationId": "storageGetFileDownload", "tags": [ - "tablesDB" + "storage" ], - "description": "Update an url column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a file content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { "200": { - "description": "ColumnURL", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnUrl" - } - } - } + "description": "File" } }, "deprecated": false, "x-appwrite": { - "method": "updateUrlColumn", - "group": "columns", - "weight": 807, + "method": "getFileDownload", + "group": "files", + "weight": 559, "cookies": false, - "type": "", - "demo": "tablesdb\/update-url-column.md", + "type": "location", + "demo": "storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -62357,119 +61189,80 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "bucketId", + "description": "Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "fileId", + "description": "File ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<FILE_ID>" }, "in": "path" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "token", + "description": "File token for accessing this file.", + "required": false, "schema": { - "type": "string" + "type": "string", + "x-example": "<TOKEN>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar": { - "post": { - "summary": "Create varchar column", - "operationId": "tablesDBCreateVarcharColumn", + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/preview": { + "get": { + "summary": "Get file preview", + "operationId": "storageGetFilePreview", "tags": [ - "tablesDB" + "storage" ], - "description": "Create a varchar column.\n", + "description": "Get a file preview image. Currently, this method supports preview for image files (jpg, png, and gif), other supported formats, like pdf, docs, slides, and spreadsheets, will return the file icon image. You can also pass query string arguments for cutting and resizing your preview image. Preview is supported only for image files smaller than 10MB.", "responses": { - "202": { - "description": "ColumnVarchar", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnVarchar" - } - } - } + "200": { + "description": "Image" } }, "deprecated": false, "x-appwrite": { - "method": "createVarcharColumn", - "group": "columns", - "weight": 808, + "method": "getFilePreview", + "group": "files", + "weight": 558, "cookies": false, - "type": "", - "demo": "tablesdb\/create-varchar-column.md", + "type": "location", + "demo": "storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-varchar-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -62477,125 +61270,229 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "fileId", + "description": "File ID", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<FILE_ID>" }, "in": "path" + }, + { + "name": "width", + "description": "Resize preview image width, Pass an integer between 0 to 4000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + }, + { + "name": "height", + "description": "Resize preview image height, Pass an integer between 0 to 4000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + }, + { + "name": "gravity", + "description": "Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right", + "required": false, + "schema": { + "type": "string", + "x-example": "center", + "enum": [ + "center", + "top-left", + "top", + "top-right", + "left", + "right", + "bottom-left", + "bottom", + "bottom-right" + ], + "x-enum-name": "ImageGravity", + "x-enum-keys": [], + "default": "center" + }, + "in": "query" + }, + { + "name": "quality", + "description": "Preview image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": -1, + "default": -1 + }, + "in": "query" + }, + { + "name": "borderWidth", + "description": "Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + }, + { + "name": "borderColor", + "description": "Preview image border color. Use a valid HEX color, no # is needed for prefix.", + "required": false, + "schema": { + "type": "string", + "default": "" + }, + "in": "query" + }, + { + "name": "borderRadius", + "description": "Preview image border radius in pixels. Pass an integer between 0 to 4000.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + }, + { + "name": "opacity", + "description": "Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.", + "required": false, + "schema": { + "type": "number", + "format": "float", + "x-example": 0, + "default": 1 + }, + "in": "query" + }, + { + "name": "rotation", + "description": "Preview image rotation in degrees. Pass an integer between -360 and 360.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": -360, + "default": 0 + }, + "in": "query" + }, + { + "name": "background", + "description": "Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.", + "required": false, + "schema": { + "type": "string", + "default": "" + }, + "in": "query" + }, + { + "name": "output", + "description": "Output format type (jpeg, jpg, png, gif and webp).", + "required": false, + "schema": { + "type": "string", + "x-example": "jpg", + "enum": [ + "jpg", + "jpeg", + "png", + "webp", + "heic", + "avif", + "gif" + ], + "x-enum-name": "ImageFormat", + "x-enum-keys": [] + }, + "in": "query" + }, + { + "name": "token", + "description": "File token for accessing this file.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TOKEN>", + "default": "" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "x-example": null - }, - "size": { - "type": "integer", - "description": "Column size for varchar columns, in number of characters. Maximum size is 16381.", - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "x-example": false - } - }, - "required": [ - "key", - "size", - "required" - ] - } - } - } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar\/{key}": { - "patch": { - "summary": "Update varchar column", - "operationId": "tablesDBUpdateVarcharColumn", + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/view": { + "get": { + "summary": "Get file for view", + "operationId": "storageGetFileView", "tags": [ - "tablesDB" + "storage" ], - "description": "Update a varchar column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a file content by its unique ID. This endpoint is similar to the download method but returns with no 'Content-Disposition: attachment' header.", "responses": { "200": { - "description": "ColumnVarchar", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/columnVarchar" - } - } - } + "description": "File" } }, "deprecated": false, "x-appwrite": { - "method": "updateVarcharColumn", - "group": "columns", - "weight": 809, + "method": "getFileView", + "group": "files", + "weight": 560, "cookies": false, - "type": "", - "demo": "tablesdb\/update-varchar-column.md", + "type": "location", + "demo": "storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-varchar-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -62603,178 +61500,61 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "fileId", + "description": "File ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<FILE_ID>" }, "in": "path" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "token", + "description": "File token for accessing this file.", + "required": false, "schema": { - "type": "string" + "type": "string", + "x-example": "<TOKEN>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the varchar column.", - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } + "in": "query" } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}": { + "\/storage\/usage": { "get": { - "summary": "Get column", - "operationId": "tablesDBGetColumn", + "summary": "Get storage usage stats", + "operationId": "storageGetUsage", "tags": [ - "tablesDB" + "storage" ], - "description": "Get column by ID.", + "description": "Get usage metrics and statistics for all buckets in the project. You can view the total number of buckets, files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", "responses": { "200": { - "description": "ColumnBoolean, or ColumnInteger, or ColumnFloat, or ColumnEmail, or ColumnEnum, or ColumnURL, or ColumnIP, or ColumnDatetime, or ColumnRelationship, or ColumnString", + "description": "StorageUsage", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/columnBoolean" - }, - { - "$ref": "#\/components\/schemas\/columnInteger" - }, - { - "$ref": "#\/components\/schemas\/columnFloat" - }, - { - "$ref": "#\/components\/schemas\/columnEmail" - }, - { - "$ref": "#\/components\/schemas\/columnEnum" - }, - { - "$ref": "#\/components\/schemas\/columnUrl" - }, - { - "$ref": "#\/components\/schemas\/columnIp" - }, - { - "$ref": "#\/components\/schemas\/columnDatetime" - }, - { - "$ref": "#\/components\/schemas\/columnRelationship" - }, - { - "$ref": "#\/components\/schemas\/columnString" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "boolean": "#\/components\/schemas\/columnBoolean", - "integer": "#\/components\/schemas\/columnInteger", - "double": "#\/components\/schemas\/columnFloat", - "string": "#\/components\/schemas\/columnString", - "datetime": "#\/components\/schemas\/columnDatetime", - "relationship": "#\/components\/schemas\/columnRelationship" - }, - "x-propertyNames": [ - "type", - "format" - ], - "x-mapping": { - "#\/components\/schemas\/columnBoolean": { - "type": "boolean" - }, - "#\/components\/schemas\/columnInteger": { - "type": "integer" - }, - "#\/components\/schemas\/columnFloat": { - "type": "double" - }, - "#\/components\/schemas\/columnEmail": { - "type": "string", - "format": "email" - }, - "#\/components\/schemas\/columnEnum": { - "type": "string", - "format": "enum" - }, - "#\/components\/schemas\/columnUrl": { - "type": "string", - "format": "url" - }, - "#\/components\/schemas\/columnIp": { - "type": "string", - "format": "ip" - }, - "#\/components\/schemas\/columnDatetime": { - "type": "datetime" - }, - "#\/components\/schemas\/columnRelationship": { - "type": "relationship" - }, - "#\/components\/schemas\/columnString": { - "type": "string" - } - } - } + "$ref": "#\/components\/schemas\/usageStorage" } } } @@ -62782,164 +61562,155 @@ }, "deprecated": false, "x-appwrite": { - "method": "getColumn", - "group": "columns", - "weight": 777, + "method": "getUsage", + "group": null, + "weight": 562, "cookies": false, "type": "", - "demo": "tablesdb\/get-column.md", + "demo": "storage\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "columns.read", - "attributes.read" - ], + "scope": "files.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" + "in": "query" } ] - }, - "delete": { - "summary": "Delete column", - "operationId": "tablesDBDeleteColumn", + } + }, + "\/storage\/{bucketId}\/usage": { + "get": { + "summary": "Get bucket usage stats", + "operationId": "storageGetBucketUsage", "tags": [ - "tablesDB" + "storage" ], - "description": "Deletes a column.", + "description": "Get usage metrics and statistics a specific bucket in the project. You can view the total number of files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "UsageBuckets", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageBuckets" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteColumn", - "group": "columns", - "weight": 778, + "method": "getBucketUsage", + "group": null, + "weight": 563, "cookies": false, "type": "", - "demo": "tablesdb\/delete-column.md", + "demo": "storage\/get-bucket-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "files.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Bucket ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<BUCKET_ID>" }, "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, - "in": "path" + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}\/relationship": { - "patch": { - "summary": "Update relationship column", - "operationId": "tablesDBUpdateRelationshipColumn", + "\/tablesdb": { + "get": { + "summary": "List databases", + "operationId": "tablesDBList", "tags": [ "tablesDB" ], - "description": "Update relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "ColumnRelationship", + "description": "Databases List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnRelationship" + "$ref": "#\/components\/schemas\/databaseList" } } } @@ -62947,28 +61718,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRelationshipColumn", - "group": "columns", - "weight": 803, + "method": "list", + "group": "tablesdb", + "weight": 780, "cookies": false, "type": "", - "demo": "tablesdb\/update-relationship-column.md", + "demo": "tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "databases.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -62981,33 +61747,88 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, "schema": { - "type": "string" + "type": "boolean", + "x-example": false, + "default": true }, - "in": "path" + "in": "query" + } + ] + }, + "post": { + "summary": "Create database", + "operationId": "tablesDBCreate", + "tags": [ + "tablesDB" + ], + "description": "Create a new Database.\n", + "responses": { + "201": { + "description": "Database", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/database" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "create", + "group": "tablesdb", + "weight": 776, + "cookies": false, + "type": "", + "demo": "tablesdb\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] } ], "requestBody": { @@ -63016,47 +61837,47 @@ "schema": { "type": "object", "properties": { - "onDelete": { + "databaseId": { "type": "string", - "description": "Constraints option", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [], - "x-nullable": true + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" }, - "newKey": { + "name": { "type": "string", - "description": "New Column Key.", - "x-example": null, - "x-nullable": true + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false } - } + }, + "required": [ + "databaseId", + "name" + ] } } } } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes": { + "\/tablesdb\/transactions": { "get": { - "summary": "List indexes", - "operationId": "tablesDBListIndexes", + "summary": "List transactions", + "operationId": "tablesDBListTransactions", "tags": [ "tablesDB" ], - "description": "List indexes on the table.", + "description": "List transactions across all databases.", "responses": { "200": { - "description": "Column Indexes List", + "description": "Transaction List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnIndexList" + "$ref": "#\/components\/schemas\/transactionList" } } } @@ -63064,27 +61885,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 819, + "method": "listTransactions", + "group": "transactions", + "weight": 849, "cookies": false, "type": "", - "demo": "tablesdb\/list-indexes.md", + "demo": "tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read", - "indexes.read" + "documents.read", + "rows.read" ], "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -63092,33 +61914,15 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, status, attributes, error", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", "required": false, "schema": { "type": "array", @@ -63128,34 +61932,23 @@ "default": [] }, "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } ] }, "post": { - "summary": "Create index", - "operationId": "tablesDBCreateIndex", + "summary": "Create transaction", + "operationId": "tablesDBCreateTransaction", "tags": [ "tablesDB" ], - "description": "Creates an index on the columns listed. Your index should include all the columns you will query in a single request.\nType can be `key`, `fulltext`, or `unique`.", + "description": "Create a new transaction.", "responses": { - "202": { - "description": "Index", + "201": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnIndex" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -63163,27 +61956,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 816, + "method": "createTransaction", + "group": "transactions", + "weight": 845, "cookies": false, "type": "", - "demo": "tablesdb\/create-index.md", + "demo": "tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.write", - "collections.write", - "indexes.write" + "documents.write", + "rows.write" ], "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -63191,29 +61985,9 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" + "Key": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -63222,81 +61996,34 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Index Key.", - "x-example": null - }, - "type": { - "type": "string", - "description": "Index type.", - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique", - "spatial" - ], - "x-enum-name": "TablesDBIndexType", - "x-enum-keys": [] - }, - "columns": { - "type": "array", - "description": "Array of columns to index. Maximum of 100 columns are allowed, each 32 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } - }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "x-example": null, - "items": { - "type": "integer" - } + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "format": "int32" } - }, - "required": [ - "key", - "type", - "columns" - ] + } } } } } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes\/{key}": { + "\/tablesdb\/transactions\/{transactionId}": { "get": { - "summary": "Get index", - "operationId": "tablesDBGetIndex", + "summary": "Get transaction", + "operationId": "tablesDBGetTransaction", "tags": [ "tablesDB" ], - "description": "Get index by ID.", + "description": "Get a transaction by its unique ID.", "responses": { "200": { - "description": "Index", + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/columnIndex" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -63304,27 +62031,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 817, + "method": "getTransaction", + "group": "transactions", + "weight": 846, "cookies": false, "type": "", - "demo": "tablesdb\/get-index.md", + "demo": "tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read", - "indexes.read" + "documents.read", + "rows.read" ], "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -63332,76 +62060,67 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } ] }, - "delete": { - "summary": "Delete index", - "operationId": "tablesDBDeleteIndex", + "patch": { + "summary": "Update transaction", + "operationId": "tablesDBUpdateTransaction", "tags": [ "tablesDB" ], - "description": "Delete an index.", + "description": "Update a transaction, to either commit or roll back its operations.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 818, + "method": "updateTransaction", + "group": "transactions", + "weight": 847, "cookies": false, "type": "", - "demo": "tablesdb\/delete-index.md", + "demo": "tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.write", - "collections.write", - "indexes.write" + "documents.write", + "rows.write" ], "platforms": [ "console", + "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -63409,144 +62128,122 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<TRANSACTION_ID>" }, "in": "path" } - ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/logs": { - "get": { - "summary": "List table logs", - "operationId": "tablesDBListTableLogs", - "tags": [ - "tablesDB" ], - "description": "Get the table activity logs list by its unique ID.", - "responses": { - "200": { - "description": "Logs List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/logList" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false + }, + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false + } } } } } + } + }, + "delete": { + "summary": "Delete transaction", + "operationId": "tablesDBDeleteTransaction", + "tags": [ + "tablesDB" + ], + "description": "Delete a transaction by its unique ID.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "listTableLogs", - "group": "tables", - "weight": 775, + "method": "deleteTransaction", + "group": "transactions", + "weight": 848, "cookies": false, "type": "", - "demo": "tablesdb\/list-table-logs.md", + "demo": "tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read" + "documents.write", + "rows.write" ], "platforms": [ - "console" + "console", + "server", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<TRANSACTION_ID>" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows": { - "get": { - "summary": "List rows", - "operationId": "tablesDBListRows", + "\/tablesdb\/transactions\/{transactionId}\/operations": { + "post": { + "summary": "Create operations", + "operationId": "tablesDBCreateOperations", "tags": [ "tablesDB" ], - "description": "Get a list of all the user's rows in a given table. You can use the query params to filter your results.", + "description": "Create multiple operations in a single transaction.", "responses": { - "200": { - "description": "Rows List", + "201": { + "description": "Transaction", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/rowList" + "$ref": "#\/components\/schemas\/transaction" } } } @@ -63554,28 +62251,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRows", - "group": "rows", - "weight": 907, + "method": "createOperations", + "group": "transactions", + "weight": 850, "cookies": false, "type": "", - "demo": "tablesdb\/list-rows.md", + "demo": "tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.read", - "documents.read" + "documents.write", + "rows.write" ], "platforms": [ "console", - "client", "server", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -63583,94 +62280,59 @@ "security": [ { "Project": [], - "Session": [], "Key": [], + "Session": [], "JWT": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/products\/databases\/tables#create-table).", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, { "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, + "description": "Transaction ID.", + "required": true, "schema": { "type": "string", "x-example": "<TRANSACTION_ID>" }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, table, schema version (columns and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; row writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 - }, - "in": "query" + "in": "path" } - ] - }, - "post": { - "summary": "Create row", - "operationId": "tablesDBCreateRow", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "items": { + "type": "object" + } + } + } + } + } + } + } + } + }, + "\/tablesdb\/usage": { + "get": { + "summary": "Get TablesDB usage stats", + "operationId": "tablesDBListUsage", "tags": [ "tablesDB" ], - "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "Row", + "200": { + "description": "UsageDatabases", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/row" + "$ref": "#\/components\/schemas\/usageDatabases" } } } @@ -63678,89 +62340,122 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRow", - "group": "rows", - "weight": 820, + "method": "listUsage", + "group": null, + "weight": 782, "cookies": false, "type": "", - "demo": "tablesdb\/create-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/list-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.read", + "collections.read" ], "platforms": [ - "console", - "client", - "server", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { - "name": "createRow", + "name": "listUsage", "namespace": "tablesDB", - "desc": "Create row", + "desc": "", "auth": { "Project": [] }, "parameters": [ - "databaseId", - "tableId", - "rowId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rowId", - "data" + "range" ], + "required": [], "responses": [ { - "code": 201, - "model": "#\/components\/schemas\/row" + "code": 200, + "model": "#\/components\/schemas\/usageDatabases" } ], - "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/create-row.md", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "tablesdb\/list-usage.md", "public": true - }, - { - "name": "createRows", - "namespace": "tablesDB", - "desc": "Create rows", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rows", - "transactionId" + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" ], - "required": [ - "databaseId", - "tableId", - "rows" + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/rowList" + "default": "30d" + }, + "in": "query" + } + ] + } + }, + "\/tablesdb\/{databaseId}": { + "get": { + "summary": "Get database", + "operationId": "tablesDBGet", + "tags": [ + "tablesDB" + ], + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "responses": { + "200": { + "description": "Database", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/database" } - ], - "description": "Create new Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/create-rows.md", - "public": true + } } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "tablesdb", + "weight": 777, + "cookies": false, + "type": "", + "demo": "tablesdb\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", + "platforms": [ + "console", + "server" ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -63768,9 +62463,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -63783,77 +62476,23 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable). Make sure to define columns before creating rows.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "rowId": { - "type": "string", - "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<ROW_ID>" - }, - "data": { - "type": "object", - "description": "Row data as JSON object.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "rows": { - "type": "array", - "description": "Array of rows data as JSON objects.", - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } - } - } - } + ] }, "put": { - "summary": "Upsert rows", - "operationId": "tablesDBUpsertRows", + "summary": "Update database", + "operationId": "tablesDBUpdate", "tags": [ "tablesDB" ], - "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", + "description": "Update a database by its unique ID.", "responses": { - "201": { - "description": "Rows List", + "200": { + "description": "Database", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/rowList" + "$ref": "#\/components\/schemas\/database" } } } @@ -63861,56 +62500,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "upsertRows", - "group": "rows", - "weight": 825, + "method": "update", + "group": "tablesdb", + "weight": 778, "cookies": false, "type": "", - "demo": "tablesdb\/upsert-rows.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "demo": "tablesdb\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", - "methods": [ - { - "name": "upsertRows", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rows", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rows" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/rowList" - } - ], - "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", - "demo": "tablesdb\/upsert-rows.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -63931,16 +62537,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" } ], "requestBody": { @@ -63949,43 +62545,92 @@ "schema": { "type": "object", "properties": { - "rows": { - "type": "array", - "description": "Array of row data as JSON objects. May contain partial rows.", - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { + "name": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false } - }, - "required": [ - "rows" - ] + } } } } } }, - "patch": { - "summary": "Update rows", - "operationId": "tablesDBUpdateRows", + "delete": { + "summary": "Delete database", + "operationId": "tablesDBDelete", "tags": [ "tablesDB" ], - "description": "Update all rows that match your queries, if no queries are submitted then all rows are updated. You can pass only specific fields to be updated.", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "tablesdb", + "weight": 779, + "cookies": false, + "type": "", + "demo": "tablesdb\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ] + } + }, + "\/tablesdb\/{databaseId}\/tables": { + "get": { + "summary": "List tables", + "operationId": "tablesDBListTables", + "tags": [ + "tablesDB" + ], + "description": "Get a list of all tables that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "Rows List", + "description": "Tables List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/rowList" + "$ref": "#\/components\/schemas\/tableList" } } } @@ -63993,18 +62638,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRows", - "group": "rows", - "weight": 823, + "method": "listTables", + "group": "tables", + "weight": 787, "cookies": false, "type": "", - "demo": "tablesdb\/update-rows.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/list-tables.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.read", + "collections.read" ], "platforms": [ "console", @@ -64012,7 +62657,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -64035,61 +62680,56 @@ "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name, enabled, rowSecurity", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TABLE_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include only column and value pairs to be updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] }, - "delete": { - "summary": "Delete rows", - "operationId": "tablesDBDeleteRows", + "post": { + "summary": "Create table", + "operationId": "tablesDBCreateTable", "tags": [ "tablesDB" ], - "description": "Bulk delete rows using queries, if no queries are passed then all rows are deleted.", + "description": "Create a new Table. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { - "200": { - "description": "Rows List", + "201": { + "description": "Table", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/rowList" + "$ref": "#\/components\/schemas\/table" } } } @@ -64097,18 +62737,18 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteRows", - "group": "rows", - "weight": 827, + "method": "createTable", + "group": "tables", + "weight": 783, "cookies": false, "type": "", - "demo": "tablesdb\/delete-rows.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/create-table.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.write", + "collections.write" ], "platforms": [ "console", @@ -64116,7 +62756,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -64137,16 +62777,6 @@ "x-example": "<DATABASE_ID>" }, "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "schema": { - "type": "string", - "x-example": "<TABLE_ID>" - }, - "in": "path" } ], "requestBody": { @@ -64155,42 +62785,77 @@ "schema": { "type": "object", "properties": { - "queries": { + "tableId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TABLE_ID>" + }, + "name": { + "type": "string", + "description": "Table name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" + }, + "x-nullable": true + }, + "rowSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", + "x-example": false + }, + "columns": { + "type": "array", + "description": "Array of column definitions to create. Each column should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", + "x-example": null, + "items": { + "type": "object" } }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of column keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "items": { + "type": "object" + } } - } + }, + "required": [ + "tableId", + "name" + ] } } } } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}": { "get": { - "summary": "Get row", - "operationId": "tablesDBGetRow", + "summary": "Get table", + "operationId": "tablesDBGetTable", "tags": [ "tablesDB" ], - "description": "Get a row by its unique ID. This endpoint response returns a JSON object with the row data.", + "description": "Get a table by its unique ID. This endpoint response returns a JSON object with the table metadata.", "responses": { "200": { - "description": "Row", + "description": "Table", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/row" + "$ref": "#\/components\/schemas\/table" } } } @@ -64198,28 +62863,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "getRow", - "group": "rows", - "weight": 821, + "method": "getTable", + "group": "tables", + "weight": 784, "cookies": false, "type": "", - "demo": "tablesdb\/get-row.md", + "demo": "tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.read", - "documents.read" + "tables.read", + "collections.read" ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -64227,9 +62890,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -64245,63 +62906,30 @@ }, { "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "description": "Table ID.", "required": true, "schema": { "type": "string", "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "query" } ] }, "put": { - "summary": "Upsert a row", - "operationId": "tablesDBUpsertRow", + "summary": "Update table", + "operationId": "tablesDBUpdateTable", "tags": [ "tablesDB" ], - "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "Update a table by its unique ID.", "responses": { - "201": { - "description": "Row", + "200": { + "description": "Table", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/row" + "$ref": "#\/components\/schemas\/table" } } } @@ -64309,60 +62937,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "upsertRow", - "group": "rows", - "weight": 824, + "method": "updateTable", + "group": "tables", + "weight": 785, "cookies": false, "type": "", - "demo": "tablesdb\/upsert-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/update-table.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.write", + "collections.write" ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", - "methods": [ - { - "name": "upsertRow", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rowId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rowId" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/row" - } - ], - "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/upsert-row.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -64370,9 +62964,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -64395,16 +62987,6 @@ "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" } ], "requestBody": { @@ -64413,25 +62995,34 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "name": { + "type": "string", + "description": "Table name. Max length: 128 chars.", + "x-example": "<NAME>" }, "permissions": { "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" }, "x-nullable": true }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "rowSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", + "x-example": false + }, + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this table as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false } } } @@ -64439,49 +63030,40 @@ } } }, - "patch": { - "summary": "Update row", - "operationId": "tablesDBUpdateRow", + "delete": { + "summary": "Delete table", + "operationId": "tablesDBDeleteTable", "tags": [ "tablesDB" ], - "description": "Update a row by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Delete a table by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { - "200": { - "description": "Row", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/row" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateRow", - "group": "rows", - "weight": 822, + "method": "deleteTable", + "group": "tables", + "weight": 786, "cookies": false, "type": "", - "demo": "tablesdb\/update-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/delete-table.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.write", + "collections.write" ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -64489,9 +63071,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -64514,86 +63094,54 @@ "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include only columns and value pairs to be updated.", - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } - } } - } - }, - "delete": { - "summary": "Delete row", - "operationId": "tablesDBDeleteRow", + ] + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns": { + "get": { + "summary": "List columns", + "operationId": "tablesDBListColumns", "tags": [ "tablesDB" ], - "description": "Delete a row by its unique ID.", + "description": "List columns in the table.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Columns List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRow", - "group": "rows", - "weight": 826, + "method": "listColumns", + "group": "columns", + "weight": 792, "cookies": false, "type": "", - "demo": "tablesdb\/delete-row.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/list-columns.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.read", + "collections.read", + "columns.read", + "attributes.read" ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -64601,9 +63149,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -64619,7 +63165,7 @@ }, { "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "description": "Table ID.", "required": true, "schema": { "type": "string", @@ -64628,50 +63174,47 @@ "in": "path" }, { - "name": "rowId", - "description": "Row ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, size, required, array, status, error", + "required": false, "schema": { - "type": "string", - "x-example": "<ROW_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/logs": { - "get": { - "summary": "List row logs", - "operationId": "tablesDBListRowLogs", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint": { + "post": { + "summary": "Create bigint column", + "operationId": "tablesDBCreateBigIntColumn", "tags": [ "tablesDB" ], - "description": "Get the row activity logs list by its unique ID.", + "description": "Create a bigint column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Logs List", + "202": { + "description": "ColumnBigInt", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/columnBigint" } } } @@ -64679,32 +63222,36 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRowLogs", - "group": "logs", - "weight": 829, + "method": "createBigIntColumn", + "group": "columns", + "weight": 805, "cookies": false, "type": "", - "demo": "tablesdb\/list-row-logs.md", + "demo": "tablesdb\/create-big-int-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.read", - "documents.read" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-bigint-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -64727,48 +63274,76 @@ "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/decrement": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint\/{key}": { "patch": { - "summary": "Decrement row column", - "operationId": "tablesDBDecrementRowColumn", + "summary": "Update bigint column", + "operationId": "tablesDBUpdateBigIntColumn", "tags": [ "tablesDB" ], - "description": "Decrement a specific column of a row by a given value.", + "description": "Update a bigint column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Row", + "description": "ColumnBigInt", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/row" + "$ref": "#\/components\/schemas\/columnBigint" } } } @@ -64776,28 +63351,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "decrementRowColumn", - "group": "rows", - "weight": 831, + "method": "updateBigIntColumn", + "group": "columns", + "weight": 806, "cookies": false, "type": "", - "demo": "tablesdb\/decrement-row-column.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/update-big-int-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ - "client", - "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-bigint-column.md", "auth": { "Project": [] } @@ -64805,8 +63380,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -64832,18 +63405,8 @@ "in": "path" }, { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" - }, - { - "name": "column", - "description": "Column key.", + "name": "key", + "description": "Column Key.", "required": true, "schema": { "type": "string" @@ -64857,47 +63420,64 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the column by. The value must be a number.", - "x-example": null, - "format": "float" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, "min": { - "type": "number", - "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", + "type": "integer", + "description": "Minimum value", "x-example": null, - "format": "float", + "format": "int64", "x-nullable": true }, - "transactionId": { + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "description": "New Column Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/increment": { - "patch": { - "summary": "Increment row column", - "operationId": "tablesDBIncrementRowColumn", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean": { + "post": { + "summary": "Create boolean column", + "operationId": "tablesDBCreateBooleanColumn", "tags": [ "tablesDB" ], - "description": "Increment a specific column of a row by a given value.", + "description": "Create a boolean column.\n", "responses": { - "200": { - "description": "Row", + "202": { + "description": "ColumnBoolean", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/row" + "$ref": "#\/components\/schemas\/columnBoolean" } } } @@ -64905,28 +63485,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "incrementRowColumn", - "group": "rows", - "weight": 830, + "method": "createBooleanColumn", + "group": "columns", + "weight": 793, "cookies": false, "type": "", - "demo": "tablesdb\/increment-row-column.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/create-boolean-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ - "client", - "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -64934,8 +63514,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -64952,32 +63530,13 @@ }, { "name": "tableId", - "description": "Table ID.", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "schema": { "type": "string", "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<ROW_ID>" - }, - "in": "path" - }, - { - "name": "column", - "description": "Column key.", - "required": true, - "schema": { - "type": "string" - }, - "in": "path" } ], "requestBody": { @@ -64986,47 +63545,53 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the column by. The value must be a number.", - "x-example": null, - "format": "float" + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null }, - "max": { - "type": "number", - "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null, - "format": "float", - "x-nullable": true + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>", + "default": { + "type": "boolean", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": false, "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false } - } + }, + "required": [ + "key", + "required" + ] } } } } } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/usage": { - "get": { - "summary": "Get table usage stats", - "operationId": "tablesDBGetTableUsage", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean\/{key}": { + "patch": { + "summary": "Update boolean column", + "operationId": "tablesDBUpdateBooleanColumn", "tags": [ "tablesDB" ], - "description": "Get usage metrics and statistics for a table. Returning the total number of rows. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Update a boolean column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "UsageTable", + "description": "ColumnBoolean", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageTable" + "$ref": "#\/components\/schemas\/columnBoolean" } } } @@ -65034,32 +63599,36 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTableUsage", - "group": null, - "weight": 776, + "method": "updateBooleanColumn", + "group": "columns", + "weight": 794, "cookies": false, "type": "", - "demo": "tablesdb\/get-table-usage.md", + "demo": "tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -65074,55 +63643,74 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "key", + "description": "Column Key.", "required": true, "schema": { - "type": "string", - "x-example": "<TABLE_ID>" + "type": "string" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "boolean", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": false, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } } }, - "\/tablesdb\/{databaseId}\/usage": { - "get": { - "summary": "Get TablesDB usage stats", - "operationId": "tablesDBGetUsage", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime": { + "post": { + "summary": "Create datetime column", + "operationId": "tablesDBCreateDatetimeColumn", "tags": [ "tablesDB" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a date time column according to the ISO 8601 standard.", "responses": { - "200": { - "description": "UsageDatabase", + "202": { + "description": "ColumnDatetime", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageDatabase" + "$ref": "#\/components\/schemas\/columnDatetime" } } } @@ -65130,58 +63718,36 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 768, + "method": "createDatetimeColumn", + "group": "columns", + "weight": 795, "cookies": false, "type": "", - "demo": "tablesdb\/get-usage.md", + "demo": "tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", - "methods": [ - { - "name": "getUsage", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageDatabase" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "tablesdb\/get-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -65196,45 +63762,70 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for the column in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when column is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/teams": { - "get": { - "summary": "List teams", - "operationId": "teamsList", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime\/{key}": { + "patch": { + "summary": "Update dateTime column", + "operationId": "tablesDBUpdateDatetimeColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", + "description": "Update a date time column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "Teams List", + "description": "ColumnDatetime", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/teamList" + "$ref": "#\/components\/schemas\/columnDatetime" } } } @@ -65242,25 +63833,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "teams", - "weight": 524, + "method": "updateDatetimeColumn", + "group": "columns", + "weight": 796, "cookies": false, "type": "", - "demo": "teams\/list.md", + "demo": "tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -65268,63 +63862,90 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Column Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email": { "post": { - "summary": "Create team", - "operationId": "teamsCreate", + "summary": "Create email column", + "operationId": "tablesDBCreateEmailColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.", + "description": "Create an email column.\n", "responses": { - "201": { - "description": "Team", + "202": { + "description": "ColumnEmail", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/team" + "$ref": "#\/components\/schemas\/columnEmail" } } } @@ -65332,25 +63953,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "teams", - "weight": 522, + "method": "createEmailColumn", + "group": "columns", + "weight": 797, "cookies": false, "type": "", - "demo": "teams\/create.md", + "demo": "tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -65358,9 +63982,29 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" } ], "requestBody": { @@ -65369,28 +64013,32 @@ "schema": { "type": "object", "properties": { - "teamId": { + "key": { "type": "string", - "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<TEAM_ID>" + "description": "Column Key.", + "x-example": null }, - "name": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Team name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true }, - "roles": { - "type": "array", - "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", - "x-example": null, - "items": { - "type": "string" - } + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false } }, "required": [ - "teamId", - "name" + "key", + "required" ] } } @@ -65398,21 +64046,21 @@ } } }, - "\/teams\/{teamId}": { - "get": { - "summary": "Get team", - "operationId": "teamsGet", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email\/{key}": { + "patch": { + "summary": "Update email column", + "operationId": "tablesDBUpdateEmailColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Get a team by its ID. All team members have read access for this resource.", + "description": "Update an email column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Team", + "description": "ColumnEmail", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/team" + "$ref": "#\/components\/schemas\/columnEmail" } } } @@ -65420,25 +64068,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "teams", - "weight": 523, + "method": "updateEmailColumn", + "group": "columns", + "weight": 798, "cookies": false, "type": "", - "demo": "teams\/get.md", + "demo": "tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -65446,84 +64097,36 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ] - }, - "put": { - "summary": "Update name", - "operationId": "teamsUpdateName", - "tags": [ - "teams" - ], - "description": "Update the team's name by its unique ID.", - "responses": { - "200": { - "description": "Team", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/team" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updateName", - "group": "teams", - "weight": 526, - "cookies": false, - "type": "", - "demo": "teams\/update-name.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", - "platforms": [ - "console", - "client", - "server", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ + }, { - "name": "teamId", - "description": "Team ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -65534,94 +64137,50 @@ "schema": { "type": "object", "properties": { - "name": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "New team name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "name" + "required", + "default" ] } } } } - }, - "delete": { - "summary": "Delete team", - "operationId": "teamsDelete", - "tags": [ - "teams" - ], - "description": "Delete a team using its ID. Only team members with the owner role can delete the team.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "delete", - "group": "teams", - "weight": 525, - "cookies": false, - "type": "", - "demo": "teams\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", - "platforms": [ - "console", - "client", - "server", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "teamId", - "description": "Team ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TEAM_ID>" - }, - "in": "path" - } - ] } }, - "\/teams\/{teamId}\/logs": { - "get": { - "summary": "List team logs", - "operationId": "teamsListLogs", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum": { + "post": { + "summary": "Create enum column", + "operationId": "tablesDBCreateEnumColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Get the team activity logs list by its unique ID.", + "description": "Create an enumeration column. The `elements` param acts as a white-list of accepted values for this column.", "responses": { - "200": { - "description": "Logs List", + "202": { + "description": "ColumnEnum", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/columnEnum" } } } @@ -65629,84 +64188,122 @@ }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 535, + "method": "createEnumColumn", + "group": "columns", + "weight": 799, "cookies": false, "type": "", - "demo": "teams\/list-logs.md", + "demo": "tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "elements": { + "type": "array", + "description": "Array of enum values.", + "x-example": null, + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "elements", + "required" + ] + } + } + } + } } }, - "\/teams\/{teamId}\/memberships": { - "get": { - "summary": "List team memberships", - "operationId": "teamsListMemberships", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum\/{key}": { + "patch": { + "summary": "Update enum column", + "operationId": "tablesDBUpdateEnumColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.", + "description": "Update an enum column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Memberships List", + "description": "ColumnEnum", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/membershipList" + "$ref": "#\/components\/schemas\/columnEnum" } } } @@ -65714,25 +64311,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listMemberships", - "group": "memberships", - "weight": 531, + "method": "updateEnumColumn", + "group": "columns", + "weight": 800, "cookies": false, "type": "", - "demo": "teams\/list-memberships.md", + "demo": "tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -65740,119 +64340,36 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - } - ] - }, - "post": { - "summary": "Create team membership", - "operationId": "teamsCreateMembership", - "tags": [ - "teams" - ], - "description": "Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team.\n\nYou only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters.\n\nUse the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. \n\nPlease note that to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.\n", - "responses": { - "201": { - "description": "Membership", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/membership" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createMembership", - "group": "memberships", - "weight": 529, - "cookies": false, - "type": "", - "demo": "teams\/create-membership.md", - "rate-limit": 10, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", - "platforms": [ - "console", - "client", - "server", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "teamId", - "description": "Team ID.", + "name": "key", + "description": "Column Key.", "required": true, "schema": { - "type": "string", - "x-example": "<TEAM_ID>" + "type": "string" }, "in": "path" } @@ -65863,45 +64380,36 @@ "schema": { "type": "object", "properties": { - "email": { - "type": "string", - "description": "Email of the new team member.", - "x-example": "email@example.com", - "format": "email" - }, - "userId": { - "type": "string", - "description": "ID of the user to be added to a team.", - "x-example": "<USER_ID>" - }, - "phone": { - "type": "string", - "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone" - }, - "roles": { + "elements": { "type": "array", - "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "description": "Updated list of enum values.", "x-example": null, "items": { "type": "string" } }, - "url": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "x-example": "https:\/\/example.com", - "format": "url" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "Name of the new team member. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "roles" + "elements", + "required", + "default" ] } } @@ -65909,21 +64417,21 @@ } } }, - "\/teams\/{teamId}\/memberships\/{membershipId}": { - "get": { - "summary": "Get team membership", - "operationId": "teamsGetMembership", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float": { + "post": { + "summary": "Create float column", + "operationId": "tablesDBCreateFloatColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.", + "description": "Create a float column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Membership", + "202": { + "description": "ColumnFloat", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/membership" + "$ref": "#\/components\/schemas\/columnFloat" } } } @@ -65931,25 +64439,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "getMembership", - "group": "memberships", - "weight": 530, + "method": "createFloatColumn", + "group": "columns", + "weight": 801, "cookies": false, "type": "", - "demo": "teams\/get-membership.md", + "demo": "tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -65957,48 +64468,99 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<MEMBERSHIP_ID>" + "x-example": "<TABLE_ID>" }, "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float\/{key}": { "patch": { - "summary": "Update team membership", - "operationId": "teamsUpdateMembership", + "summary": "Update float column", + "operationId": "tablesDBUpdateFloatColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions).\n", + "description": "Update a float column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Membership", + "description": "ColumnFloat", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/membership" + "$ref": "#\/components\/schemas\/columnFloat" } } } @@ -66006,25 +64568,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMembership", - "group": "memberships", - "weight": 532, + "method": "updateFloatColumn", + "group": "columns", + "weight": 802, "cookies": false, "type": "", - "demo": "teams\/update-membership.md", + "demo": "tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -66032,29 +64597,36 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<MEMBERSHIP_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -66065,56 +64637,93 @@ "schema": { "type": "object", "properties": { - "roles": { - "type": "array", - "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value", "x-example": null, - "items": { - "type": "string" - } + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "roles" + "required", + "default" ] } } } } - }, - "delete": { - "summary": "Delete team membership", - "operationId": "teamsDeleteMembership", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer": { + "post": { + "summary": "Create integer column", + "operationId": "tablesDBCreateIntegerColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.", + "description": "Create an integer column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "ColumnInteger", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnInteger" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteMembership", - "group": "memberships", - "weight": 1196, + "method": "createIntegerColumn", + "group": "columns", + "weight": 803, "cookies": false, "type": "", - "demo": "teams\/delete-membership.md", + "demo": "tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -66122,50 +64731,99 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<MEMBERSHIP_ID>" + "x-example": "<TABLE_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/teams\/{teamId}\/memberships\/{membershipId}\/status": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer\/{key}": { "patch": { - "summary": "Update team membership status", - "operationId": "teamsUpdateMembershipStatus", + "summary": "Update integer column", + "operationId": "tablesDBUpdateIntegerColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.\n\nIf the request is successful, a session for the user is automatically created.\n", + "description": "Update an integer column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Membership", + "description": "ColumnInteger", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/membership" + "$ref": "#\/components\/schemas\/columnInteger" } } } @@ -66173,24 +64831,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateMembershipStatus", - "group": "memberships", - "weight": 534, + "method": "updateIntegerColumn", + "group": "columns", + "weight": 804, "cookies": false, "type": "", - "demo": "teams\/update-membership-status.md", + "demo": "tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -66198,28 +64860,36 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<MEMBERSHIP_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -66230,20 +64900,42 @@ "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "<USER_ID>" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "secret": { + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Secret key.", - "x-example": "<SECRET>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "secret" + "required", + "default" ] } } @@ -66251,21 +64943,21 @@ } } }, - "\/teams\/{teamId}\/prefs": { - "get": { - "summary": "Get team preferences", - "operationId": "teamsGetPrefs", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip": { + "post": { + "summary": "Create IP address column", + "operationId": "tablesDBCreateIpColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Get the team's shared preferences by its unique ID. If a preference doesn't need to be shared by all team members, prefer storing them in [user preferences](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#getPrefs).", + "description": "Create IP address column.\n", "responses": { - "200": { - "description": "Preferences", + "202": { + "description": "ColumnIP", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/preferences" + "$ref": "#\/components\/schemas\/columnIp" } } } @@ -66273,24 +64965,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPrefs", - "group": "teams", - "weight": 527, + "method": "createIpColumn", + "group": "columns", + "weight": 807, "cookies": false, "type": "", - "demo": "teams\/get-prefs.md", + "demo": "tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -66298,37 +64994,84 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } - ] - }, - "put": { - "summary": "Update team preferences", - "operationId": "teamsUpdatePrefs", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip\/{key}": { + "patch": { + "summary": "Update IP address column", + "operationId": "tablesDBUpdateIpColumn", "tags": [ - "teams" + "tablesDB" ], - "description": "Update the team's preferences by its unique ID. The object you pass is stored as is and replaces any previous value. The maximum allowed prefs size is 64kB and throws an error if exceeded.", + "description": "Update an ip column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Preferences", + "description": "ColumnIP", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/preferences" + "$ref": "#\/components\/schemas\/columnIp" } } } @@ -66336,24 +65079,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePrefs", - "group": "teams", - "weight": 528, + "method": "updateIpColumn", + "group": "columns", + "weight": 808, "cookies": false, "type": "", - "demo": "teams\/update-prefs.md", + "demo": "tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -66361,58 +65108,89 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TEAM_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "prefs": { - "type": "object", - "description": "Prefs key-value JSON object.", - "x-example": "{}" - } - }, - "required": [ - "prefs" - ] + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] } } } } } }, - "\/tokens\/buckets\/{bucketId}\/files\/{fileId}": { - "get": { - "summary": "List tokens", - "operationId": "tokensList", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line": { + "post": { + "summary": "Create line column", + "operationId": "tablesDBCreateLineColumn", "tags": [ - "tokens" + "tablesDB" ], - "description": "List all the tokens created for a specific file or bucket. You can use the query params to filter your results.", + "description": "Create a geometric line column.", "responses": { - "200": { - "description": "Resource Tokens List", + "202": { + "description": "ColumnLine", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/resourceTokenList" + "$ref": "#\/components\/schemas\/columnLine" } } } @@ -66420,22 +65198,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "files", - "weight": 538, + "method": "createLineColumn", + "group": "columns", + "weight": 809, "cookies": false, "type": "", - "demo": "tokens\/list.md", + "demo": "tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "tokens.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -66448,65 +65232,81 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File unique ID.", + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<TABLE_ID>" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } - ] - }, - "post": { - "summary": "Create file token", - "operationId": "tokensCreateFileToken", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line\/{key}": { + "patch": { + "summary": "Update line column", + "operationId": "tablesDBUpdateLineColumn", "tags": [ - "tokens" + "tablesDB" ], - "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", + "description": "Update a line column. Changing the `default` value will not update already existing rows.", "responses": { - "201": { - "description": "ResourceToken", + "200": { + "description": "ColumnLine", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/resourceToken" + "$ref": "#\/components\/schemas\/columnLine" } } } @@ -66514,22 +65314,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createFileToken", - "group": "files", - "weight": 536, + "method": "updateLineColumn", + "group": "columns", + "weight": 810, "cookies": false, "type": "", - "demo": "tokens\/create-file-token.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/update-line-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -66542,22 +65348,31 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<BUCKET_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "fileId", - "description": "File unique ID.", + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "schema": { "type": "string", - "x-example": "<FILE_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -66568,35 +65383,55 @@ "schema": { "type": "object", "properties": { - "expire": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Token expiry date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", + "description": "New Column Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required" + ] } } } } } }, - "\/tokens\/{tokenId}": { - "get": { - "summary": "Get token", - "operationId": "tokensGet", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext": { + "post": { + "summary": "Create longtext column", + "operationId": "tablesDBCreateLongtextColumn", "tags": [ - "tokens" + "tablesDB" ], - "description": "Get a token by its unique ID.", + "description": "Create a longtext column.\n", "responses": { - "200": { - "description": "ResourceToken", + "202": { + "description": "ColumnLongtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/resourceToken" + "$ref": "#\/components\/schemas\/columnLongtext" } } } @@ -66604,22 +65439,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "tokens", - "weight": 537, + "method": "createLongtextColumn", + "group": "columns", + "weight": 827, "cookies": false, "type": "", - "demo": "tokens\/get.md", + "demo": "tablesdb\/create-longtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "tokens.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-longtext-column.md", "auth": { "Project": [] } @@ -66632,31 +65473,84 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TOKEN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext\/{key}": { "patch": { - "summary": "Update token", - "operationId": "tokensUpdate", + "summary": "Update longtext column", + "operationId": "tablesDBUpdateLongtextColumn", "tags": [ - "tokens" + "tablesDB" ], - "description": "Update a token by its unique ID. Use this endpoint to update a token's expiry date.", + "description": "Update a longtext column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "ResourceToken", + "description": "ColumnLongtext", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/resourceToken" + "$ref": "#\/components\/schemas\/columnLongtext" } } } @@ -66664,22 +65558,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "tokens", - "weight": 539, + "method": "updateLongtextColumn", + "group": "columns", + "weight": 828, "cookies": false, "type": "", - "demo": "tokens\/update.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/update-longtext-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-longtext-column.md", "auth": { "Project": [] } @@ -66692,12 +65592,31 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TOKEN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -66708,49 +65627,78 @@ "schema": { "type": "object", "properties": { - "expire": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "File token expiry date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } } } - }, - "delete": { - "summary": "Delete token", - "operationId": "tokensDelete", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext": { + "post": { + "summary": "Create mediumtext column", + "operationId": "tablesDBCreateMediumtextColumn", "tags": [ - "tokens" + "tablesDB" ], - "description": "Delete a token by its unique ID.", + "description": "Create a mediumtext column.\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "ColumnMediumtext", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnMediumtext" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "tokens", - "weight": 540, + "method": "createMediumtextColumn", + "group": "columns", + "weight": 825, "cookies": false, "type": "", - "demo": "tokens\/delete.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/create-mediumtext-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-mediumtext-column.md", "auth": { "Project": [] } @@ -66763,57 +65711,113 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<TOKEN_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } - ] - } - }, - "\/users": { - "get": { - "summary": "List users", - "operationId": "usersList", - "tags": [ - "users" ], - "description": "Get a list of all the project's users. You can use the query params to filter your results.", - "responses": { - "200": { - "description": "Users List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/userList" - } - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext\/{key}": { + "patch": { + "summary": "Update mediumtext column", + "operationId": "tablesDBUpdateMediumtextColumn", + "tags": [ + "tablesDB" + ], + "description": "Update a mediumtext column. Changing the `default` value will not update already existing rows.\n", + "responses": { + "200": { + "description": "ColumnMediumtext", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnMediumtext" + } + } } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "users", - "weight": 71, + "method": "updateMediumtextColumn", + "group": "columns", + "weight": 826, "cookies": false, "type": "", - "demo": "users\/list.md", + "demo": "tablesdb\/update-mediumtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-mediumtext-column.md", "auth": { "Project": [] } @@ -66826,56 +65830,84 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Column Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] - }, + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point": { "post": { - "summary": "Create user", - "operationId": "usersCreate", + "summary": "Create point column", + "operationId": "tablesDBCreatePointColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user.", + "description": "Create a geometric point column.", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnPoint", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnPoint" } } } @@ -66883,23 +65915,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "users", - "weight": 62, + "method": "createPointColumn", + "group": "columns", + "weight": 811, "cookies": false, "type": "", - "demo": "users\/create.md", + "demo": "tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -66910,44 +65947,61 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { + "key": { "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" + "description": "Column Key.", + "x-example": null }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email", - "x-nullable": true + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "phone": { - "type": "string", - "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100", - "format": "phone", + "default": { + "type": "array", + "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", + "x-example": "[1, 2]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, "x-nullable": true - }, - "password": { - "type": "string", - "description": "Plain text user password. Must be at least 8 chars.", - "x-example": null - }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" } }, "required": [ - "userId" + "key", + "required" ] } } @@ -66955,21 +66009,21 @@ } } }, - "\/users\/argon2": { - "post": { - "summary": "Create user with Argon2 password", - "operationId": "usersCreateArgon2User", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point\/{key}": { + "patch": { + "summary": "Update point column", + "operationId": "tablesDBUpdatePointColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Argon2](https:\/\/en.wikipedia.org\/wiki\/Argon2) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update a point column. Changing the `default` value will not update already existing rows.", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnPoint", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnPoint" } } } @@ -66977,23 +66031,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createArgon2User", - "group": "users", - "weight": 65, + "method": "updatePointColumn", + "group": "columns", + "weight": 812, "cookies": false, "type": "", - "demo": "users\/create-argon-2-user.md", + "demo": "tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -67004,39 +66063,70 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "password": { - "type": "string", - "description": "User password hashed using Argon2.", - "x-example": "password", - "format": "password" + "default": { + "type": "array", + "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", + "x-example": "[1, 2]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "required" ] } } @@ -67044,21 +66134,21 @@ } } }, - "\/users\/bcrypt": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon": { "post": { - "summary": "Create user with bcrypt password", - "operationId": "usersCreateBcryptUser", + "summary": "Create polygon column", + "operationId": "tablesDBCreatePolygonColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Bcrypt](https:\/\/en.wikipedia.org\/wiki\/Bcrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create a geometric polygon column.", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnPolygon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnPolygon" } } } @@ -67066,23 +66156,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createBcryptUser", - "group": "users", - "weight": 63, + "method": "createPolygonColumn", + "group": "columns", + "weight": 813, "cookies": false, "type": "", - "demo": "users\/create-bcrypt-user.md", + "demo": "tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -67093,39 +66188,61 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" - }, - "email": { + "key": { "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" + "description": "Column Key.", + "x-example": null }, - "password": { - "type": "string", - "description": "User password hashed using Bcrypt.", - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "default": { + "type": "array", + "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "key", + "required" ] } } @@ -67133,21 +66250,21 @@ } } }, - "\/users\/identities": { - "get": { - "summary": "List identities", - "operationId": "usersListIdentities", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon\/{key}": { + "patch": { + "summary": "Update polygon column", + "operationId": "tablesDBUpdatePolygonColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Get identities for all users.", + "description": "Update a polygon column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "Identities List", + "description": "ColumnPolygon", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/identityList" + "$ref": "#\/components\/schemas\/columnPolygon" } } } @@ -67155,23 +66272,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listIdentities", - "group": "identities", - "weight": 79, + "method": "updatePolygonColumn", + "group": "columns", + "weight": 814, "cookies": false, "type": "", - "demo": "users\/list-identities.md", + "demo": "tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -67184,75 +66306,119 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Column Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "items": { + "oneOf": [ + { + "type": "array" + } + ] + }, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } + } + } + } } }, - "\/users\/identities\/{identityId}": { - "delete": { - "summary": "Delete identity", - "operationId": "usersDeleteIdentity", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/relationship": { + "post": { + "summary": "Create relationship column", + "operationId": "tablesDBCreateRelationshipColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Delete an identity by its unique ID.", + "description": "Create relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "ColumnRelationship", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnRelationship" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteIdentity", - "group": "identities", - "weight": 103, + "method": "createRelationshipColumn", + "group": "columns", + "weight": 815, "cookies": false, "type": "", - "demo": "users\/delete-identity.md", + "demo": "tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -67265,65 +66431,24 @@ ], "parameters": [ { - "name": "identityId", - "description": "Identity ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<IDENTITY_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ] - } - }, - "\/users\/md5": { - "post": { - "summary": "Create user with MD5 password", - "operationId": "usersCreateMD5User", - "tags": [ - "users" - ], - "description": "Create a new user. Password provided must be hashed with the [MD5](https:\/\/en.wikipedia.org\/wiki\/MD5) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", - "responses": { - "201": { - "description": "User", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/user" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createMD5User", - "group": "users", - "weight": 64, - "cookies": false, - "type": "", - "demo": "users\/create-md-5-user.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", - "auth": { - "Project": [] - } - }, - "security": [ + }, { - "Project": [], - "Key": [] + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" } ], "requestBody": { @@ -67332,33 +66457,57 @@ "schema": { "type": "object", "properties": { - "userId": { + "relatedTableId": { "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" + "description": "Related Table ID.", + "x-example": "<RELATED_TABLE_ID>" }, - "email": { + "type": { "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" + "description": "Relation type", + "x-example": "oneToOne", + "enum": [ + "oneToOne", + "manyToOne", + "manyToMany", + "oneToMany" + ], + "x-enum-name": "RelationshipType", + "x-enum-keys": [] }, - "password": { + "twoWay": { + "type": "boolean", + "description": "Is Two Way?", + "x-example": false + }, + "key": { "type": "string", - "description": "User password hashed using MD5.", - "x-example": "password", - "format": "password" + "description": "Column Key.", + "x-example": null, + "x-nullable": true }, - "name": { + "twoWayKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Two Way Column Key.", + "x-example": null, + "x-nullable": true + }, + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] } }, "required": [ - "userId", - "email", - "password" + "relatedTableId", + "type" ] } } @@ -67366,45 +66515,54 @@ } } }, - "\/users\/phpass": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string": { "post": { - "summary": "Create user with PHPass password", - "operationId": "usersCreatePHPassUser", + "summary": "Create string column", + "operationId": "tablesDBCreateStringColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [PHPass](https:\/\/www.openwall.com\/phpass\/) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create a string column.\n", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnString" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createPHPassUser", - "group": "users", - "weight": 67, + "method": "createStringColumn", + "group": "columns", + "weight": 817, "cookies": false, "type": "", - "demo": "users\/create-ph-pass-user.md", + "demo": "tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", + "deprecated": { + "since": "1.9.0", + "replaceWith": "tablesDB.createTextColumn" + }, "auth": { "Project": [] } @@ -67415,39 +66573,71 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { + "key": { "type": "string", - "description": "User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" + "description": "Column Key.", + "x-example": null }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" + "size": { + "type": "integer", + "description": "Column size for text columns, in number of characters.", + "x-example": 1, + "format": "int32" }, - "password": { - "type": "string", - "description": "User password hashed using PHPass.", - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "name": { + "default": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false } }, "required": [ - "userId", - "email", - "password" + "key", + "size", + "required" ] } } @@ -67455,45 +66645,54 @@ } } }, - "\/users\/scrypt": { - "post": { - "summary": "Create user with Scrypt password", - "operationId": "usersCreateScryptUser", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string\/{key}": { + "patch": { + "summary": "Update string column", + "operationId": "tablesDBUpdateStringColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Scrypt](https:\/\/github.com\/Tarsnap\/scrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update a string column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnString" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createScryptUser", - "group": "users", - "weight": 68, + "method": "updateStringColumn", + "group": "columns", + "weight": 818, "cookies": false, "type": "", - "demo": "users\/create-scrypt-user.md", + "demo": "tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateTextColumn" + }, "auth": { "Project": [] } @@ -67504,73 +66703,71 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" - }, - "password": { - "type": "string", - "description": "User password hashed using Scrypt.", - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "passwordSalt": { + "default": { "type": "string", - "description": "Optional salt used to hash password.", - "x-example": "<PASSWORD_SALT>" - }, - "passwordCpu": { - "type": "integer", - "description": "Optional CPU cost used to hash password.", - "x-example": null, - "format": "int32" - }, - "passwordMemory": { - "type": "integer", - "description": "Optional memory cost used to hash password.", - "x-example": null, - "format": "int32" - }, - "passwordParallel": { - "type": "integer", - "description": "Optional parallelization cost used to hash password.", - "x-example": null, - "format": "int32" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "passwordLength": { + "size": { "type": "integer", - "description": "Optional hash length used to hash password.", - "x-example": null, - "format": "int32" + "description": "Maximum size of the string column.", + "x-example": 1, + "format": "int32", + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password", - "passwordSalt", - "passwordCpu", - "passwordMemory", - "passwordParallel", - "passwordLength" + "required", + "default" ] } } @@ -67578,21 +66775,21 @@ } } }, - "\/users\/scrypt-modified": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text": { "post": { - "summary": "Create user with Scrypt modified password", - "operationId": "usersCreateScryptModifiedUser", + "summary": "Create text column", + "operationId": "tablesDBCreateTextColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Scrypt Modified](https:\/\/gist.github.com\/Meldiron\/eecf84a0225eccb5a378d45bb27462cc) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create a text column.\n", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnText", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnText" } } } @@ -67600,23 +66797,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createScryptModifiedUser", - "group": "users", - "weight": 69, + "method": "createTextColumn", + "group": "columns", + "weight": 823, "cookies": false, "type": "", - "demo": "users\/create-scrypt-modified-user.md", + "demo": "tablesdb\/create-text-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-text-column.md", "auth": { "Project": [] } @@ -67627,57 +66829,64 @@ "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" - }, - "password": { + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { "type": "string", - "description": "User password hashed using Scrypt Modified.", - "x-example": "password", - "format": "password" + "description": "Column Key.", + "x-example": null }, - "passwordSalt": { - "type": "string", - "description": "Salt used to hash password.", - "x-example": "<PASSWORD_SALT>" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "passwordSaltSeparator": { + "default": { "type": "string", - "description": "Salt separator used to hash password.", - "x-example": "<PASSWORD_SALT_SEPARATOR>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "passwordSignerKey": { - "type": "string", - "description": "Signer key used to hash password.", - "x-example": "<PASSWORD_SIGNER_KEY>" + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false } }, "required": [ - "userId", - "email", - "password", - "passwordSalt", - "passwordSaltSeparator", - "passwordSignerKey" + "key", + "required" ] } } @@ -67685,21 +66894,21 @@ } } }, - "\/users\/sha": { - "post": { - "summary": "Create user with SHA password", - "operationId": "usersCreateSHAUser", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text\/{key}": { + "patch": { + "summary": "Update text column", + "operationId": "tablesDBUpdateTextColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [SHA](https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithm) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update a text column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnText", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnText" } } } @@ -67707,23 +66916,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createSHAUser", - "group": "users", - "weight": 66, + "method": "updateTextColumn", + "group": "columns", + "weight": 824, "cookies": false, "type": "", - "demo": "users\/create-sha-user.md", + "demo": "tablesdb\/update-text-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-text-column.md", "auth": { "Project": [] } @@ -67734,59 +66948,64 @@ "Key": [] } ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" - }, - "password": { - "type": "string", - "description": "User password hashed using SHA.", - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "passwordVersion": { + "default": { "type": "string", - "description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512\/224', 'sha512\/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'", - "x-example": "sha1", - "enum": [ - "sha1", - "sha224", - "sha256", - "sha384", - "sha512\/224", - "sha512\/256", - "sha512", - "sha3-224", - "sha3-256", - "sha3-384", - "sha3-512" - ], - "x-enum-name": "PasswordHash", - "x-enum-keys": [] + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "required", + "default" ] } } @@ -67794,21 +67013,21 @@ } } }, - "\/users\/usage": { - "get": { - "summary": "Get users usage stats", - "operationId": "usersGetUsage", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url": { + "post": { + "summary": "Create URL column", + "operationId": "tablesDBCreateUrlColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Get usage metrics and statistics for all users in the project. You can view the total number of users and sessions. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Create a URL column.\n", "responses": { - "200": { - "description": "UsageUsers", + "202": { + "description": "ColumnURL", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageUsers" + "$ref": "#\/components\/schemas\/columnUrl" } } } @@ -67816,72 +67035,114 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 105, + "method": "createUrlColumn", + "group": "columns", + "weight": 819, "cookies": false, "type": "", - "demo": "users\/get-usage.md", + "demo": "tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "schema": { "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" + "x-example": "<DATABASE_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + } + }, + "required": [ + "key", + "required" + ] + } + } + } + } } }, - "\/users\/{userId}": { - "get": { - "summary": "Get user", - "operationId": "usersGet", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url\/{key}": { + "patch": { + "summary": "Update URL column", + "operationId": "tablesDBUpdateUrlColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Get a user by its unique ID.", + "description": "Update an url column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "User", + "description": "ColumnURL", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnUrl" } } } @@ -67889,23 +67150,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "users", - "weight": 72, + "method": "updateUrlColumn", + "group": "columns", + "weight": 820, "cookies": false, "type": "", - "demo": "users\/get.md", + "demo": "tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -67918,87 +67184,85 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" - } - ] - }, - "delete": { - "summary": "Delete user", - "operationId": "usersDelete", - "tags": [ - "users" - ], - "description": "Delete a user by its unique ID, thereby releasing it's ID. Since ID is released and can be reused, all user-related resources like documents or storage files should be deleted before user deletion. If you want to keep ID reserved, use the [updateStatus](https:\/\/appwrite.io\/docs\/server\/users#usersUpdateStatus) endpoint instead.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "delete", - "group": "users", - "weight": 101, - "cookies": false, - "type": "", - "demo": "users\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ + }, { - "name": "userId", - "description": "User ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } + } + } + } } }, - "\/users\/{userId}\/email": { - "patch": { - "summary": "Update email", - "operationId": "usersUpdateEmail", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar": { + "post": { + "summary": "Create varchar column", + "operationId": "tablesDBCreateVarcharColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user email by its unique ID.", + "description": "Create a varchar column.\n", "responses": { - "200": { - "description": "User", + "202": { + "description": "ColumnVarchar", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnVarchar" } } } @@ -68006,23 +67270,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateEmail", - "group": "users", - "weight": 86, + "method": "createVarcharColumn", + "group": "columns", + "weight": 821, "cookies": false, "type": "", - "demo": "users\/update-email.md", + "demo": "tablesdb\/create-varchar-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-varchar-column.md", "auth": { "Project": [] } @@ -68035,12 +67304,22 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } @@ -68051,37 +67330,65 @@ "schema": { "type": "object", "properties": { - "email": { + "key": { "type": "string", - "description": "User email.", - "x-example": "email@example.com", - "format": "email" - } - }, - "required": [ - "email" - ] - } - } - } + "description": "Column Key.", + "x-example": null + }, + "size": { + "type": "integer", + "description": "Column size for varchar columns, in number of characters. Maximum size is 16381.", + "x-example": 1, + "format": "int32" + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false + } + }, + "required": [ + "key", + "size", + "required" + ] + } + } + } } } }, - "\/users\/{userId}\/impersonator": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar\/{key}": { "patch": { - "summary": "Update user impersonator capability", - "operationId": "usersUpdateImpersonator", + "summary": "Update varchar column", + "operationId": "tablesDBUpdateVarcharColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Enable or disable whether a user can impersonate other users. When impersonation headers are used, the request runs as the target user for API behavior, while internal audit logs still attribute the action to the original impersonator and store the impersonated target details only in internal audit payload data.\n", + "description": "Update a varchar column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "User", + "description": "ColumnVarchar", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnVarchar" } } } @@ -68089,23 +67396,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateImpersonator", - "group": "users", - "weight": 82, + "method": "updateVarcharColumn", + "group": "columns", + "weight": 822, "cookies": false, "type": "", - "demo": "users\/update-impersonator.md", + "demo": "tablesdb\/update-varchar-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-impersonator.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-varchar-column.md", "auth": { "Project": [] } @@ -68118,12 +67430,31 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -68134,14 +67465,34 @@ "schema": { "type": "object", "properties": { - "impersonator": { + "required": { "type": "boolean", - "description": "Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.", + "description": "Is column required?", "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "size": { + "type": "integer", + "description": "Maximum size of the varchar column.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "impersonator" + "required", + "default" ] } } @@ -68149,21 +67500,103 @@ } } }, - "\/users\/{userId}\/jwts": { - "post": { - "summary": "Create user JWT", - "operationId": "usersCreateJWT", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}": { + "get": { + "summary": "Get column", + "operationId": "tablesDBGetColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Use this endpoint to create a JSON Web Token for user by its unique ID. You can use the resulting JWT to authenticate on behalf of the user. The JWT secret will become invalid if the session it uses gets deleted.", + "description": "Get column by ID.", "responses": { - "201": { - "description": "JWT", + "200": { + "description": "ColumnBoolean, or ColumnInteger, or ColumnFloat, or ColumnEmail, or ColumnEnum, or ColumnURL, or ColumnIP, or ColumnDatetime, or ColumnRelationship, or ColumnString", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/jwt" + "oneOf": [ + { + "$ref": "#\/components\/schemas\/columnBoolean" + }, + { + "$ref": "#\/components\/schemas\/columnInteger" + }, + { + "$ref": "#\/components\/schemas\/columnFloat" + }, + { + "$ref": "#\/components\/schemas\/columnEmail" + }, + { + "$ref": "#\/components\/schemas\/columnEnum" + }, + { + "$ref": "#\/components\/schemas\/columnUrl" + }, + { + "$ref": "#\/components\/schemas\/columnIp" + }, + { + "$ref": "#\/components\/schemas\/columnDatetime" + }, + { + "$ref": "#\/components\/schemas\/columnRelationship" + }, + { + "$ref": "#\/components\/schemas\/columnString" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "boolean": "#\/components\/schemas\/columnBoolean", + "integer": "#\/components\/schemas\/columnInteger", + "double": "#\/components\/schemas\/columnFloat", + "string": "#\/components\/schemas\/columnString", + "datetime": "#\/components\/schemas\/columnDatetime", + "relationship": "#\/components\/schemas\/columnRelationship" + }, + "x-propertyNames": [ + "type", + "format" + ], + "x-mapping": { + "#\/components\/schemas\/columnBoolean": { + "type": "boolean" + }, + "#\/components\/schemas\/columnInteger": { + "type": "integer" + }, + "#\/components\/schemas\/columnFloat": { + "type": "double" + }, + "#\/components\/schemas\/columnEmail": { + "type": "string", + "format": "email" + }, + "#\/components\/schemas\/columnEnum": { + "type": "string", + "format": "enum" + }, + "#\/components\/schemas\/columnUrl": { + "type": "string", + "format": "url" + }, + "#\/components\/schemas\/columnIp": { + "type": "string", + "format": "ip" + }, + "#\/components\/schemas\/columnDatetime": { + "type": "datetime" + }, + "#\/components\/schemas\/columnRelationship": { + "type": "relationship" + }, + "#\/components\/schemas\/columnString": { + "type": "string" + } + } + } } } } @@ -68171,23 +67604,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "createJWT", - "group": "sessions", - "weight": 104, + "method": "getColumn", + "group": "columns", + "weight": 790, "cookies": false, "type": "", - "demo": "users\/create-jwt.md", + "demo": "tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.read", + "collections.read", + "columns.read", + "attributes.read" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -68200,79 +67638,72 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "sessionId": { - "type": "string", - "description": "Session ID. Use the string 'recent' to use the most recent session. Defaults to the most recent session.", - "x-example": "<SESSION_ID>" - }, - "duration": { - "type": "integer", - "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "x-example": 0, - "format": "int32" - } - } - } - } - } - } - } - }, - "\/users\/{userId}\/labels": { - "put": { - "summary": "Update user labels", - "operationId": "usersUpdateLabels", + ] + }, + "delete": { + "summary": "Delete column", + "operationId": "tablesDBDeleteColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user labels by its unique ID. \n\nLabels can be used to grant access to resources. While teams are a way for user's to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https:\/\/appwrite.io\/docs\/permissions) for more info.", + "description": "Deletes a column.", "responses": { - "200": { - "description": "User", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/user" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateLabels", - "group": "users", - "weight": 81, + "method": "deleteColumn", + "group": "columns", + "weight": 791, "cookies": false, "type": "", - "demo": "users\/update-labels.md", + "demo": "tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -68285,55 +67716,52 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "x-example": null, - "items": { - "type": "string" - } - } - }, - "required": [ - "labels" - ] - } - } - } - } + ] } }, - "\/users\/{userId}\/logs": { - "get": { - "summary": "List user logs", - "operationId": "usersListLogs", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}\/relationship": { + "patch": { + "summary": "Update relationship column", + "operationId": "tablesDBUpdateRelationshipColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Get the user activity logs list by its unique ID.", + "description": "Update relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", "responses": { "200": { - "description": "Logs List", + "description": "ColumnRelationship", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/logList" + "$ref": "#\/components\/schemas\/columnRelationship" } } } @@ -68341,23 +67769,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 77, + "method": "updateRelationshipColumn", + "group": "columns", + "weight": 816, "cookies": false, "type": "", - "demo": "users\/list-logs.md", + "demo": "tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -68370,57 +67803,82 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "key", + "description": "Column Key.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string" }, - "in": "query" + "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [], + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + } + } + } + } + } } }, - "\/users\/{userId}\/memberships": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes": { "get": { - "summary": "List user memberships", - "operationId": "usersListMemberships", + "summary": "List indexes", + "operationId": "tablesDBListIndexes", "tags": [ - "users" + "tablesDB" ], - "description": "Get the user membership list by its unique ID.", + "description": "List indexes on the table.", "responses": { "200": { - "description": "Memberships List", + "description": "Column Indexes List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/membershipList" + "$ref": "#\/components\/schemas\/columnIndexList" } } } @@ -68428,23 +67886,27 @@ }, "deprecated": false, "x-appwrite": { - "method": "listMemberships", - "group": "memberships", - "weight": 76, + "method": "listIndexes", + "group": "indexes", + "weight": 832, "cookies": false, "type": "", - "demo": "users\/list-memberships.md", + "demo": "tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.read", + "collections.read", + "indexes.read" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -68457,18 +67919,28 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, status, attributes, error", "required": false, "schema": { "type": "array", @@ -68479,17 +67951,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -68502,107 +67963,49 @@ "in": "query" } ] - } - }, - "\/users\/{userId}\/mfa": { - "patch": { - "summary": "Update MFA", - "operationId": "usersUpdateMfa", + }, + "post": { + "summary": "Create index", + "operationId": "tablesDBCreateIndex", "tags": [ - "users" + "tablesDB" ], - "description": "Enable or disable MFA on a user account.", + "description": "Creates an index on the columns listed. Your index should include all the columns you will query in a single request.\nType can be `key`, `fulltext`, or `unique`.", "responses": { - "200": { - "description": "User", + "202": { + "description": "Index", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/columnIndex" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateMfa", - "group": "users", - "weight": 91, + "method": "createIndex", + "group": "indexes", + "weight": 829, "cookies": false, "type": "", - "demo": "users\/update-mfa.md", + "demo": "tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "indexes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFA" - }, - "methods": [ - { - "name": "updateMfa", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "mfa" - ], - "required": [ - "userId", - "mfa" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/user" - } - ], - "description": "Enable or disable MFA on a user account.", - "demo": "users\/update-mfa.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFA" - } - }, - { - "name": "updateMFA", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "mfa" - ], - "required": [ - "userId", - "mfa" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/user" - } - ], - "description": "Enable or disable MFA on a user account.", - "demo": "users\/update-mfa.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -68615,12 +68018,22 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } @@ -68631,14 +68044,59 @@ "schema": { "type": "object", "properties": { - "mfa": { - "type": "boolean", - "description": "Enable or disable MFA.", - "x-example": false + "key": { + "type": "string", + "description": "Index Key.", + "x-example": null + }, + "type": { + "type": "string", + "description": "Index type.", + "x-example": "key", + "enum": [ + "key", + "fulltext", + "unique", + "spatial" + ], + "x-enum-name": "TablesDBIndexType", + "x-enum-keys": [] + }, + "columns": { + "type": "array", + "description": "Array of columns to index. Maximum of 100 columns are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } + }, + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "items": { + "type": "integer" + } } }, "required": [ - "mfa" + "key", + "type", + "columns" ] } } @@ -68646,96 +68104,49 @@ } } }, - "\/users\/{userId}\/mfa\/authenticators\/{type}": { - "delete": { - "summary": "Delete authenticator", - "operationId": "usersDeleteMfaAuthenticator", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "tablesDBGetIndex", "tags": [ - "users" + "tablesDB" ], - "description": "Delete an authenticator app.", + "description": "Get index by ID.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Index", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/columnIndex" + } + } + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "deleteMfaAuthenticator", - "group": "mfa", - "weight": 96, + "method": "getIndex", + "group": "indexes", + "weight": 830, "cookies": false, "type": "", - "demo": "users\/delete-mfa-authenticator.md", + "demo": "tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.read", + "collections.read", + "indexes.read" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.deleteMFAAuthenticator" - }, - "methods": [ - { - "name": "deleteMfaAuthenticator", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "type" - ], - "required": [ - "userId", - "type" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete an authenticator app.", - "demo": "users\/delete-mfa-authenticator.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.deleteMFAAuthenticator" - } - }, - { - "name": "deleteMFAAuthenticator", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "type" - ], - "required": [ - "userId", - "type" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete an authenticator app.", - "demo": "users\/delete-mfa-authenticator.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -68748,128 +68159,71 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "type", - "description": "Type of authenticator.", + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "schema": { "type": "string", - "x-example": "totp", - "enum": [ - "totp" - ], - "x-enum-name": "AuthenticatorType", - "x-enum-keys": [] + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } ] - } - }, - "\/users\/{userId}\/mfa\/factors": { - "get": { - "summary": "List factors", - "operationId": "usersListMfaFactors", + }, + "delete": { + "summary": "Delete index", + "operationId": "tablesDBDeleteIndex", "tags": [ - "users" + "tablesDB" ], - "description": "List the factors available on the account to be used as a MFA challange.", + "description": "Delete an index.", "responses": { - "200": { - "description": "MFAFactors", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/mfaFactors" - } - } - } + "204": { + "description": "No content" } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listMfaFactors", - "group": "mfa", - "weight": 92, + "method": "deleteIndex", + "group": "indexes", + "weight": 831, "cookies": false, "type": "", - "demo": "users\/list-mfa-factors.md", + "demo": "tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "indexes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.listMFAFactors" - }, - "methods": [ - { - "name": "listMfaFactors", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaFactors" - } - ], - "description": "List the factors available on the account to be used as a MFA challange.", - "demo": "users\/list-mfa-factors.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.listMFAFactors" - } - }, - { - "name": "listMFAFactors", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaFactors" - } - ], - "description": "List the factors available on the account to be used as a MFA challange.", - "demo": "users\/list-mfa-factors.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -68882,230 +68236,168 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } ] } }, - "\/users\/{userId}\/mfa\/recovery-codes": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/logs": { "get": { - "summary": "Get MFA recovery codes", - "operationId": "usersGetMfaRecoveryCodes", + "summary": "List table logs", + "operationId": "tablesDBListTableLogs", "tags": [ - "users" + "tablesDB" ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "description": "Get the table activity logs list by its unique ID.", "responses": { "200": { - "description": "MFA Recovery Codes", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mfaRecoveryCodes" + "$ref": "#\/components\/schemas\/logList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "getMfaRecoveryCodes", - "group": "mfa", - "weight": 93, + "method": "listTableLogs", + "group": "tables", + "weight": 788, "cookies": false, "type": "", - "demo": "users\/get-mfa-recovery-codes.md", + "demo": "tablesdb\/list-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ - "console", - "server" + "console" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.getMFARecoveryCodes" + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" }, - "methods": [ - { - "name": "getMfaRecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaRecoveryCodes" - } - ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/get-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.getMFARecoveryCodes" - } - }, - { - "name": "getMFARecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaRecoveryCodes" - } - ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/get-mfa-recovery-codes.md", - "public": true - } - ], - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<TABLE_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } ] - }, - "put": { - "summary": "Update MFA recovery codes (regenerate)", - "operationId": "usersUpdateMfaRecoveryCodes", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows": { + "get": { + "summary": "List rows", + "operationId": "tablesDBListRows", "tags": [ - "users" + "tablesDB" ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "description": "Get a list of all the user's rows in a given table. You can use the query params to filter your results.", "responses": { "200": { - "description": "MFA Recovery Codes", + "description": "Rows List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mfaRecoveryCodes" + "$ref": "#\/components\/schemas\/rowList" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateMfaRecoveryCodes", - "group": "mfa", - "weight": 95, + "method": "listRows", + "group": "rows", + "weight": 919, "cookies": false, "type": "", - "demo": "users\/update-mfa-recovery-codes.md", + "demo": "tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "rows.read", + "documents.read" + ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFARecoveryCodes" - }, - "methods": [ - { - "name": "updateMfaRecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaRecoveryCodes" - } - ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/update-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFARecoveryCodes" - } - }, - { - "name": "updateMFARecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/mfaRecoveryCodes" - } - ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/update-mfa-recovery-codes.md", - "public": false - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -69113,113 +68405,181 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/products\/databases\/tables#create-table).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, table, schema version (columns and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; row writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" } ] }, - "patch": { - "summary": "Create MFA recovery codes", - "operationId": "usersCreateMfaRecoveryCodes", + "post": { + "summary": "Create row", + "operationId": "tablesDBCreateRow", "tags": [ - "users" + "tablesDB" ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { "201": { - "description": "MFA Recovery Codes", + "description": "Row", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/mfaRecoveryCodes" + "$ref": "#\/components\/schemas\/row" } } } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createMfaRecoveryCodes", - "group": "mfa", - "weight": 94, + "method": "createRow", + "group": "rows", + "weight": 833, "cookies": false, "type": "", - "demo": "users\/create-mfa-recovery-codes.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/create-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.createMFARecoveryCodes" - }, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { - "name": "createMfaRecoveryCodes", - "namespace": "users", - "desc": "", + "name": "createRow", + "namespace": "tablesDB", + "desc": "Create row", "auth": { "Project": [] }, "parameters": [ - "userId" + "databaseId", + "tableId", + "rowId", + "data", + "permissions", + "transactionId" ], "required": [ - "userId" + "databaseId", + "tableId", + "rowId", + "data" ], "responses": [ { "code": 201, - "model": "#\/components\/schemas\/mfaRecoveryCodes" + "model": "#\/components\/schemas\/row" } ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", - "demo": "users\/create-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.createMFARecoveryCodes" - } + "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/create-row.md", + "public": true }, { - "name": "createMFARecoveryCodes", - "namespace": "users", - "desc": "", + "name": "createRows", + "namespace": "tablesDB", + "desc": "Create rows", "auth": { "Project": [] }, "parameters": [ - "userId" + "databaseId", + "tableId", + "rows", + "transactionId" ], "required": [ - "userId" + "databaseId", + "tableId", + "rows" ], "responses": [ { "code": 201, - "model": "#\/components\/schemas\/mfaRecoveryCodes" + "model": "#\/components\/schemas\/rowList" } ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", - "demo": "users\/create-mfa-recovery-codes.md", + "description": "Create new Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/create-rows.md", "public": true } ], @@ -69230,38 +68590,92 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable). Make sure to define columns before creating rows.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } - ] - } - }, - "\/users\/{userId}\/name": { - "patch": { - "summary": "Update name", - "operationId": "usersUpdateName", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "rowId": { + "type": "string", + "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<ROW_ID>" + }, + "data": { + "type": "object", + "description": "Row data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "rows": { + "type": "array", + "description": "Array of rows data as JSON objects.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } + }, + "put": { + "summary": "Upsert rows", + "operationId": "tablesDBUpsertRows", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user name by its unique ID.", + "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", "responses": { - "200": { - "description": "User", + "201": { + "description": "Rows List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/rowList" } } } @@ -69269,23 +68683,56 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateName", - "group": "users", - "weight": 84, + "method": "upsertRows", + "group": "rows", + "weight": 838, "cookies": false, "type": "", - "demo": "users\/update-name.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/upsert-rows.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", + "methods": [ + { + "name": "upsertRows", + "namespace": "tablesDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "tableId", + "rows", + "transactionId" + ], + "required": [ + "databaseId", + "tableId", + "rows" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/rowList" + } + ], + "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", + "demo": "tablesdb\/upsert-rows.md", + "public": true + } + ], "auth": { "Project": [] } @@ -69298,12 +68745,22 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } @@ -69314,36 +68771,43 @@ "schema": { "type": "object", "properties": { - "name": { + "rows": { + "type": "array", + "description": "Array of row data as JSON objects. May contain partial rows.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { "type": "string", - "description": "User name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ - "name" + "rows" ] } } } } - } - }, - "\/users\/{userId}\/password": { + }, "patch": { - "summary": "Update password", - "operationId": "usersUpdatePassword", + "summary": "Update rows", + "operationId": "tablesDBUpdateRows", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user password by its unique ID.", + "description": "Update all rows that match your queries, if no queries are submitted then all rows are updated. You can pass only specific fields to be updated.", "responses": { "200": { - "description": "User", + "description": "Rows List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/rowList" } } } @@ -69351,23 +68815,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePassword", - "group": "users", - "weight": 85, + "method": "updateRows", + "group": "rows", + "weight": 836, "cookies": false, "type": "", - "demo": "users\/update-password.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/update-rows.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } @@ -69380,12 +68847,22 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } @@ -69396,36 +68873,45 @@ "schema": { "type": "object", "properties": { - "password": { + "data": { + "type": "object", + "description": "Row data as JSON object. Include only column and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "transactionId": { "type": "string", - "description": "New user password. Must be at least 8 chars.", - "x-example": null + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "password" - ] + } } } } } - } - }, - "\/users\/{userId}\/phone": { - "patch": { - "summary": "Update phone", - "operationId": "usersUpdatePhone", + }, + "delete": { + "summary": "Delete rows", + "operationId": "tablesDBDeleteRows", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user phone by its unique ID.", + "description": "Bulk delete rows using queries, if no queries are passed then all rows are deleted.", "responses": { "200": { - "description": "User", + "description": "Rows List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/rowList" } } } @@ -69433,23 +68919,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePhone", - "group": "users", - "weight": 87, + "method": "deleteRows", + "group": "rows", + "weight": 840, "cookies": false, "type": "", - "demo": "users\/update-phone.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/delete-rows.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } @@ -69462,12 +68951,22 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" }, "in": "path" } @@ -69478,37 +68977,42 @@ "schema": { "type": "object", "properties": { - "number": { + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "transactionId": { "type": "string", - "description": "User phone number.", - "x-example": "+12065550100", - "format": "phone" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "number" - ] + } } } } } } }, - "\/users\/{userId}\/prefs": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}": { "get": { - "summary": "Get user preferences", - "operationId": "usersGetPrefs", + "summary": "Get row", + "operationId": "tablesDBGetRow", "tags": [ - "users" + "tablesDB" ], - "description": "Get the user preferences by its unique ID.", + "description": "Get a row by its unique ID. This endpoint response returns a JSON object with the row data.", "responses": { "200": { - "description": "Preferences", + "description": "Row", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/preferences" + "$ref": "#\/components\/schemas\/row" } } } @@ -69516,23 +69020,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "getPrefs", - "group": "users", - "weight": 73, + "method": "getRow", + "group": "rows", + "weight": 834, "cookies": false, "type": "", - "demo": "users\/get-prefs.md", + "demo": "tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "rows.read", + "documents.read" + ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -69540,36 +69049,81 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "query" } ] }, - "patch": { - "summary": "Update user preferences", - "operationId": "usersUpdatePrefs", + "put": { + "summary": "Upsert a row", + "operationId": "tablesDBUpsertRow", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user preferences by its unique ID. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.", + "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { - "200": { - "description": "Preferences", + "201": { + "description": "Row", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/preferences" + "$ref": "#\/components\/schemas\/row" } } } @@ -69577,23 +69131,60 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePrefs", - "group": "users", - "weight": 89, + "method": "upsertRow", + "group": "rows", + "weight": 837, "cookies": false, "type": "", - "demo": "users\/update-prefs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/upsert-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", + "methods": [ + { + "name": "upsertRow", + "namespace": "tablesDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "tableId", + "rowId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "tableId", + "rowId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/row" + } + ], + "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/upsert-row.md", + "public": true + } + ], "auth": { "Project": [] } @@ -69601,17 +69192,39 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" }, "in": "path" } @@ -69622,36 +69235,46 @@ "schema": { "type": "object", "properties": { - "prefs": { + "data": { "type": "object", - "description": "Prefs key-value JSON object.", - "x-example": "{}" + "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "prefs" - ] + } } } } } - } - }, - "\/users\/{userId}\/sessions": { - "get": { - "summary": "List user sessions", - "operationId": "usersListSessions", + }, + "patch": { + "summary": "Update row", + "operationId": "tablesDBUpdateRow", "tags": [ - "users" + "tablesDB" ], - "description": "Get the user sessions list by its unique ID.", + "description": "Update a row by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { "200": { - "description": "Sessions List", + "description": "Row", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/sessionList" + "$ref": "#\/components\/schemas\/row" } } } @@ -69659,26 +69282,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "listSessions", - "group": "sessions", - "weight": 75, + "method": "updateRow", + "group": "rows", + "weight": 835, "cookies": false, "type": "", - "demo": "users\/list-sessions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", + "demo": "tablesdb\/update-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": [ - "users.read", - "sessions.read" + "rows.write", + "documents.write" ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -69686,74 +69311,111 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" + }, + "in": "path" } - ] - }, - "post": { - "summary": "Create session", - "operationId": "usersCreateSession", - "tags": [ - "users" ], - "description": "Creates a session for a user. Returns an immediately usable session object.\n\nIf you want to generate a token for a custom authentication flow, use the [POST \/users\/{userId}\/tokens](https:\/\/appwrite.io\/docs\/server\/users#createToken) endpoint.", - "responses": { - "201": { - "description": "Session", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/session" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Row data as JSON object. Include only columns and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } } } } } + } + }, + "delete": { + "summary": "Delete row", + "operationId": "tablesDBDeleteRow", + "tags": [ + "tablesDB" + ], + "description": "Delete a row by its unique ID.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "createSession", - "group": "sessions", - "weight": 97, + "method": "deleteRow", + "group": "rows", + "weight": 839, "cookies": false, "type": "", - "demo": "users\/create-session.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", + "demo": "tablesdb\/delete-row.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": [ - "users.write", - "sessions.write" + "rows.write", + "documents.write" ], "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -69761,115 +69423,203 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete user sessions", - "operationId": "usersDeleteSessions", + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/logs": { + "get": { + "summary": "List row logs", + "operationId": "tablesDBListRowLogs", "tags": [ - "users" + "tablesDB" ], - "description": "Delete all user's sessions by using the user's unique ID.", + "description": "Get the row activity logs list by its unique ID.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Logs List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/logList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteSessions", - "group": "sessions", - "weight": 100, + "method": "listRowLogs", + "group": "logs", + "weight": 842, "cookies": false, "type": "", - "demo": "users\/delete-sessions.md", + "demo": "tablesdb\/list-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "users.write", - "sessions.write" + "rows.read", + "documents.read" ], "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" } ] } }, - "\/users\/{userId}\/sessions\/{sessionId}": { - "delete": { - "summary": "Delete user session", - "operationId": "usersDeleteSession", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/decrement": { + "patch": { + "summary": "Decrement row column", + "operationId": "tablesDBDecrementRowColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Delete a user sessions by its unique ID.", + "description": "Decrement a specific column of a row by a given value.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Row", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/row" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteSession", - "group": "sessions", - "weight": 99, + "method": "decrementRowColumn", + "group": "rows", + "weight": 844, "cookies": false, "type": "", - "demo": "users\/delete-session.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", + "demo": "tablesdb\/decrement-row-column.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": [ - "users.write", - "sessions.write" + "rows.write", + "documents.write" ], "platforms": [ + "client", + "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -69877,48 +69627,99 @@ "security": [ { "Project": [], + "Session": [], + "JWT": [], "Key": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "sessionId", - "description": "Session ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "schema": { "type": "string", - "x-example": "<SESSION_ID>" + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" + }, + "in": "path" + }, + { + "name": "column", + "description": "Column key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "Value to increment the column by. The value must be a number.", + "x-example": null, + "format": "float" + }, + "min": { + "type": "number", + "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + } + } } }, - "\/users\/{userId}\/status": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/increment": { "patch": { - "summary": "Update user status", - "operationId": "usersUpdateStatus", + "summary": "Increment row column", + "operationId": "tablesDBIncrementRowColumn", "tags": [ - "users" + "tablesDB" ], - "description": "Update the user status by its unique ID. Use this endpoint as an alternative to deleting a user if you want to keep user's ID reserved.", + "description": "Increment a specific column of a row by a given value.", "responses": { "200": { - "description": "User", + "description": "Row", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/row" } } } @@ -69926,23 +69727,28 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateStatus", - "group": "users", - "weight": 80, + "method": "incrementRowColumn", + "group": "rows", + "weight": 843, "cookies": false, "type": "", - "demo": "users\/update-status.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/increment-row-column.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ + "client", + "server", "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -69950,17 +69756,48 @@ "security": [ { "Project": [], + "Session": [], + "JWT": [], "Key": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TABLE_ID>" + }, + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<ROW_ID>" + }, + "in": "path" + }, + { + "name": "column", + "description": "Column key.", + "required": true, + "schema": { + "type": "string" }, "in": "path" } @@ -69971,36 +69808,47 @@ "schema": { "type": "object", "properties": { - "status": { - "type": "boolean", - "description": "User Status. To activate the user pass `true` and to block the user pass `false`.", - "x-example": false + "value": { + "type": "number", + "description": "Value to increment the column by. The value must be a number.", + "x-example": null, + "format": "float" + }, + "max": { + "type": "number", + "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "status" - ] + } } } } } } }, - "\/users\/{userId}\/targets": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/usage": { "get": { - "summary": "List user targets", - "operationId": "usersListTargets", + "summary": "Get table usage stats", + "operationId": "tablesDBGetTableUsage", "tags": [ - "users" + "tablesDB" ], - "description": "List the messaging targets that are associated with a user.", + "description": "Get usage metrics and statistics for a table. Returning the total number of rows. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "Target list", + "description": "UsageTable", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/targetList" + "$ref": "#\/components\/schemas\/usageTable" } } } @@ -70008,84 +69856,95 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTargets", - "group": "targets", - "weight": 78, + "method": "getTableUsage", + "group": null, + "weight": 789, "cookies": false, "type": "", - "demo": "users\/list-targets.md", + "demo": "tablesdb\/get-table-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.read", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ - "server", "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "name": "range", + "description": "Date range.", "required": false, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<TABLE_ID>" }, - "in": "query" + "in": "path" } ] - }, - "post": { - "summary": "Create user target", - "operationId": "usersCreateTarget", + } + }, + "\/tablesdb\/{databaseId}\/usage": { + "get": { + "summary": "Get TablesDB usage stats", + "operationId": "tablesDBGetUsage", "tags": [ - "users" + "tablesDB" ], - "description": "Create a messaging target.", + "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "Target", + "200": { + "description": "UsageDatabase", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/target" + "$ref": "#\/components\/schemas\/usageDatabase" } } } @@ -70093,110 +69952,111 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTarget", - "group": "targets", - "weight": 70, + "method": "getUsage", + "group": null, + "weight": 781, "cookies": false, "type": "", - "demo": "users\/create-target.md", + "demo": "tablesdb\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ - "server", "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", + "methods": [ + { + "name": "getUsage", + "namespace": "tablesDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageDatabase" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "tablesdb\/get-usage.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<DATABASE_ID>" }, "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "targetId": { - "type": "string", - "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<TARGET_ID>" - }, - "providerType": { - "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "x-example": "email", - "enum": [ - "email", - "sms", - "push" - ], - "x-enum-name": "MessagingProviderType", - "x-enum-keys": [] - }, - "identifier": { - "type": "string", - "description": "The target identifier (token, email, phone etc.)", - "x-example": "<IDENTIFIER>" - }, - "providerId": { - "type": "string", - "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", - "x-example": "<NAME>" - } - }, - "required": [ - "targetId", - "providerType", - "identifier" - ] - } - } - } - } + ] } }, - "\/users\/{userId}\/targets\/{targetId}": { + "\/teams": { "get": { - "summary": "Get user target", - "operationId": "usersGetTarget", + "summary": "List teams", + "operationId": "teamsList", "tags": [ - "users" + "teams" ], - "description": "Get a user's push notification target by ID.", + "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", "responses": { "200": { - "description": "Target", + "description": "Teams List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/target" + "$ref": "#\/components\/schemas\/teamList" } } } @@ -70204,23 +70064,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTarget", - "group": "targets", - "weight": 74, + "method": "list", + "group": "teams", + "weight": 531, "cookies": false, "type": "", - "demo": "users\/get-target.md", + "demo": "teams\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.read", + "scope": "teams.read", "platforms": [ + "console", + "client", "server", - "console" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -70228,46 +70090,63 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan", + "required": false, "schema": { - "type": "string", - "x-example": "<USER_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "targetId", - "description": "Target ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TARGET_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] }, - "patch": { - "summary": "Update user target", - "operationId": "usersUpdateTarget", + "post": { + "summary": "Create team", + "operationId": "teamsCreate", "tags": [ - "users" + "teams" ], - "description": "Update a messaging target.", + "description": "Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.", "responses": { - "200": { - "description": "Target", + "201": { + "description": "Team", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/target" + "$ref": "#\/components\/schemas\/team" } } } @@ -70275,23 +70154,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTarget", - "group": "targets", - "weight": 90, + "method": "create", + "group": "teams", + "weight": 529, "cookies": false, "type": "", - "demo": "users\/update-target.md", + "demo": "teams\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": "teams.write", "platforms": [ + "console", + "client", "server", - "console" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -70299,29 +70180,9 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "userId", - "description": "User ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<USER_ID>" - }, - "in": "path" - }, - { - "name": "targetId", - "description": "Target ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TARGET_ID>" - }, - "in": "path" + "Session": [], + "Key": [], + "JWT": [] } ], "requestBody": { @@ -70330,58 +70191,76 @@ "schema": { "type": "object", "properties": { - "identifier": { - "type": "string", - "description": "The target identifier (token, email, phone etc.)", - "x-example": "<IDENTIFIER>" - }, - "providerId": { + "teamId": { "type": "string", - "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "x-example": "<PROVIDER_ID>" + "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TEAM_ID>" }, "name": { "type": "string", - "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", + "description": "Team name. Max length: 128 chars.", "x-example": "<NAME>" + }, + "roles": { + "type": "array", + "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } } - } + }, + "required": [ + "teamId", + "name" + ] } } } } - }, - "delete": { - "summary": "Delete user target", - "operationId": "usersDeleteTarget", + } + }, + "\/teams\/{teamId}": { + "get": { + "summary": "Get team", + "operationId": "teamsGet", "tags": [ - "users" + "teams" ], - "description": "Delete a messaging target.", + "description": "Get a team by its ID. All team members have read access for this resource.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Team", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/team" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTarget", - "group": "targets", - "weight": 102, + "method": "get", + "group": "teams", + "weight": 530, "cookies": false, "type": "", - "demo": "users\/delete-target.md", + "demo": "teams\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": "teams.read", "platforms": [ + "console", + "client", "server", - "console" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -70389,48 +70268,38 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<USER_ID>" - }, - "in": "path" - }, - { - "name": "targetId", - "description": "Target ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<TARGET_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" } ] - } - }, - "\/users\/{userId}\/tokens": { - "post": { - "summary": "Create token", - "operationId": "usersCreateToken", + }, + "put": { + "summary": "Update name", + "operationId": "teamsUpdateName", "tags": [ - "users" + "teams" ], - "description": "Returns a token with a secret key for creating a session. Use the user ID and secret and submit a request to the [PUT \/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process.\n", + "description": "Update the team's name by its unique ID.", "responses": { - "201": { - "description": "Token", + "200": { + "description": "Team", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/token" + "$ref": "#\/components\/schemas\/team" } } } @@ -70438,23 +70307,25 @@ }, "deprecated": false, "x-appwrite": { - "method": "createToken", - "group": "sessions", - "weight": 98, + "method": "updateName", + "group": "teams", + "weight": 533, "cookies": false, "type": "", - "demo": "users\/create-token.md", + "demo": "teams\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": "teams.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -70462,17 +70333,19 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" } @@ -70483,64 +70356,53 @@ "schema": { "type": "object", "properties": { - "length": { - "type": "integer", - "description": "Token length in characters. The default length is 6 characters", - "x-example": 4, - "format": "int32" - }, - "expire": { - "type": "integer", - "description": "Token expiration period in seconds. The default expiration is 15 minutes.", - "x-example": 60, - "format": "int32" + "name": { + "type": "string", + "description": "New team name. Max length: 128 chars.", + "x-example": "<NAME>" } - } + }, + "required": [ + "name" + ] } } } } - } - }, - "\/users\/{userId}\/verification": { - "patch": { - "summary": "Update email verification", - "operationId": "usersUpdateEmailVerification", + }, + "delete": { + "summary": "Delete team", + "operationId": "teamsDelete", "tags": [ - "users" + "teams" ], - "description": "Update the user email verification status by its unique ID.", + "description": "Delete a team using its ID. Only team members with the owner role can delete the team.", "responses": { - "200": { - "description": "User", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/user" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateEmailVerification", - "group": "users", - "weight": 88, + "method": "delete", + "group": "teams", + "weight": 532, "cookies": false, "type": "", - "demo": "users\/update-email-verification.md", + "demo": "teams\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": "teams.write", "platforms": [ "console", + "client", + "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -70548,57 +70410,40 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "emailVerification": { - "type": "boolean", - "description": "User email verification status.", - "x-example": false - } - }, - "required": [ - "emailVerification" - ] - } - } - } - } + ] } }, - "\/users\/{userId}\/verification\/phone": { - "patch": { - "summary": "Update phone verification", - "operationId": "usersUpdatePhoneVerification", + "\/teams\/{teamId}\/logs": { + "get": { + "summary": "List team logs", + "operationId": "teamsListLogs", "tags": [ - "users" + "teams" ], - "description": "Update the user phone verification status by its unique ID.", + "description": "Get the team activity logs list by its unique ID.", "responses": { "200": { - "description": "User", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/user" + "$ref": "#\/components\/schemas\/logList" } } } @@ -70606,95 +70451,84 @@ }, "deprecated": false, "x-appwrite": { - "method": "updatePhoneVerification", - "group": "users", - "weight": 83, + "method": "listLogs", + "group": "logs", + "weight": 542, "cookies": false, "type": "", - "demo": "users\/update-phone-verification.md", + "demo": "teams\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<USER_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "phoneVerification": { - "type": "boolean", - "description": "User phone verification status.", - "x-example": false - } - }, - "required": [ - "phoneVerification" - ] - } - } - } - } + ] } }, - "\/vcs\/github\/installations\/{installationId}\/detections": { - "post": { - "summary": "Create repository detection", - "operationId": "vcsCreateRepositoryDetection", + "\/teams\/{teamId}\/memberships": { + "get": { + "summary": "List team memberships", + "operationId": "teamsListMemberships", "tags": [ - "vcs" + "teams" ], - "description": "Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "description": "Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.", "responses": { "200": { - "description": "DetectionRuntime, or DetectionFramework", + "description": "Memberships List", "content": { "application\/json": { "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/detectionRuntime" - }, - { - "$ref": "#\/components\/schemas\/detectionFramework" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "runtime": "#\/components\/schemas\/detectionRuntime", - "framework": "#\/components\/schemas\/detectionFramework" - } - } + "$ref": "#\/components\/schemas\/membershipList" } } } @@ -70702,166 +70536,58 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRepositoryDetection", - "group": "repositories", - "weight": 568, - "cookies": false, - "type": "", - "demo": "vcs\/create-repository-detection.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "installationId", - "description": "Installation Id", - "required": true, - "schema": { - "type": "string", - "x-example": "<INSTALLATION_ID>" - }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "providerRepositoryId": { - "type": "string", - "description": "Repository Id", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "type": { - "type": "string", - "description": "Detector type. Must be one of the following: runtime, framework", - "x-example": "runtime", - "enum": [ - "runtime", - "framework" - ], - "x-enum-name": "VCSDetectionType", - "x-enum-keys": [] - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to Root Directory", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - } - }, - "required": [ - "providerRepositoryId", - "type" - ] - } - } - } - } - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories": { - "get": { - "summary": "List repositories", - "operationId": "vcsListRepositories", - "tags": [ - "vcs" - ], - "description": "Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.", - "responses": { - "200": { - "description": "Runtime Provider Repositories List, or Framework Provider Repositories List", - "content": { - "application\/json": { - "schema": { - "oneOf": [ - { - "$ref": "#\/components\/schemas\/providerRepositoryRuntimeList" - }, - { - "$ref": "#\/components\/schemas\/providerRepositoryFrameworkList" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "runtime": "#\/components\/schemas\/providerRepositoryRuntimeList", - "framework": "#\/components\/schemas\/providerRepositoryFrameworkList" - } - } - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listRepositories", - "group": "repositories", - "weight": 565, + "method": "listMemberships", + "group": "memberships", + "weight": 538, "cookies": false, "type": "", - "demo": "vcs\/list-repositories.md", + "demo": "teams\/list-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.read", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" }, { - "name": "type", - "description": "Detector type. Must be one of the following: runtime, framework", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "required": false, "schema": { - "type": "string", - "x-example": "runtime", - "enum": [ - "runtime", - "framework" - ], - "x-enum-name": "VCSDetectionType", - "x-enum-keys": [] + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, "in": "query" }, @@ -70877,34 +70603,32 @@ "in": "query" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] }, "post": { - "summary": "Create repository", - "operationId": "vcsCreateRepository", + "summary": "Create team membership", + "operationId": "teamsCreateMembership", "tags": [ - "vcs" + "teams" ], - "description": "Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.", + "description": "Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team.\n\nYou only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters.\n\nUse the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. \n\nPlease note that to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.\n", "responses": { - "200": { - "description": "ProviderRepository", + "201": { + "description": "Membership", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/providerRepository" + "$ref": "#\/components\/schemas\/membership" } } } @@ -70912,39 +70636,45 @@ }, "deprecated": false, "x-appwrite": { - "method": "createRepository", - "group": "repositories", - "weight": 563, + "method": "createMembership", + "group": "memberships", + "weight": 536, "cookies": false, "type": "", - "demo": "vcs\/create-repository.md", - "rate-limit": 0, + "demo": "teams\/create-membership.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", + "scope": "teams.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" } @@ -70955,20 +70685,45 @@ "schema": { "type": "object", "properties": { + "email": { + "type": "string", + "description": "Email of the new team member.", + "x-example": "email@example.com", + "format": "email" + }, + "userId": { + "type": "string", + "description": "ID of the user to be added to a team.", + "x-example": "<USER_ID>" + }, + "phone": { + "type": "string", + "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone" + }, + "roles": { + "type": "array", + "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "url": { + "type": "string", + "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "x-example": "https:\/\/example.com", + "format": "url" + }, "name": { "type": "string", - "description": "Repository name (slug)", + "description": "Name of the new team member. Max length: 128 chars.", "x-example": "<NAME>" - }, - "private": { - "type": "boolean", - "description": "Mark repository public or private", - "x-example": false } }, "required": [ - "name", - "private" + "roles" ] } } @@ -70976,21 +70731,21 @@ } } }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}": { + "\/teams\/{teamId}\/memberships\/{membershipId}": { "get": { - "summary": "Get repository", - "operationId": "vcsGetRepository", + "summary": "Get team membership", + "operationId": "teamsGetMembership", "tags": [ - "vcs" + "teams" ], - "description": "Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.", + "description": "Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.", "responses": { "200": { - "description": "ProviderRepository", + "description": "Membership", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/providerRepository" + "$ref": "#\/components\/schemas\/membership" } } } @@ -70998,70 +70753,74 @@ }, "deprecated": false, "x-appwrite": { - "method": "getRepository", - "group": "repositories", - "weight": 564, + "method": "getMembership", + "group": "memberships", + "weight": 537, "cookies": false, "type": "", - "demo": "vcs\/get-repository.md", + "demo": "teams\/get-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.read", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", + "name": "membershipId", + "description": "Membership ID.", "required": true, "schema": { "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<MEMBERSHIP_ID>" }, "in": "path" } ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/branches": { - "get": { - "summary": "List repository branches", - "operationId": "vcsListRepositoryBranches", + }, + "patch": { + "summary": "Update team membership", + "operationId": "teamsUpdateMembership", "tags": [ - "vcs" + "teams" ], - "description": "Get a list of branches from a GitHub repository in your installation. This endpoint supports filtering by a search term and pagination using query strings such as `Query.limit()`, `Query.offset()`, `Query.cursorAfter()`, and `Query.cursorBefore()`. It returns branch names along with the total number of matches. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.\n", + "description": "Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions).\n", "responses": { "200": { - "description": "Branches List", + "description": "Membership", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/branchList" + "$ref": "#\/components\/schemas\/membership" } } } @@ -71069,230 +70828,220 @@ }, "deprecated": false, "x-appwrite": { - "method": "listRepositoryBranches", - "group": "repositories", - "weight": 566, + "method": "updateMembership", + "group": "memberships", + "weight": 539, "cookies": false, "type": "", - "demo": "vcs\/list-repository-branches.md", + "demo": "teams\/update-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", + "name": "membershipId", + "description": "Membership ID.", "required": true, "schema": { "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<MEMBERSHIP_ID>" }, "in": "path" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit, offset, cursorAfter, and cursorBefore", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" } - ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/contents": { - "get": { - "summary": "Get files and directories of a VCS repository", - "operationId": "vcsGetRepositoryContents", - "tags": [ - "vcs" ], - "description": "Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", - "responses": { - "200": { - "description": "VCS Content List", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/vcsContentList" - } + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "x-example": null, + "items": { + "type": "string" + } + } + }, + "required": [ + "roles" + ] } } } + } + }, + "delete": { + "summary": "Delete team membership", + "operationId": "teamsDeleteMembership", + "tags": [ + "teams" + ], + "description": "This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "getRepositoryContents", - "group": "repositories", - "weight": 567, + "method": "deleteMembership", + "group": "memberships", + "weight": 1261, "cookies": false, "type": "", - "demo": "vcs\/get-repository-contents.md", + "demo": "teams\/delete-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.write", "platforms": [ - "console" + "console", + "client", + "server", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", + "name": "membershipId", + "description": "Membership ID.", "required": true, "schema": { "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<MEMBERSHIP_ID>" }, "in": "path" - }, - { - "name": "providerRootDirectory", - "description": "Path to get contents of nested directory", - "required": false, - "schema": { - "type": "string", - "x-example": "<PROVIDER_ROOT_DIRECTORY>", - "default": "" - }, - "in": "query" - }, - { - "name": "providerReference", - "description": "Git reference (branch, tag, commit) to get contents from", - "required": false, - "schema": { - "type": "string", - "x-example": "<PROVIDER_REFERENCE>", - "default": "" - }, - "in": "query" } ] } }, - "\/vcs\/github\/installations\/{installationId}\/repositories\/{repositoryId}": { + "\/teams\/{teamId}\/memberships\/{membershipId}\/status": { "patch": { - "summary": "Update external deployment (authorize)", - "operationId": "vcsUpdateExternalDeployments", + "summary": "Update team membership status", + "operationId": "teamsUpdateMembershipStatus", "tags": [ - "vcs" + "teams" ], - "description": "Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.", + "description": "Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.\n\nIf the request is successful, a session for the user is automatically created.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Membership", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/membership" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "updateExternalDeployments", - "group": "repositories", - "weight": 1206, + "method": "updateMembershipStatus", + "group": "memberships", + "weight": 541, "cookies": false, "type": "", - "demo": "vcs\/update-external-deployments.md", + "demo": "teams\/update-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", + "scope": "public", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" }, { - "name": "repositoryId", - "description": "VCS Repository Id", + "name": "membershipId", + "description": "Membership ID.", "required": true, "schema": { "type": "string", - "x-example": "<REPOSITORY_ID>" + "x-example": "<MEMBERSHIP_ID>" }, "in": "path" } @@ -71303,14 +71052,20 @@ "schema": { "type": "object", "properties": { - "providerPullRequestId": { + "userId": { "type": "string", - "description": "GitHub Pull Request Id", - "x-example": "<PROVIDER_PULL_REQUEST_ID>" + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "secret": { + "type": "string", + "description": "Secret key.", + "x-example": "<SECRET>" } }, "required": [ - "providerPullRequestId" + "userId", + "secret" ] } } @@ -71318,21 +71073,21 @@ } } }, - "\/vcs\/installations": { + "\/teams\/{teamId}\/prefs": { "get": { - "summary": "List installations", - "operationId": "vcsListInstallations", + "summary": "Get team preferences", + "operationId": "teamsGetPrefs", "tags": [ - "vcs" + "teams" ], - "description": "List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.\n", + "description": "Get the team's shared preferences by its unique ID. If a preference doesn't need to be shared by all team members, prefer storing them in [user preferences](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#getPrefs).", "responses": { "200": { - "description": "Installations List", + "description": "Preferences", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/installationList" + "$ref": "#\/components\/schemas\/preferences" } } } @@ -71340,85 +71095,62 @@ }, "deprecated": false, "x-appwrite": { - "method": "listInstallations", - "group": "installations", - "weight": 561, + "method": "getPrefs", + "group": "teams", + "weight": 534, "cookies": false, "type": "", - "demo": "vcs\/list-installations.md", + "demo": "teams\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: provider, organization", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "teamId", + "description": "Team ID.", + "required": true, "schema": { "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true + "x-example": "<TEAM_ID>" }, - "in": "query" + "in": "path" } ] - } - }, - "\/vcs\/installations\/{installationId}": { - "get": { - "summary": "Get installation", - "operationId": "vcsGetInstallation", + }, + "put": { + "summary": "Update team preferences", + "operationId": "teamsUpdatePrefs", "tags": [ - "vcs" + "teams" ], - "description": "Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. ", + "description": "Update the team's preferences by its unique ID. The object you pass is stored as is and replaces any previous value. The maximum allowed prefs size is 64kB and throws an error if exceeded.", "responses": { "200": { - "description": "Installation", + "description": "Preferences", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/installation" + "$ref": "#\/components\/schemas\/preferences" } } } @@ -71426,112 +71158,83 @@ }, "deprecated": false, "x-appwrite": { - "method": "getInstallation", - "group": "installations", - "weight": 560, + "method": "updatePrefs", + "group": "teams", + "weight": 535, "cookies": false, "type": "", - "demo": "vcs\/get-installation.md", + "demo": "teams\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": "teams.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "teamId", + "description": "Team ID.", "required": true, "schema": { "type": "string", - "x-example": "<INSTALLATION_ID>" + "x-example": "<TEAM_ID>" }, "in": "path" } - ] - }, - "delete": { - "summary": "Delete installation", - "operationId": "vcsDeleteInstallation", - "tags": [ - "vcs" - ], - "description": "Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteInstallation", - "group": "installations", - "weight": 562, - "cookies": false, - "type": "", - "demo": "vcs\/delete-installation.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } ], - "parameters": [ - { - "name": "installationId", - "description": "Installation Id", - "required": true, - "schema": { - "type": "string", - "x-example": "<INSTALLATION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "prefs": { + "type": "object", + "description": "Prefs key-value JSON object.", + "x-example": "{}" + } + }, + "required": [ + "prefs" + ] + } + } } - ] + } } }, - "\/vectorsdb": { + "\/tokens\/buckets\/{bucketId}\/files\/{fileId}": { "get": { - "summary": "List databases", - "operationId": "vectorsDBList", + "summary": "List tokens", + "operationId": "tokensList", "tags": [ - "vectorsDB" + "tokens" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": "List all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "responses": { "200": { - "description": "Databases List", + "description": "Resource Tokens List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/databaseList" + "$ref": "#\/components\/schemas\/resourceTokenList" } } } @@ -71540,22 +71243,21 @@ "deprecated": false, "x-appwrite": { "method": "list", - "group": "vectorsdb", - "weight": 876, + "group": "files", + "weight": 545, "cookies": false, "type": "", - "demo": "vectorsdb\/list.md", + "demo": "tokens\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "tokens.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list.md", "auth": { "Project": [] } @@ -71567,9 +71269,29 @@ } ], "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "schema": { + "type": "string", + "x-example": "<BUCKET_ID>" + }, + "in": "path" + }, + { + "name": "fileId", + "description": "File unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FILE_ID>" + }, + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire", "required": false, "schema": { "type": "array", @@ -71580,17 +71302,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -71605,19 +71316,19 @@ ] }, "post": { - "summary": "Create database", - "operationId": "vectorsDBCreate", + "summary": "Create file token", + "operationId": "tokensCreateFileToken", "tags": [ - "vectorsDB" + "tokens" ], - "description": "Create a new Database.\n", + "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "responses": { "201": { - "description": "Database", + "description": "ResourceToken", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/resourceToken" } } } @@ -71625,23 +71336,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "vectorsdb", - "weight": 872, + "method": "createFileToken", + "group": "files", + "weight": 543, "cookies": false, "type": "", - "demo": "vectorsdb\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "demo": "tokens\/create-file-token.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "tokens.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create.md", "auth": { "Project": [] } @@ -71652,53 +71362,63 @@ "Key": [] } ], + "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "schema": { + "type": "string", + "x-example": "<BUCKET_ID>" + }, + "in": "path" + }, + { + "name": "fileId", + "description": "File unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<FILE_ID>" + }, + "in": "path" + } + ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DATABASE_ID>" - }, - "name": { + "expire": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false + "description": "Token expiry date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } - }, - "required": [ - "databaseId", - "name" - ] + } } } } } } }, - "\/vectorsdb\/embeddings\/text": { - "post": { - "summary": "Create Text Embeddings", - "operationId": "vectorsDBCreateTextEmbeddings", + "\/tokens\/{tokenId}": { + "get": { + "summary": "Get token", + "operationId": "tokensGet", "tags": [ - "vectorsDB" + "tokens" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Get a token by its unique ID.", "responses": { "200": { - "description": "Embedding list", + "description": "ResourceToken", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/embeddingList" + "$ref": "#\/components\/schemas\/resourceToken" } } } @@ -71706,50 +71426,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "createTextEmbeddings", - "group": "documents", - "weight": 898, + "method": "get", + "group": "tokens", + "weight": 544, "cookies": false, "type": "", - "demo": "vectorsdb\/create-text-embeddings.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "tokens\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "tokens.read", "platforms": [ "console", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", - "methods": [ - { - "name": "createTextEmbeddings", - "namespace": "vectorsDB", - "desc": "Create Text Embedding", - "auth": { - "Project": [] - }, - "parameters": [ - "texts", - "model" - ], - "required": [ - "texts" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/embeddingList" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-text-embeddings.md", - "public": true - } - ], "auth": { "Project": [] } @@ -71757,59 +71449,36 @@ "security": [ { "Project": [], - "Key": [], - "JWT": [] + "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "texts": { - "type": "array", - "description": "Array of text to generate embeddings.", - "x-example": null, - "items": { - "type": "string" - } - }, - "model": { - "type": "string", - "description": "The embedding model to use for generating vector embeddings.", - "x-example": "embeddinggemma", - "enum": [ - "embeddinggemma" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "texts" - ] - } - } + "parameters": [ + { + "name": "tokenId", + "description": "Token ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TOKEN_ID>" + }, + "in": "path" } - } - } - }, - "\/vectorsdb\/transactions": { - "get": { - "summary": "List transactions", - "operationId": "vectorsDBListTransactions", + ] + }, + "patch": { + "summary": "Update token", + "operationId": "tokensUpdate", "tags": [ - "vectorsDB" + "tokens" ], - "description": "List transactions across all databases.", + "description": "Update a token by its unique ID. Use this endpoint to update a token's expiry date.", "responses": { "200": { - "description": "Transaction List", + "description": "ResourceToken", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transactionList" + "$ref": "#\/components\/schemas\/resourceToken" } } } @@ -71817,25 +71486,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 903, + "method": "update", + "group": "tokens", + "weight": 546, "cookies": false, "type": "", - "demo": "vectorsdb\/list-transactions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "demo": "tokens\/update.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "tokens.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-transactions.md", "auth": { "Project": [] } @@ -71843,67 +71509,70 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, + "name": "tokenId", + "description": "Token unique ID.", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "type": "string", + "x-example": "<TOKEN_ID>" }, - "in": "query" + "in": "path" } - ] - }, - "post": { - "summary": "Create transaction", - "operationId": "vectorsDBCreateTransaction", - "tags": [ - "vectorsDB" ], - "description": "Create a new transaction.", - "responses": { - "201": { - "description": "Transaction", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/transaction" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "expire": { + "type": "string", + "description": "File token expiry date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } } } } } + } + }, + "delete": { + "summary": "Delete token", + "operationId": "tokensDelete", + "tags": [ + "tokens" + ], + "description": "Delete a token by its unique ID.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 899, + "method": "delete", + "group": "tokens", + "weight": 547, "cookies": false, "type": "", - "demo": "vectorsdb\/create-transaction.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "demo": "tokens\/delete.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "tokens.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-transaction.md", "auth": { "Project": [] } @@ -71911,45 +71580,38 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "x-example": 60, - "format": "int32" - } - } - } - } + "parameters": [ + { + "name": "tokenId", + "description": "Token ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TOKEN_ID>" + }, + "in": "path" } - } + ] } }, - "\/vectorsdb\/transactions\/{transactionId}": { + "\/usage\/events": { "get": { - "summary": "Get transaction", - "operationId": "vectorsDBGetTransaction", + "summary": "List usage events", + "operationId": "usageListEvents", "tags": [ - "vectorsDB" + "usage" ], - "description": "Get a transaction by its unique ID.", + "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.", "responses": { "200": { - "description": "Transaction", + "description": "Usage events list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/usageEventList" } } } @@ -71957,25 +71619,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 900, + "method": "listEvents", + "group": "events", + "weight": 1273, "cookies": false, "type": "", - "demo": "vectorsdb\/get-transaction.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "demo": "usage\/list-events.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-transaction.md", "auth": { "Project": [] } @@ -71983,38 +71642,52 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, + "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).", + "required": false, "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - }, - "patch": { - "summary": "Update transaction", - "operationId": "vectorsDBUpdateTransaction", + } + }, + "\/usage\/gauges": { + "get": { + "summary": "List usage gauges", + "operationId": "usageListGauges", "tags": [ - "vectorsDB" + "usage" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, and timestamp. 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.", "responses": { "200": { - "description": "Transaction", + "description": "Usage gauges list", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/usageGaugeList" } } } @@ -72022,25 +71695,22 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 901, + "method": "listGauges", + "group": "gauges", + "weight": 1274, "cookies": false, "type": "", - "demo": "vectorsdb\/update-transaction.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "demo": "usage\/list-gauges.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-transaction.md", "auth": { "Project": [] } @@ -72048,78 +71718,76 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, + "name": "queries", + "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "required": false, "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } + ] + } + }, + "\/users": { + "get": { + "summary": "List users", + "operationId": "usersList", + "tags": [ + "users" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "x-example": false - }, - "rollback": { - "type": "boolean", - "description": "Rollback transaction?", - "x-example": false - } + "description": "Get a list of all the project's users. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Users List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/userList" } } } } - } - }, - "delete": { - "summary": "Delete transaction", - "operationId": "vectorsDBDeleteTransaction", - "tags": [ - "vectorsDB" - ], - "description": "Delete a transaction by its unique ID.", - "responses": { - "204": { - "description": "No content" - } }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 902, + "method": "list", + "group": "users", + "weight": 70, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-transaction.md", + "demo": "users\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "users.read", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -72127,40 +71795,61 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/vectorsdb\/transactions\/{transactionId}\/operations": { + }, "post": { - "summary": "Create operations", - "operationId": "vectorsDBCreateOperations", + "summary": "Create user", + "operationId": "usersCreate", "tags": [ - "vectorsDB" + "users" ], - "description": "Create multiple operations in a single transaction.", + "description": "Create a new user.", "responses": { "201": { - "description": "Transaction", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/transaction" + "$ref": "#\/components\/schemas\/user" } } } @@ -72168,25 +71857,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 904, + "method": "create", + "group": "users", + "weight": 61, "cookies": false, "type": "", - "demo": "vectorsdb\/create-operations.md", + "demo": "users\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "users.write", "platforms": [ "console", - "server", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-operations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -72194,21 +71881,7 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "path" + "Key": [] } ], "requestBody": { @@ -72217,36 +71890,60 @@ "schema": { "type": "object", "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "phone": { + "type": "string", + "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone", + "x-nullable": true + }, + "password": { + "type": "string", + "description": "Plain text user password. Must be at least 8 chars.", + "x-example": null + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" } - } + }, + "required": [ + "userId" + ] } } } } } }, - "\/vectorsdb\/usage": { - "get": { - "summary": "Get VectorsDB usage stats", - "operationId": "vectorsDBListUsage", + "\/users\/argon2": { + "post": { + "summary": "Create user with Argon2 password", + "operationId": "usersCreateArgon2User", "tags": [ - "vectorsDB" + "users" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a new user. Password provided must be hashed with the [Argon2](https:\/\/en.wikipedia.org\/wiki\/Argon2) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "UsageVectorsDBs", + "201": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageVectorsDBs" + "$ref": "#\/components\/schemas\/user" } } } @@ -72254,95 +71951,88 @@ }, "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 878, + "method": "createArgon2User", + "group": "users", + "weight": 64, "cookies": false, "type": "", - "demo": "vectorsdb\/list-usage.md", + "demo": "users\/create-argon-2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageVectorsDBs" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "vectorsdb\/list-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], - "parameters": [ - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using Argon2.", + "x-example": "password", + "format": "password" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } + } } - ] + } } }, - "\/vectorsdb\/{databaseId}": { - "get": { - "summary": "Get database", - "operationId": "vectorsDBGet", + "\/users\/bcrypt": { + "post": { + "summary": "Create user with bcrypt password", + "operationId": "usersCreateBcryptUser", "tags": [ - "vectorsDB" + "users" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Create a new user. Password provided must be hashed with the [Bcrypt](https:\/\/en.wikipedia.org\/wiki\/Bcrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "Database", + "201": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/database" + "$ref": "#\/components\/schemas\/user" } } } @@ -72350,84 +72040,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "vectorsdb", - "weight": 873, + "method": "createBcryptUser", + "group": "users", + "weight": 62, "cookies": false, "type": "", - "demo": "vectorsdb\/get.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - } - ] - }, - "put": { - "summary": "Update database", - "operationId": "vectorsDBUpdate", - "tags": [ - "vectorsDB" - ], - "description": "Update a database by its unique ID.", - "responses": { - "200": { - "description": "Database", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/database" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "update", - "group": "vectorsdb", - "weight": 874, - "cookies": false, - "type": "", - "demo": "vectorsdb\/update.md", + "demo": "users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -72438,113 +72067,61 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using Bcrypt.", + "x-example": "password", + "format": "password" + }, "name": { "type": "string", - "description": "Database name. Max length: 128 chars.", + "description": "User name. Max length: 128 chars.", "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "x-example": false } }, "required": [ - "name" + "userId", + "email", + "password" ] } } } } - }, - "delete": { - "summary": "Delete database", - "operationId": "vectorsDBDelete", - "tags": [ - "vectorsDB" - ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "delete", - "group": "vectorsdb", - "weight": 875, - "cookies": false, - "type": "", - "demo": "vectorsdb\/delete.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - } - ] } }, - "\/vectorsdb\/{databaseId}\/collections": { + "\/users\/identities": { "get": { - "summary": "List collections", - "operationId": "vectorsDBListCollections", + "summary": "List identities", + "operationId": "usersListIdentities", "tags": [ - "vectorsDB" + "users" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "Get identities for all users.", "responses": { "200": { - "description": "VectorsDB Collections List", + "description": "Identities List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/vectorsdbCollectionList" + "$ref": "#\/components\/schemas\/identityList" } } } @@ -72552,23 +72129,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 883, + "method": "listIdentities", + "group": "identities", + "weight": 78, "cookies": false, "type": "", - "demo": "vectorsdb\/list-collections.md", + "demo": "users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-collections.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -72580,19 +72157,9 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry", "required": false, "schema": { "type": "array", @@ -72626,45 +72193,40 @@ "in": "query" } ] - }, - "post": { - "summary": "Create collection", - "operationId": "vectorsDBCreateCollection", + } + }, + "\/users\/identities\/{identityId}": { + "delete": { + "summary": "Delete identity", + "operationId": "usersDeleteIdentity", "tags": [ - "vectorsDB" + "users" ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Delete an identity by its unique ID.", "responses": { - "201": { - "description": "VectorsDB Collection", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/vectorsdbCollection" - } - } - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 879, + "method": "deleteIdentity", + "group": "identities", + "weight": 102, "cookies": false, "type": "", - "demo": "vectorsdb\/create-collection.md", + "demo": "users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -72677,15 +72239,66 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "identityId", + "description": "Identity ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<IDENTITY_ID>" }, "in": "path" } + ] + } + }, + "\/users\/md5": { + "post": { + "summary": "Create user with MD5 password", + "operationId": "usersCreateMD5User", + "tags": [ + "users" + ], + "description": "Create a new user. Password provided must be hashed with the [MD5](https:\/\/en.wikipedia.org\/wiki\/MD5) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "responses": { + "201": { + "description": "User", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/user" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createMD5User", + "group": "users", + "weight": 63, + "cookies": false, + "type": "", + "demo": "users\/create-md-5-user.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } ], "requestBody": { "content": { @@ -72693,45 +72306,33 @@ "schema": { "type": "object", "properties": { - "collectionId": { + "userId": { "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<COLLECTION_ID>" + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" }, - "name": { + "email": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "dimension": { - "type": "integer", - "description": "Embedding dimension.", - "x-example": 1, - "format": "int32" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "description": "User email.", + "x-example": "email@example.com", + "format": "email" }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false + "password": { + "type": "string", + "description": "User password hashed using MD5.", + "x-example": "password", + "format": "password" }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "x-example": false + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" } }, "required": [ - "collectionId", - "name", - "dimension" + "userId", + "email", + "password" ] } } @@ -72739,21 +72340,21 @@ } } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}": { - "get": { - "summary": "Get collection", - "operationId": "vectorsDBGetCollection", + "\/users\/phpass": { + "post": { + "summary": "Create user with PHPass password", + "operationId": "usersCreatePHPassUser", "tags": [ - "vectorsDB" + "users" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": "Create a new user. Password provided must be hashed with the [PHPass](https:\/\/www.openwall.com\/phpass\/) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "VectorsDB Collection", + "201": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/vectorsdbCollection" + "$ref": "#\/components\/schemas\/user" } } } @@ -72761,23 +72362,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 880, + "method": "createPHPassUser", + "group": "users", + "weight": 66, "cookies": false, "type": "", - "demo": "vectorsdb\/get-collection.md", + "demo": "users\/create-ph-pass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } @@ -72788,43 +72389,61 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using PHPass.", + "x-example": "password", + "format": "password" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } + } } - ] - }, - "put": { - "summary": "Update collection", - "operationId": "vectorsDBUpdateCollection", + } + } + }, + "\/users\/scrypt": { + "post": { + "summary": "Create user with Scrypt password", + "operationId": "usersCreateScryptUser", "tags": [ - "vectorsDB" + "users" ], - "description": "Update a collection by its unique ID.", + "description": "Create a new user. Password provided must be hashed with the [Scrypt](https:\/\/github.com\/Tarsnap\/scrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "VectorsDB Collection", + "201": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/vectorsdbCollection" + "$ref": "#\/components\/schemas\/user" } } } @@ -72832,23 +72451,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 881, + "method": "createScryptUser", + "group": "users", + "weight": 67, "cookies": false, "type": "", - "demo": "vectorsdb\/update-collection.md", + "demo": "users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -72859,103 +72478,119 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - } - ], "requestBody": { "content": { "application\/json": { "schema": { "type": "object", "properties": { - "name": { + "userId": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "x-example": "<NAME>" + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" }, - "dimension": { - "type": "integer", - "description": "Embedding dimensions.", - "x-example": 1, - "format": "int32" + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "password": { + "type": "string", + "description": "User password hashed using Scrypt.", + "x-example": "password", + "format": "password" }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": false + "passwordSalt": { + "type": "string", + "description": "Optional salt used to hash password.", + "x-example": "<PASSWORD_SALT>" }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "x-example": false + "passwordCpu": { + "type": "integer", + "description": "Optional CPU cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordMemory": { + "type": "integer", + "description": "Optional memory cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordParallel": { + "type": "integer", + "description": "Optional parallelization cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordLength": { + "type": "integer", + "description": "Optional hash length used to hash password.", + "x-example": null, + "format": "int32" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" } }, "required": [ - "name" + "userId", + "email", + "password", + "passwordSalt", + "passwordCpu", + "passwordMemory", + "passwordParallel", + "passwordLength" ] } } } } - }, - "delete": { - "summary": "Delete collection", - "operationId": "vectorsDBDeleteCollection", + } + }, + "\/users\/scrypt-modified": { + "post": { + "summary": "Create user with Scrypt modified password", + "operationId": "usersCreateScryptModifiedUser", "tags": [ - "vectorsDB" + "users" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Create a new user. Password provided must be hashed with the [Scrypt Modified](https:\/\/gist.github.com\/Meldiron\/eecf84a0225eccb5a378d45bb27462cc) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "User", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/user" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 882, + "method": "createScryptModifiedUser", + "group": "users", + "weight": 68, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-collection.md", + "demo": "users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -72966,45 +72601,79 @@ "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using Scrypt Modified.", + "x-example": "password", + "format": "password" + }, + "passwordSalt": { + "type": "string", + "description": "Salt used to hash password.", + "x-example": "<PASSWORD_SALT>" + }, + "passwordSaltSeparator": { + "type": "string", + "description": "Salt separator used to hash password.", + "x-example": "<PASSWORD_SALT_SEPARATOR>" + }, + "passwordSignerKey": { + "type": "string", + "description": "Signer key used to hash password.", + "x-example": "<PASSWORD_SIGNER_KEY>" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "userId", + "email", + "password", + "passwordSalt", + "passwordSaltSeparator", + "passwordSignerKey" + ] + } + } } - ] + } } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents": { - "get": { - "summary": "List documents", - "operationId": "vectorsDBListDocuments", + "\/users\/sha": { + "post": { + "summary": "Create user with SHA password", + "operationId": "usersCreateSHAUser", "tags": [ - "vectorsDB" + "users" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "Create a new user. Password provided must be hashed with the [SHA](https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithm) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "Documents List", + "201": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/user" } } } @@ -73012,25 +72681,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 893, + "method": "createSHAUser", + "group": "users", + "weight": 65, "cookies": false, "type": "", - "demo": "vectorsdb\/list-documents.md", + "demo": "users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "users.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -73038,94 +72705,157 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using SHA.", + "x-example": "password", + "format": "password" + }, + "passwordVersion": { + "type": "string", + "description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512\/224', 'sha512\/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'", + "x-example": "sha1", + "enum": [ + "sha1", + "sha224", + "sha256", + "sha384", + "sha512\/224", + "sha512\/256", + "sha512", + "sha3-224", + "sha3-256", + "sha3-384", + "sha3-512" + ], + "x-enum-name": "PasswordHash", + "x-enum-keys": [] + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } + } + } + } + } + }, + "\/users\/usage": { + "get": { + "summary": "Get users usage stats", + "operationId": "usersGetUsage", + "tags": [ + "users" + ], + "description": "Get usage metrics and statistics for all users in the project. You can view the total number of users and sessions. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "responses": { + "200": { + "description": "UsageUsers", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageUsers" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getUsage", + "group": null, + "weight": 104, + "cookies": false, + "type": "", + "demo": "users\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, + "Project": [] + } + ], + "parameters": [ { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", + "name": "range", + "description": "Date range.", "required": false, "schema": { "type": "string", - "x-example": "<TRANSACTION_ID>" - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0 + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" }, "in": "query" } ] - }, - "post": { - "summary": "Create document", - "operationId": "vectorsDBCreateDocument", + } + }, + "\/users\/{userId}": { + "get": { + "summary": "Get user", + "operationId": "usersGet", "tags": [ - "vectorsDB" + "users" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Get a user by its unique ID.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/user" } } } @@ -73133,84 +72863,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "createDocument", - "group": "documents", - "weight": 889, + "method": "get", + "group": "users", + "weight": 71, "cookies": false, "type": "", - "demo": "vectorsdb\/create-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", - "methods": [ - { - "name": "createDocument", - "namespace": "vectorsDB", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-document.md", - "public": true - }, - { - "name": "createDocuments", - "namespace": "vectorsDB", - "desc": "Create documents", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -73218,90 +72887,92 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } + ] + }, + "delete": { + "summary": "Delete user", + "operationId": "usersDelete", + "tags": [ + "users" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "documentId": { - "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<DOCUMENT_ID>" - }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" - } - } - } - } + "description": "Delete a user by its unique ID, thereby releasing it's ID. Since ID is released and can be reused, all user-related resources like documents or storage files should be deleted before user deletion. If you want to keep ID reserved, use the [updateStatus](https:\/\/appwrite.io\/docs\/server\/users#usersUpdateStatus) endpoint instead.", + "responses": { + "204": { + "description": "No content" } - } - }, - "put": { - "summary": "Upsert documents", - "operationId": "vectorsDBUpsertDocuments", + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "users", + "weight": 100, + "cookies": false, + "type": "", + "demo": "users\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/email": { + "patch": { + "summary": "Update email", + "operationId": "usersUpdateEmail", "tags": [ - "vectorsDB" + "users" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "description": "Update the user email by its unique ID.", "responses": { - "201": { - "description": "Documents List", + "200": { + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/user" } } } @@ -73309,53 +72980,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 896, + "method": "updateEmail", + "group": "users", + "weight": 85, "cookies": false, "type": "", - "demo": "vectorsdb\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/update-email.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-documents.md", - "methods": [ - { - "name": "upsertDocuments", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/documentList" - } - ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", - "demo": "vectorsdb\/upsert-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [] } @@ -73368,22 +73009,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } @@ -73394,42 +73025,37 @@ "schema": { "type": "object", "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { + "email": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "description": "User email.", + "x-example": "email@example.com", + "format": "email" } }, "required": [ - "documents" + "email" ] } } } } - }, + } + }, + "\/users\/{userId}\/impersonator": { "patch": { - "summary": "Update documents", - "operationId": "vectorsDBUpdateDocuments", + "summary": "Update user impersonator capability", + "operationId": "usersUpdateImpersonator", "tags": [ - "vectorsDB" + "users" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Enable or disable whether a user can impersonate other users. When impersonation headers are used, the request runs as the target user for API behavior, while internal audit logs still attribute the action to the original impersonator and store the impersonated target details only in internal audit payload data.\n", "responses": { "200": { - "description": "Documents List", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/user" } } } @@ -73437,23 +73063,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 895, + "method": "updateImpersonator", + "group": "users", + "weight": 81, "cookies": false, "type": "", - "demo": "vectorsdb\/update-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/update-impersonator.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-impersonator.md", "auth": { "Project": [] } @@ -73466,22 +73092,94 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<USER_ID>" }, "in": "path" - }, + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "impersonator": { + "type": "boolean", + "description": "Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.", + "x-example": false + } + }, + "required": [ + "impersonator" + ] + } + } + } + } + } + }, + "\/users\/{userId}\/jwts": { + "post": { + "summary": "Create user JWT", + "operationId": "usersCreateJWT", + "tags": [ + "users" + ], + "description": "Use this endpoint to create a JSON Web Token for user by its unique ID. You can use the resulting JWT to authenticate on behalf of the user. The JWT secret will become invalid if the session it uses gets deleted.", + "responses": { + "201": { + "description": "JWT", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/jwt" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createJWT", + "group": "sessions", + "weight": 103, + "cookies": false, + "type": "", + "demo": "users\/create-jwt.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "collectionId", - "description": "Collection ID.", + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } @@ -73492,44 +73190,39 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "x-example": "{}" - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { + "sessionId": { "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "description": "Session ID. Use the string 'recent' to use the most recent session. Defaults to the most recent session.", + "x-example": "<SESSION_ID>" + }, + "duration": { + "type": "integer", + "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", + "x-example": 0, + "format": "int32" } } } } } } - }, - "delete": { - "summary": "Delete documents", - "operationId": "vectorsDBDeleteDocuments", + } + }, + "\/users\/{userId}\/labels": { + "put": { + "summary": "Update user labels", + "operationId": "usersUpdateLabels", "tags": [ - "vectorsDB" + "users" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Update the user labels by its unique ID. \n\nLabels can be used to grant access to resources. While teams are a way for user's to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https:\/\/appwrite.io\/docs\/permissions) for more info.", "responses": { "200": { - "description": "Documents List", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/documentList" + "$ref": "#\/components\/schemas\/user" } } } @@ -73537,23 +73230,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 897, + "method": "updateLabels", + "group": "users", + "weight": 80, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-documents.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/update-labels.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [] } @@ -73566,22 +73259,12 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } @@ -73592,41 +73275,39 @@ "schema": { "type": "object", "properties": { - "queries": { + "labels": { "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", "x-example": null, "items": { "type": "string" } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" } - } + }, + "required": [ + "labels" + ] } } } } } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "\/users\/{userId}\/logs": { "get": { - "summary": "Get document", - "operationId": "vectorsDBGetDocument", + "summary": "List user logs", + "operationId": "usersListLogs", "tags": [ - "vectorsDB" + "users" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "description": "Get the user activity logs list by its unique ID.", "responses": { "200": { - "description": "Document", + "description": "Logs List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/logList" } } } @@ -73634,25 +73315,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 892, + "method": "listLogs", + "group": "logs", + "weight": 76, "cookies": false, "type": "", - "demo": "vectorsdb\/get-document.md", + "demo": "users\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "users.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [] } @@ -73660,45 +73339,23 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOCUMENT_ID>" + "x-example": "<USER_ID>" }, "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "schema": { "type": "array", @@ -73710,31 +73367,34 @@ "in": "query" }, { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, "schema": { - "type": "string", - "x-example": "<TRANSACTION_ID>" + "type": "boolean", + "x-example": false, + "default": true }, "in": "query" } ] - }, - "put": { - "summary": "Upsert a document", - "operationId": "vectorsDBUpsertDocument", + } + }, + "\/users\/{userId}\/memberships": { + "get": { + "summary": "List user memberships", + "operationId": "usersListMemberships", "tags": [ - "vectorsDB" + "users" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Get the user membership list by its unique ID.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "Memberships List", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/membershipList" } } } @@ -73742,57 +73402,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "upsertDocument", - "group": "documents", - "weight": 891, + "method": "listMemberships", + "group": "memberships", + "weight": 75, "cookies": false, "type": "", - "demo": "vectorsdb\/upsert-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/list-memberships.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-document.md", - "methods": [ - { - "name": "upsertDocument", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId" - ], - "responses": [ - { - "code": 201, - "model": "#\/components\/schemas\/document" - } - ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/upsert-document.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [] } @@ -73800,113 +73426,157 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<USER_ID>" }, "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "required": false, "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "in": "path" + "in": "query" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "schema": { "type": "string", - "x-example": "<DOCUMENT_ID>" + "x-example": "<SEARCH>", + "default": "" }, - "in": "path" - } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "x-example": "{}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" - } - } - } - } + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } - } - }, + ] + } + }, + "\/users\/{userId}\/mfa": { "patch": { - "summary": "Update document", - "operationId": "vectorsDBUpdateDocument", + "summary": "Update MFA", + "operationId": "usersUpdateMfa", "tags": [ - "vectorsDB" + "users" ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Enable or disable MFA on a user account.", "responses": { "200": { - "description": "Document", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/document" + "$ref": "#\/components\/schemas\/user" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateDocument", - "group": "documents", - "weight": 890, + "method": "updateMfa", + "group": "users", + "weight": 90, "cookies": false, "type": "", - "demo": "vectorsdb\/update-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/update-mfa.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-document.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFA" + }, + "methods": [ + { + "name": "updateMfa", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "mfa" + ], + "required": [ + "userId", + "mfa" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/user" + } + ], + "description": "Enable or disable MFA on a user account.", + "demo": "users\/update-mfa.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFA" + } + }, + { + "name": "updateMFA", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "mfa" + ], + "required": [ + "userId", + "mfa" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/user" + } + ], + "description": "Enable or disable MFA on a user account.", + "demo": "users\/update-mfa.md", + "public": true + } + ], "auth": { "Project": [] } @@ -73914,39 +73584,17 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<DOCUMENT_ID>" + "x-example": "<USER_ID>" }, "in": "path" } @@ -73957,63 +73605,111 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "x-example": "{}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "mfa": { + "type": "boolean", + "description": "Enable or disable MFA.", + "x-example": false } - } + }, + "required": [ + "mfa" + ] } } } } - }, + } + }, + "\/users\/{userId}\/mfa\/authenticators\/{type}": { "delete": { - "summary": "Delete document", - "operationId": "vectorsDBDeleteDocument", + "summary": "Delete authenticator", + "operationId": "usersDeleteMfaAuthenticator", "tags": [ - "vectorsDB" + "users" ], - "description": "Delete a document by its unique ID.", + "description": "Delete an authenticator app.", "responses": { "204": { "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteDocument", - "group": "documents", - "weight": 894, + "method": "deleteMfaAuthenticator", + "group": "mfa", + "weight": 95, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-document.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/delete-mfa-authenticator.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", - "client", - "server", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-document.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.deleteMFAAuthenticator" + }, + "methods": [ + { + "name": "deleteMfaAuthenticator", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "type" + ], + "required": [ + "userId", + "type" + ], + "responses": [ + { + "code": 204 + } + ], + "description": "Delete an authenticator app.", + "demo": "users\/delete-mfa-authenticator.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.deleteMFAAuthenticator" + } + }, + { + "name": "deleteMFAAuthenticator", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "type" + ], + "required": [ + "userId", + "type" + ], + "responses": [ + { + "code": 204 + } + ], + "description": "Delete an authenticator app.", + "demo": "users\/delete-mfa-authenticator.md", + "public": true + } + ], "auth": { "Project": [] } @@ -74021,100 +73717,133 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "type", + "description": "Type of authenticator.", "required": true, "schema": { "type": "string", - "x-example": "<DOCUMENT_ID>" + "x-example": "totp", + "enum": [ + "totp" + ], + "x-enum-name": "AuthenticatorType", + "x-enum-keys": [] }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" - } - } - } - } - } - } + ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "\/users\/{userId}\/mfa\/factors": { "get": { - "summary": "List indexes", - "operationId": "vectorsDBListIndexes", + "summary": "List factors", + "operationId": "usersListMfaFactors", "tags": [ - "vectorsDB" + "users" ], - "description": "List indexes in the collection.", + "description": "List the factors available on the account to be used as a MFA challange.", "responses": { "200": { - "description": "Indexes List", + "description": "MFAFactors", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/indexList" + "$ref": "#\/components\/schemas\/mfaFactors" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 888, + "method": "listMfaFactors", + "group": "mfa", + "weight": 91, "cookies": false, "type": "", - "demo": "vectorsdb\/list-indexes.md", + "demo": "users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-indexes.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.listMFAFactors" + }, + "methods": [ + { + "name": "listMfaFactors", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaFactors" + } + ], + "description": "List the factors available on the account to be used as a MFA challange.", + "demo": "users\/list-mfa-factors.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.listMFAFactors" + } + }, + { + "name": "listMFAFactors", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaFactors" + } + ], + "description": "List the factors available on the account to be used as a MFA challange.", + "demo": "users\/list-mfa-factors.md", + "public": true + } + ], "auth": { "Project": [] } @@ -74127,89 +73856,113 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "schema": { - "type": "boolean", - "x-example": false, - "default": true - }, - "in": "query" } ] - }, - "post": { - "summary": "Create index", - "operationId": "vectorsDBCreateIndex", + } + }, + "\/users\/{userId}\/mfa\/recovery-codes": { + "get": { + "summary": "Get MFA recovery codes", + "operationId": "usersGetMfaRecoveryCodes", "tags": [ - "vectorsDB" + "users" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", "responses": { - "202": { - "description": "Index", + "200": { + "description": "MFA Recovery Codes", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/mfaRecoveryCodes" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 885, + "method": "getMfaRecoveryCodes", + "group": "mfa", + "weight": 92, "cookies": false, "type": "", - "demo": "vectorsdb\/create-index.md", + "demo": "users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-index.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.getMFARecoveryCodes" + }, + "methods": [ + { + "name": "getMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/get-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.getMFARecoveryCodes" + } + }, + { + "name": "getMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/get-mfa-recovery-codes.md", + "public": true + } + ], "auth": { "Project": [] } @@ -74222,133 +73975,111 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } - ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Index Key.", - "x-example": null - }, - "type": { - "type": "string", - "description": "Index type.", - "x-example": "hnsw_euclidean", - "enum": [ - "hnsw_euclidean", - "hnsw_dot", - "hnsw_cosine", - "object", - "key", - "unique" - ], - "x-enum-name": "VectorsDBIndexType", - "x-enum-keys": [] - }, - "attributes": { - "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "x-example": null, - "items": { - "type": "string" - } - }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } - }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "x-example": null, - "items": { - "type": "integer" - } - } - }, - "required": [ - "key", - "type", - "attributes" - ] - } - } - } - } - } - }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { - "get": { - "summary": "Get index", - "operationId": "vectorsDBGetIndex", + ] + }, + "put": { + "summary": "Update MFA recovery codes (regenerate)", + "operationId": "usersUpdateMfaRecoveryCodes", "tags": [ - "vectorsDB" + "users" ], - "description": "Get index by ID.", + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", "responses": { "200": { - "description": "Index", + "description": "MFA Recovery Codes", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/mfaRecoveryCodes" } } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 886, + "method": "updateMfaRecoveryCodes", + "group": "mfa", + "weight": 94, "cookies": false, "type": "", - "demo": "vectorsdb\/get-index.md", + "demo": "users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-index.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFARecoveryCodes" + }, + "methods": [ + { + "name": "updateMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/update-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFARecoveryCodes" + } + }, + { + "name": "updateMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/update-mfa-recovery-codes.md", + "public": false + } + ], "auth": { "Project": [] } @@ -74361,67 +74092,111 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<USER_ID>" }, "in": "path" } ] }, - "delete": { - "summary": "Delete index", - "operationId": "vectorsDBDeleteIndex", + "patch": { + "summary": "Create MFA recovery codes", + "operationId": "usersCreateMfaRecoveryCodes", "tags": [ - "vectorsDB" + "users" ], - "description": "Delete an index.", + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "MFA Recovery Codes", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/mfaRecoveryCodes" + } + } + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 887, + "method": "createMfaRecoveryCodes", + "group": "mfa", + "weight": 93, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-index.md", + "demo": "users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-index.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.createMFARecoveryCodes" + }, + "methods": [ + { + "name": "createMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "demo": "users\/create-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.createMFARecoveryCodes" + } + }, + { + "name": "createMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/mfaRecoveryCodes" + } + ], + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "demo": "users\/create-mfa-recovery-codes.md", + "public": true + } + ], "auth": { "Project": [] } @@ -74434,52 +74209,33 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" - }, - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", - "required": true, - "schema": { - "type": "string" + "x-example": "<USER_ID>" }, "in": "path" } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/usage": { - "get": { - "summary": "Get collection usage stats", - "operationId": "vectorsDBGetCollectionUsage", + "\/users\/{userId}\/name": { + "patch": { + "summary": "Update name", + "operationId": "usersUpdateName", "tags": [ - "vectorsDB" + "users" ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Update the user name by its unique ID.", "responses": { "200": { - "description": "UsageCollection", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageCollection" + "$ref": "#\/components\/schemas\/user" } } } @@ -74487,92 +74243,81 @@ }, "deprecated": false, "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 884, + "method": "updateName", + "group": "users", + "weight": 83, "cookies": false, "type": "", - "demo": "vectorsdb\/get-collection-usage.md", + "demo": "users\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "schema": { - "type": "string", - "x-example": "<DATABASE_ID>" - }, - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<COLLECTION_ID>" + "x-example": "<USER_ID>" }, "in": "path" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "name" + ] + } + } + } + } } }, - "\/vectorsdb\/{databaseId}\/usage": { - "get": { - "summary": "Get VectorsDB usage stats", - "operationId": "vectorsDBGetUsage", + "\/users\/{userId}\/password": { + "patch": { + "summary": "Update password", + "operationId": "usersUpdatePassword", "tags": [ - "vectorsDB" + "users" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Update the user password by its unique ID.", "responses": { "200": { - "description": "UsageVectorsDB", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/usageVectorsDB" + "$ref": "#\/components\/schemas\/user" } } } @@ -74580,108 +74325,81 @@ }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 877, + "method": "updatePassword", + "group": "users", + "weight": 84, "cookies": false, "type": "", - "demo": "vectorsdb\/get-usage.md", + "demo": "users\/update-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-database-usage.md", - "methods": [ - { - "name": "getUsage", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/components\/schemas\/usageVectorsDB" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "vectorsdb\/get-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<DATABASE_ID>" + "x-example": "<USER_ID>" }, "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "schema": { - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d" - }, - "in": "query" } - ] + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "New user password. Must be at least 8 chars.", + "x-example": null + } + }, + "required": [ + "password" + ] + } + } + } + } } }, - "\/webhooks": { - "get": { - "summary": "List webhooks", - "operationId": "webhooksList", + "\/users\/{userId}\/phone": { + "patch": { + "summary": "Update phone", + "operationId": "usersUpdatePhone", "tags": [ - "webhooks" + "users" ], - "description": "Get a list of all webhooks belonging to the project. You can use the query params to filter your results.", + "description": "Update the user phone by its unique ID.", "responses": { "200": { - "description": "Webhooks List", + "description": "User", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/webhookList" + "$ref": "#\/components\/schemas\/user" } } } @@ -74689,22 +74407,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": null, - "weight": 571, + "method": "updatePhone", + "group": "users", + "weight": 86, "cookies": false, "type": "", - "demo": "webhooks\/list.md", + "demo": "users\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [] } @@ -74717,76 +74436,14 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, + "name": "userId", + "description": "User ID.", + "required": true, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "x-example": "<USER_ID>" }, - "in": "query" - } - ] - }, - "post": { - "summary": "Create webhook", - "operationId": "webhooksCreate", - "tags": [ - "webhooks" - ], - "description": "Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.", - "responses": { - "201": { - "description": "Webhook", - "content": { - "application\/json": { - "schema": { - "$ref": "#\/components\/schemas\/webhook" - } - } - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "create", - "group": null, - "weight": 570, - "cookies": false, - "type": "", - "demo": "webhooks\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] + "in": "path" } ], "requestBody": { @@ -74795,61 +74452,15 @@ "schema": { "type": "object", "properties": { - "webhookId": { - "type": "string", - "description": "Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "x-example": "<WEBHOOK_ID>" - }, - "url": { - "type": "string", - "description": "Webhook URL.", - "x-example": null - }, - "name": { - "type": "string", - "description": "Webhook name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "x-example": null, - "items": { - "type": "string" - } - }, - "enabled": { - "type": "boolean", - "description": "Enable or disable a webhook.", - "x-example": false - }, - "tls": { - "type": "boolean", - "description": "Certificate verification, false for disabled or true for enabled.", - "x-example": false - }, - "authUsername": { - "type": "string", - "description": "Webhook HTTP user. Max length: 256 chars.", - "x-example": "<AUTH_USERNAME>" - }, - "authPassword": { - "type": "string", - "description": "Webhook HTTP password. Max length: 256 chars.", - "x-example": "<AUTH_PASSWORD>" - }, - "secret": { + "number": { "type": "string", - "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "x-example": "<SECRET>", - "x-nullable": true + "description": "User phone number.", + "x-example": "+12065550100", + "format": "phone" } }, "required": [ - "webhookId", - "url", - "name", - "events" + "number" ] } } @@ -74857,21 +74468,21 @@ } } }, - "\/webhooks\/{webhookId}": { + "\/users\/{userId}\/prefs": { "get": { - "summary": "Get webhook", - "operationId": "webhooksGet", + "summary": "Get user preferences", + "operationId": "usersGetPrefs", "tags": [ - "webhooks" + "users" ], - "description": "Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. ", + "description": "Get the user preferences by its unique ID.", "responses": { "200": { - "description": "Webhook", + "description": "Preferences", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/webhook" + "$ref": "#\/components\/schemas\/preferences" } } } @@ -74879,22 +74490,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": null, - "weight": 572, + "method": "getPrefs", + "group": "users", + "weight": 72, "cookies": false, "type": "", - "demo": "webhooks\/get.md", + "demo": "users\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.read", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [] } @@ -74907,31 +74519,31 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<WEBHOOK_ID>" + "x-example": "<USER_ID>" }, "in": "path" } ] }, - "put": { - "summary": "Update webhook", - "operationId": "webhooksUpdate", + "patch": { + "summary": "Update user preferences", + "operationId": "usersUpdatePrefs", "tags": [ - "webhooks" + "users" ], - "description": "Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.", + "description": "Update the user preferences by its unique ID. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.", "responses": { "200": { - "description": "Webhook", + "description": "Preferences", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/webhook" + "$ref": "#\/components\/schemas\/preferences" } } } @@ -74939,22 +74551,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": null, - "weight": 574, + "method": "updatePrefs", + "group": "users", + "weight": 88, "cookies": false, "type": "", - "demo": "webhooks\/update.md", + "demo": "users\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [] } @@ -74967,12 +74580,12 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<WEBHOOK_ID>" + "x-example": "<USER_ID>" }, "in": "path" } @@ -74983,85 +74596,63 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Webhook name. Max length: 128 chars.", - "x-example": "<NAME>" - }, - "url": { - "type": "string", - "description": "Webhook URL.", - "x-example": null - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "x-example": null, - "items": { - "type": "string" - } - }, - "enabled": { - "type": "boolean", - "description": "Enable or disable a webhook.", - "x-example": false - }, - "tls": { - "type": "boolean", - "description": "Certificate verification, false for disabled or true for enabled.", - "x-example": false - }, - "authUsername": { - "type": "string", - "description": "Webhook HTTP user. Max length: 256 chars.", - "x-example": "<AUTH_USERNAME>" - }, - "authPassword": { - "type": "string", - "description": "Webhook HTTP password. Max length: 256 chars.", - "x-example": "<AUTH_PASSWORD>" + "prefs": { + "type": "object", + "description": "Prefs key-value JSON object.", + "x-example": "{}" } }, "required": [ - "name", - "url", - "events" + "prefs" ] } } } } - }, - "delete": { - "summary": "Delete webhook", - "operationId": "webhooksDelete", + } + }, + "\/users\/{userId}\/sessions": { + "get": { + "summary": "List user sessions", + "operationId": "usersListSessions", "tags": [ - "webhooks" + "users" ], - "description": "Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. ", + "description": "Get the user sessions list by its unique ID.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Sessions List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/sessionList" + } + } + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 573, + "method": "listSessions", + "group": "sessions", + "weight": 74, "cookies": false, "type": "", - "demo": "webhooks\/delete.md", + "demo": "users\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": [ + "users.read", + "sessions.read" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [] } @@ -75074,33 +74665,42 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "schema": { "type": "string", - "x-example": "<WEBHOOK_ID>" + "x-example": "<USER_ID>" }, "in": "path" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] - } - }, - "\/webhooks\/{webhookId}\/secret": { - "patch": { - "summary": "Update webhook secret key", - "operationId": "webhooksUpdateSecret", + }, + "post": { + "summary": "Create session", + "operationId": "usersCreateSession", "tags": [ - "webhooks" + "users" ], - "description": "Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.", + "description": "Creates a session for a user. Returns an immediately usable session object.\n\nIf you want to generate a token for a custom authentication flow, use the [POST \/users\/{userId}\/tokens](https:\/\/appwrite.io\/docs\/server\/users#createToken) endpoint.", "responses": { - "200": { - "description": "Webhook", + "201": { + "description": "Session", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/webhook" + "$ref": "#\/components\/schemas\/session" } } } @@ -75108,22 +74708,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateSecret", - "group": null, - "weight": 575, + "method": "createSession", + "group": "sessions", + "weight": 96, "cookies": false, "type": "", - "demo": "webhooks\/update-secret.md", + "demo": "users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": [ + "users.write", + "sessions.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [] } @@ -75136,51 +74740,5410 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", "required": true, "schema": { "type": "string", - "x-example": "<WEBHOOK_ID>" + "x-example": "<USER_ID>" }, "in": "path" } + ] + }, + "delete": { + "summary": "Delete user sessions", + "operationId": "usersDeleteSessions", + "tags": [ + "users" ], - "requestBody": { - "content": { - "application\/json": { - "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string", - "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "x-example": "<SECRET>", - "x-nullable": true - } - } - } - } + "description": "Delete all user's sessions by using the user's unique ID.", + "responses": { + "204": { + "description": "No content" } - } - } - } - }, - "tags": [ - { - "name": "account", - "description": "The Account service allows you to authenticate and manage a user account." - }, - { - "name": "avatars", - "description": "The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars." - }, - { - "name": "databases", - "description": "The Databases service allows you to create structured collections of documents, query and filter lists of documents" - }, - { - "name": "tablesdb", + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteSessions", + "group": "sessions", + "weight": 99, + "cookies": false, + "type": "", + "demo": "users\/delete-sessions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.write", + "sessions.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/sessions\/{sessionId}": { + "delete": { + "summary": "Delete user session", + "operationId": "usersDeleteSession", + "tags": [ + "users" + ], + "description": "Delete a user sessions by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteSession", + "group": "sessions", + "weight": 98, + "cookies": false, + "type": "", + "demo": "users\/delete-session.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.write", + "sessions.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + }, + { + "name": "sessionId", + "description": "Session ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<SESSION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/status": { + "patch": { + "summary": "Update user status", + "operationId": "usersUpdateStatus", + "tags": [ + "users" + ], + "description": "Update the user status by its unique ID. Use this endpoint as an alternative to deleting a user if you want to keep user's ID reserved.", + "responses": { + "200": { + "description": "User", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/user" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateStatus", + "group": "users", + "weight": 79, + "cookies": false, + "type": "", + "demo": "users\/update-status.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "boolean", + "description": "User Status. To activate the user pass `true` and to block the user pass `false`.", + "x-example": false + } + }, + "required": [ + "status" + ] + } + } + } + } + } + }, + "\/users\/{userId}\/targets": { + "get": { + "summary": "List user targets", + "operationId": "usersListTargets", + "tags": [ + "users" + ], + "description": "List the messaging targets that are associated with a user.", + "responses": { + "200": { + "description": "Target list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/targetList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listTargets", + "group": "targets", + "weight": 77, + "cookies": false, + "type": "", + "demo": "users\/list-targets.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.read", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create user target", + "operationId": "usersCreateTarget", + "tags": [ + "users" + ], + "description": "Create a messaging target.", + "responses": { + "201": { + "description": "Target", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/target" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTarget", + "group": "targets", + "weight": 69, + "cookies": false, + "type": "", + "demo": "users\/create-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "targetId": { + "type": "string", + "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TARGET_ID>" + }, + "providerType": { + "type": "string", + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email", + "enum": [ + "email", + "sms", + "push" + ], + "x-enum-name": "MessagingProviderType", + "x-enum-keys": [] + }, + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + }, + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", + "x-example": "<NAME>" + } + }, + "required": [ + "targetId", + "providerType", + "identifier" + ] + } + } + } + } + } + }, + "\/users\/{userId}\/targets\/{targetId}": { + "get": { + "summary": "Get user target", + "operationId": "usersGetTarget", + "tags": [ + "users" + ], + "description": "Get a user's push notification target by ID.", + "responses": { + "200": { + "description": "Target", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/target" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTarget", + "group": "targets", + "weight": 73, + "cookies": false, + "type": "", + "demo": "users\/get-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.read", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TARGET_ID>" + }, + "in": "path" + } + ] + }, + "patch": { + "summary": "Update user target", + "operationId": "usersUpdateTarget", + "tags": [ + "users" + ], + "description": "Update a messaging target.", + "responses": { + "200": { + "description": "Target", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/target" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateTarget", + "group": "targets", + "weight": 89, + "cookies": false, + "type": "", + "demo": "users\/update-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TARGET_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + }, + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", + "x-example": "<NAME>" + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete user target", + "operationId": "usersDeleteTarget", + "tags": [ + "users" + ], + "description": "Delete a messaging target.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteTarget", + "group": "targets", + "weight": 101, + "cookies": false, + "type": "", + "demo": "users\/delete-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TARGET_ID>" + }, + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/tokens": { + "post": { + "summary": "Create token", + "operationId": "usersCreateToken", + "tags": [ + "users" + ], + "description": "Returns a token with a secret key for creating a session. Use the user ID and secret and submit a request to the [PUT \/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process.\n", + "responses": { + "201": { + "description": "Token", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/token" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createToken", + "group": "sessions", + "weight": 97, + "cookies": false, + "type": "", + "demo": "users\/create-token.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "Token length in characters. The default length is 6 characters", + "x-example": 4, + "format": "int32" + }, + "expire": { + "type": "integer", + "description": "Token expiration period in seconds. The default expiration is 15 minutes.", + "x-example": 60, + "format": "int32" + } + } + } + } + } + } + } + }, + "\/users\/{userId}\/verification": { + "patch": { + "summary": "Update email verification", + "operationId": "usersUpdateEmailVerification", + "tags": [ + "users" + ], + "description": "Update the user email verification status by its unique ID.", + "responses": { + "200": { + "description": "User", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/user" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateEmailVerification", + "group": "users", + "weight": 87, + "cookies": false, + "type": "", + "demo": "users\/update-email-verification.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "emailVerification": { + "type": "boolean", + "description": "User email verification status.", + "x-example": false + } + }, + "required": [ + "emailVerification" + ] + } + } + } + } + } + }, + "\/users\/{userId}\/verification\/phone": { + "patch": { + "summary": "Update phone verification", + "operationId": "usersUpdatePhoneVerification", + "tags": [ + "users" + ], + "description": "Update the user phone verification status by its unique ID.", + "responses": { + "200": { + "description": "User", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/user" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePhoneVerification", + "group": "users", + "weight": 82, + "cookies": false, + "type": "", + "demo": "users\/update-phone-verification.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<USER_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "phoneVerification": { + "type": "boolean", + "description": "User phone verification status.", + "x-example": false + } + }, + "required": [ + "phoneVerification" + ] + } + } + } + } + } + }, + "\/vcs\/github\/installations\/{installationId}\/detections": { + "post": { + "summary": "Create repository detection", + "operationId": "vcsCreateRepositoryDetection", + "tags": [ + "vcs" + ], + "description": "Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "responses": { + "200": { + "description": "DetectionRuntime, or DetectionFramework", + "content": { + "application\/json": { + "schema": { + "oneOf": [ + { + "$ref": "#\/components\/schemas\/detectionRuntime" + }, + { + "$ref": "#\/components\/schemas\/detectionFramework" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "runtime": "#\/components\/schemas\/detectionRuntime", + "framework": "#\/components\/schemas\/detectionFramework" + } + } + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createRepositoryDetection", + "group": "repositories", + "weight": 575, + "cookies": false, + "type": "", + "demo": "vcs\/create-repository-detection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerRepositoryId": { + "type": "string", + "description": "Repository Id", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "type": { + "type": "string", + "description": "Detector type. Must be one of the following: runtime, framework", + "x-example": "runtime", + "enum": [ + "runtime", + "framework" + ], + "x-enum-name": "VCSDetectionType", + "x-enum-keys": [] + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to Root Directory", + "x-example": "<PROVIDER_ROOT_DIRECTORY>" + } + }, + "required": [ + "providerRepositoryId", + "type" + ] + } + } + } + } + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories": { + "get": { + "summary": "List repositories", + "operationId": "vcsListRepositories", + "tags": [ + "vcs" + ], + "description": "Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.", + "responses": { + "200": { + "description": "Runtime Provider Repositories List, or Framework Provider Repositories List", + "content": { + "application\/json": { + "schema": { + "oneOf": [ + { + "$ref": "#\/components\/schemas\/providerRepositoryRuntimeList" + }, + { + "$ref": "#\/components\/schemas\/providerRepositoryFrameworkList" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "runtime": "#\/components\/schemas\/providerRepositoryRuntimeList", + "framework": "#\/components\/schemas\/providerRepositoryFrameworkList" + } + } + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listRepositories", + "group": "repositories", + "weight": 572, + "cookies": false, + "type": "", + "demo": "vcs\/list-repositories.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + }, + { + "name": "type", + "description": "Detector type. Must be one of the following: runtime, framework", + "required": true, + "schema": { + "type": "string", + "x-example": "runtime", + "enum": [ + "runtime", + "framework" + ], + "x-enum-name": "VCSDetectionType", + "x-enum-keys": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create repository", + "operationId": "vcsCreateRepository", + "tags": [ + "vcs" + ], + "description": "Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.", + "responses": { + "200": { + "description": "ProviderRepository", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/providerRepository" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createRepository", + "group": "repositories", + "weight": 570, + "cookies": false, + "type": "", + "demo": "vcs\/create-repository.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Repository name (slug)", + "x-example": "<NAME>" + }, + "private": { + "type": "boolean", + "description": "Mark repository public or private", + "x-example": false + } + }, + "required": [ + "name", + "private" + ] + } + } + } + } + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}": { + "get": { + "summary": "Get repository", + "operationId": "vcsGetRepository", + "tags": [ + "vcs" + ], + "description": "Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.", + "responses": { + "200": { + "description": "ProviderRepository", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/providerRepository" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getRepository", + "group": "repositories", + "weight": 571, + "cookies": false, + "type": "", + "demo": "vcs\/get-repository.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/branches": { + "get": { + "summary": "List repository branches", + "operationId": "vcsListRepositoryBranches", + "tags": [ + "vcs" + ], + "description": "Get a list of branches from a GitHub repository in your installation. This endpoint supports filtering by a search term and pagination using query strings such as `Query.limit()`, `Query.offset()`, `Query.cursorAfter()`, and `Query.cursorBefore()`. It returns branch names along with the total number of matches. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.\n", + "responses": { + "200": { + "description": "Branches List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/branchList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listRepositoryBranches", + "group": "repositories", + "weight": 573, + "cookies": false, + "type": "", + "demo": "vcs\/list-repository-branches.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "in": "path" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit, offset, cursorAfter, and cursorBefore", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/contents": { + "get": { + "summary": "Get files and directories of a VCS repository", + "operationId": "vcsGetRepositoryContents", + "tags": [ + "vcs" + ], + "description": "Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "responses": { + "200": { + "description": "VCS Content List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/vcsContentList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getRepositoryContents", + "group": "repositories", + "weight": 574, + "cookies": false, + "type": "", + "demo": "vcs\/get-repository-contents.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "in": "path" + }, + { + "name": "providerRootDirectory", + "description": "Path to get contents of nested directory", + "required": false, + "schema": { + "type": "string", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + }, + "in": "query" + }, + { + "name": "providerReference", + "description": "Git reference (branch, tag, commit) to get contents from", + "required": false, + "schema": { + "type": "string", + "x-example": "<PROVIDER_REFERENCE>", + "default": "" + }, + "in": "query" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/repositories\/{repositoryId}": { + "patch": { + "summary": "Update external deployment (authorize)", + "operationId": "vcsUpdateExternalDeployments", + "tags": [ + "vcs" + ], + "description": "Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateExternalDeployments", + "group": "repositories", + "weight": 1271, + "cookies": false, + "type": "", + "demo": "vcs\/update-external-deployments.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + }, + { + "name": "repositoryId", + "description": "VCS Repository Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<REPOSITORY_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "providerPullRequestId": { + "type": "string", + "description": "GitHub Pull Request Id", + "x-example": "<PROVIDER_PULL_REQUEST_ID>" + } + }, + "required": [ + "providerPullRequestId" + ] + } + } + } + } + } + }, + "\/vcs\/installations": { + "get": { + "summary": "List installations", + "operationId": "vcsListInstallations", + "tags": [ + "vcs" + ], + "description": "List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.\n", + "responses": { + "200": { + "description": "Installations List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/installationList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listInstallations", + "group": "installations", + "weight": 568, + "cookies": false, + "type": "", + "demo": "vcs\/list-installations.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: provider, organization", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + } + }, + "\/vcs\/installations\/{installationId}": { + "get": { + "summary": "Get installation", + "operationId": "vcsGetInstallation", + "tags": [ + "vcs" + ], + "description": "Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. ", + "responses": { + "200": { + "description": "Installation", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/installation" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getInstallation", + "group": "installations", + "weight": 567, + "cookies": false, + "type": "", + "demo": "vcs\/get-installation.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete installation", + "operationId": "vcsDeleteInstallation", + "tags": [ + "vcs" + ], + "description": "Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteInstallation", + "group": "installations", + "weight": 569, + "cookies": false, + "type": "", + "demo": "vcs\/delete-installation.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSTALLATION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb": { + "get": { + "summary": "List databases", + "operationId": "vectorsDBList", + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "responses": { + "200": { + "description": "Databases List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/databaseList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": "vectorsdb", + "weight": 924, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create database", + "operationId": "vectorsDBCreate", + "tags": [ + "vectorsDB" + ], + "description": "Create a new Database.\n", + "responses": { + "201": { + "description": "Database", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/database" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "create", + "group": "vectorsdb", + "weight": 925, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false + } + }, + "required": [ + "databaseId", + "name" + ] + } + } + } + } + } + }, + "\/vectorsdb\/embeddings\/text": { + "post": { + "summary": "Create Text Embeddings", + "operationId": "vectorsDBCreateTextEmbeddings", + "tags": [ + "vectorsDB" + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "200": { + "description": "Embedding list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/embeddingList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTextEmbeddings", + "group": "documents", + "weight": 911, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-text-embeddings.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", + "methods": [ + { + "name": "createTextEmbeddings", + "namespace": "vectorsDB", + "desc": "Create Text Embedding", + "auth": { + "Project": [] + }, + "parameters": [ + "texts", + "model" + ], + "required": [ + "texts" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/embeddingList" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-text-embeddings.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "JWT": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "texts": { + "type": "array", + "description": "Array of text to generate embeddings.", + "x-example": null, + "items": { + "type": "string" + } + }, + "model": { + "type": "string", + "description": "The embedding model to use for generating vector embeddings.", + "x-example": "embeddinggemma", + "enum": [ + "embeddinggemma" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "texts" + ] + } + } + } + } + } + }, + "\/vectorsdb\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "vectorsDBListTransactions", + "tags": [ + "vectorsDB" + ], + "description": "List transactions across all databases.", + "responses": { + "200": { + "description": "Transaction List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transactionList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listTransactions", + "group": "transactions", + "weight": 916, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-transactions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-transactions.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create transaction", + "operationId": "vectorsDBCreateTransaction", + "tags": [ + "vectorsDB" + ], + "description": "Create a new transaction.", + "responses": { + "201": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTransaction", + "group": "transactions", + "weight": 912, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "format": "int32" + } + } + } + } + } + } + } + }, + "\/vectorsdb\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "vectorsDBGetTransaction", + "tags": [ + "vectorsDB" + ], + "description": "Get a transaction by its unique ID.", + "responses": { + "200": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTransaction", + "group": "transactions", + "weight": 913, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "path" + } + ] + }, + "patch": { + "summary": "Update transaction", + "operationId": "vectorsDBUpdateTransaction", + "tags": [ + "vectorsDB" + ], + "description": "Update a transaction, to either commit or roll back its operations.", + "responses": { + "200": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateTransaction", + "group": "transactions", + "weight": 914, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false + }, + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete transaction", + "operationId": "vectorsDBDeleteTransaction", + "tags": [ + "vectorsDB" + ], + "description": "Delete a transaction by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteTransaction", + "group": "transactions", + "weight": 915, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb\/transactions\/{transactionId}\/operations": { + "post": { + "summary": "Create operations", + "operationId": "vectorsDBCreateOperations", + "tags": [ + "vectorsDB" + ], + "description": "Create multiple operations in a single transaction.", + "responses": { + "201": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createOperations", + "group": "transactions", + "weight": 917, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-operations.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-operations.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "items": { + "type": "object" + } + } + } + } + } + } + } + } + }, + "\/vectorsdb\/usage": { + "get": { + "summary": "Get VectorsDB usage stats", + "operationId": "vectorsDBListUsage", + "tags": [ + "vectorsDB" + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageVectorsDBs", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageVectorsDBs" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listUsage", + "group": null, + "weight": 891, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-usage.md", + "methods": [ + { + "name": "listUsage", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageVectorsDBs" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "vectorsdb\/list-usage.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + } + ] + } + }, + "\/vectorsdb\/{databaseId}": { + "get": { + "summary": "Get database", + "operationId": "vectorsDBGet", + "tags": [ + "vectorsDB" + ], + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "responses": { + "200": { + "description": "Database", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/database" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "vectorsdb", + "weight": 886, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ] + }, + "put": { + "summary": "Update database", + "operationId": "vectorsDBUpdate", + "tags": [ + "vectorsDB" + ], + "description": "Update a database by its unique ID.", + "responses": { + "200": { + "description": "Database", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/database" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": "vectorsdb", + "weight": 887, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false + } + }, + "required": [ + "name" + ] + } + } + } + } + }, + "delete": { + "summary": "Delete database", + "operationId": "vectorsDBDelete", + "tags": [ + "vectorsDB" + ], + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "vectorsdb", + "weight": 926, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections": { + "get": { + "summary": "List collections", + "operationId": "vectorsDBListCollections", + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "responses": { + "200": { + "description": "VectorsDB Collections List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/vectorsdbCollectionList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listCollections", + "group": "collections", + "weight": 896, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-collections.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-collections.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "schema": { + "type": "string", + "x-example": "<SEARCH>", + "default": "" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create collection", + "operationId": "vectorsDBCreateCollection", + "tags": [ + "vectorsDB" + ], + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "VectorsDB Collection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/vectorsdbCollection" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createCollection", + "group": "collections", + "weight": 892, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "collectionId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" + }, + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "dimension": { + "type": "integer", + "description": "Embedding dimension.", + "x-example": 1, + "format": "int32" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + } + }, + "required": [ + "collectionId", + "name", + "dimension" + ] + } + } + } + } + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}": { + "get": { + "summary": "Get collection", + "operationId": "vectorsDBGetCollection", + "tags": [ + "vectorsDB" + ], + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "responses": { + "200": { + "description": "VectorsDB Collection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/vectorsdbCollection" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getCollection", + "group": "collections", + "weight": 893, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ] + }, + "put": { + "summary": "Update collection", + "operationId": "vectorsDBUpdateCollection", + "tags": [ + "vectorsDB" + ], + "description": "Update a collection by its unique ID.", + "responses": { + "200": { + "description": "VectorsDB Collection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/vectorsdbCollection" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateCollection", + "group": "collections", + "weight": 894, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "dimension": { + "type": "integer", + "description": "Embedding dimensions.", + "x-example": 1, + "format": "int32" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false + } + }, + "required": [ + "name" + ] + } + } + } + } + }, + "delete": { + "summary": "Delete collection", + "operationId": "vectorsDBDeleteCollection", + "tags": [ + "vectorsDB" + ], + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteCollection", + "group": "collections", + "weight": 895, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents": { + "get": { + "summary": "List documents", + "operationId": "vectorsDBListDocuments", + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listDocuments", + "group": "documents", + "weight": 906, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-documents.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create document", + "operationId": "vectorsDBCreateDocument", + "tags": [ + "vectorsDB" + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "Document", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/document" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDocument", + "group": "documents", + "weight": 902, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", + "methods": [ + { + "name": "createDocument", + "namespace": "vectorsDB", + "desc": "Create document", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions" + ], + "required": [ + "databaseId", + "collectionId", + "documentId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/document" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-document.md", + "public": true + }, + { + "name": "createDocuments", + "namespace": "vectorsDB", + "desc": "Create documents", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-documents.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "documentId": { + "type": "string", + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>" + }, + "data": { + "type": "object", + "description": "Document data as JSON object.", + "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + }, + "put": { + "summary": "Upsert documents", + "operationId": "vectorsDBUpsertDocuments", + "tags": [ + "vectorsDB" + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "responses": { + "201": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsertDocuments", + "group": "documents", + "weight": 909, + "cookies": false, + "type": "", + "demo": "vectorsdb\/upsert-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-documents.md", + "methods": [ + { + "name": "upsertDocuments", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/documentList" + } + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "demo": "vectorsdb\/upsert-documents.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "documents": { + "type": "array", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + }, + "required": [ + "documents" + ] + } + } + } + } + }, + "patch": { + "summary": "Update documents", + "operationId": "vectorsDBUpdateDocuments", + "tags": [ + "vectorsDB" + ], + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "responses": { + "200": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDocuments", + "group": "documents", + "weight": 908, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{}" + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete documents", + "operationId": "vectorsDBDeleteDocuments", + "tags": [ + "vectorsDB" + ], + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "responses": { + "200": { + "description": "Documents List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/documentList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteDocuments", + "group": "documents", + "weight": 910, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-documents.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "get": { + "summary": "Get document", + "operationId": "vectorsDBGetDocument", + "tags": [ + "vectorsDB" + ], + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "responses": { + "200": { + "description": "Document", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/document" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getDocument", + "group": "documents", + "weight": 905, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-document.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "schema": { + "type": "string", + "x-example": "<TRANSACTION_ID>" + }, + "in": "query" + } + ] + }, + "put": { + "summary": "Upsert a document", + "operationId": "vectorsDBUpsertDocument", + "tags": [ + "vectorsDB" + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "Document", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/document" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsertDocument", + "group": "documents", + "weight": 904, + "cookies": false, + "type": "", + "demo": "vectorsdb\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-document.md", + "methods": [ + { + "name": "upsertDocument", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/upsert-document.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", + "x-example": "{}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + }, + "patch": { + "summary": "Update document", + "operationId": "vectorsDBUpdateDocument", + "tags": [ + "vectorsDB" + ], + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "responses": { + "200": { + "description": "Document", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/document" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDocument", + "group": "documents", + "weight": 903, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only fields and value pairs to be updated.", + "x-example": "{}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete document", + "operationId": "vectorsDBDeleteDocument", + "tags": [ + "vectorsDB" + ], + "description": "Delete a document by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteDocument", + "group": "documents", + "weight": 907, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DOCUMENT_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + } + } + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "get": { + "summary": "List indexes", + "operationId": "vectorsDBListIndexes", + "tags": [ + "vectorsDB" + ], + "description": "List indexes in the collection.", + "responses": { + "200": { + "description": "Indexes List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/indexList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listIndexes", + "group": "indexes", + "weight": 901, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-indexes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-indexes.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create index", + "operationId": "vectorsDBCreateIndex", + "tags": [ + "vectorsDB" + ], + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "responses": { + "202": { + "description": "Index", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/index" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createIndex", + "group": "indexes", + "weight": 898, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Index Key.", + "x-example": null + }, + "type": { + "type": "string", + "description": "Index type.", + "x-example": "hnsw_euclidean", + "enum": [ + "hnsw_euclidean", + "hnsw_dot", + "hnsw_cosine", + "object", + "key", + "unique" + ], + "x-enum-name": "VectorsDBIndexType", + "x-enum-keys": [] + }, + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } + }, + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "items": { + "type": "integer" + } + } + }, + "required": [ + "key", + "type", + "attributes" + ] + } + } + } + } + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "vectorsDBGetIndex", + "tags": [ + "vectorsDB" + ], + "description": "Get index by ID.", + "responses": { + "200": { + "description": "Index", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/index" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getIndex", + "group": "indexes", + "weight": 899, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete index", + "operationId": "vectorsDBDeleteIndex", + "tags": [ + "vectorsDB" + ], + "description": "Delete an index.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteIndex", + "group": "indexes", + "weight": 900, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "schema": { + "type": "string" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/usage": { + "get": { + "summary": "Get collection usage stats", + "operationId": "vectorsDBGetCollectionUsage", + "tags": [ + "vectorsDB" + ], + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageCollection", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageCollection" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getCollectionUsage", + "group": null, + "weight": 897, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-collection-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<COLLECTION_ID>" + }, + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/usage": { + "get": { + "summary": "Get VectorsDB usage stats", + "operationId": "vectorsDBGetUsage", + "tags": [ + "vectorsDB" + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageVectorsDB", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageVectorsDB" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getUsage", + "group": null, + "weight": 890, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-database-usage.md", + "methods": [ + { + "name": "getUsage", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/usageVectorsDB" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "vectorsdb\/get-usage.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<DATABASE_ID>" + }, + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "schema": { + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d" + }, + "in": "query" + } + ] + } + }, + "\/webhooks": { + "get": { + "summary": "List webhooks", + "operationId": "webhooksList", + "tags": [ + "webhooks" + ], + "description": "Get a list of all webhooks belonging to the project. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Webhooks List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/webhookList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": null, + "weight": 578, + "cookies": false, + "type": "", + "demo": "webhooks\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create webhook", + "operationId": "webhooksCreate", + "tags": [ + "webhooks" + ], + "description": "Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.", + "responses": { + "201": { + "description": "Webhook", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/webhook" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "create", + "group": null, + "weight": 577, + "cookies": false, + "type": "", + "demo": "webhooks\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "webhookId": { + "type": "string", + "description": "Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<WEBHOOK_ID>" + }, + "url": { + "type": "string", + "description": "Webhook URL.", + "x-example": null + }, + "name": { + "type": "string", + "description": "Webhook name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable a webhook.", + "x-example": false + }, + "tls": { + "type": "boolean", + "description": "Certificate verification, false for disabled or true for enabled.", + "x-example": false + }, + "authUsername": { + "type": "string", + "description": "Webhook HTTP user. Max length: 256 chars.", + "x-example": "<AUTH_USERNAME>" + }, + "authPassword": { + "type": "string", + "description": "Webhook HTTP password. Max length: 256 chars.", + "x-example": "<AUTH_PASSWORD>" + }, + "secret": { + "type": "string", + "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", + "x-example": "<SECRET>", + "x-nullable": true + } + }, + "required": [ + "webhookId", + "url", + "name", + "events" + ] + } + } + } + } + } + }, + "\/webhooks\/{webhookId}": { + "get": { + "summary": "Get webhook", + "operationId": "webhooksGet", + "tags": [ + "webhooks" + ], + "description": "Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. ", + "responses": { + "200": { + "description": "Webhook", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/webhook" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "weight": 579, + "cookies": false, + "type": "", + "demo": "webhooks\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<WEBHOOK_ID>" + }, + "in": "path" + } + ] + }, + "put": { + "summary": "Update webhook", + "operationId": "webhooksUpdate", + "tags": [ + "webhooks" + ], + "description": "Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.", + "responses": { + "200": { + "description": "Webhook", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/webhook" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": null, + "weight": 581, + "cookies": false, + "type": "", + "demo": "webhooks\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<WEBHOOK_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Webhook name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "url": { + "type": "string", + "description": "Webhook URL.", + "x-example": null + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable a webhook.", + "x-example": false + }, + "tls": { + "type": "boolean", + "description": "Certificate verification, false for disabled or true for enabled.", + "x-example": false + }, + "authUsername": { + "type": "string", + "description": "Webhook HTTP user. Max length: 256 chars.", + "x-example": "<AUTH_USERNAME>" + }, + "authPassword": { + "type": "string", + "description": "Webhook HTTP password. Max length: 256 chars.", + "x-example": "<AUTH_PASSWORD>" + } + }, + "required": [ + "name", + "url", + "events" + ] + } + } + } + } + }, + "delete": { + "summary": "Delete webhook", + "operationId": "webhooksDelete", + "tags": [ + "webhooks" + ], + "description": "Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. ", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": null, + "weight": 580, + "cookies": false, + "type": "", + "demo": "webhooks\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<WEBHOOK_ID>" + }, + "in": "path" + } + ] + } + }, + "\/webhooks\/{webhookId}\/secret": { + "patch": { + "summary": "Update webhook secret key", + "operationId": "webhooksUpdateSecret", + "tags": [ + "webhooks" + ], + "description": "Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.", + "responses": { + "200": { + "description": "Webhook", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/webhook" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateSecret", + "group": null, + "weight": 582, + "cookies": false, + "type": "", + "demo": "webhooks\/update-secret.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<WEBHOOK_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string", + "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", + "x-example": "<SECRET>", + "x-nullable": true + } + } + } + } + } + } + } + } + }, + "tags": [ + { + "name": "account", + "description": "The Account service allows you to authenticate and manage a user account." + }, + { + "name": "avatars", + "description": "The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars." + }, + { + "name": "databases", + "description": "The Databases service allows you to create structured collections of documents, query and filter lists of documents" + }, + { + "name": "tablesdb", "description": "The TablesDB service allows you to create structured tables of columns, query and filter lists of rows" }, { @@ -75238,6 +80201,10 @@ { "name": "messaging", "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." + }, + { + "name": "advisor", + "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." } ], "components": { @@ -75342,6 +80309,34 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "$ref": "#\/components\/schemas\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "tableList": { "description": "Tables List", "type": "object", @@ -76910,6 +81905,62 @@ "embeddings": "" } }, + "insightList": { + "description": "Insights List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of insights that matched your query.", + "x-example": 5, + "format": "int32" + }, + "insights": { + "type": "array", + "description": "List of insights.", + "items": { + "$ref": "#\/components\/schemas\/insight" + }, + "x-example": "" + } + }, + "required": [ + "total", + "insights" + ], + "example": { + "total": 5, + "insights": "" + } + }, + "reportList": { + "description": "Reports List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of reports that matched your query.", + "x-example": 5, + "format": "int32" + }, + "reports": { + "type": "array", + "description": "List of reports.", + "items": { + "$ref": "#\/components\/schemas\/report" + }, + "x-example": "" + } + }, + "required": [ + "total", + "reports" + ], + "example": { + "total": 5, + "reports": "" + } + }, "database": { "description": "Database", "type": "object", @@ -76954,7 +82005,7 @@ "type": "array", "description": "Database backup policies.", "items": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/backupPolicy" }, "x-example": {} }, @@ -76962,7 +82013,7 @@ "type": "array", "description": "Database backup archives.", "items": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/backupArchive" }, "x-example": {} } @@ -82235,6 +87286,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -83325,6 +88451,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -83358,6 +88490,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -83375,6 +88508,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": true, @@ -85760,213 +90894,14 @@ "description": "Project name.", "x-example": "New Project" }, - "description": { - "type": "string", - "description": "Project description.", - "x-example": "This is a new project." - }, "teamId": { "type": "string", "description": "Project team ID.", "x-example": "1592981250" }, - "logo": { - "type": "string", - "description": "Project logo file ID.", - "x-example": "5f5c451b403cb" - }, - "url": { - "type": "string", - "description": "Project website URL.", - "x-example": "5f5c451b403cb" - }, - "legalName": { - "type": "string", - "description": "Company legal name.", - "x-example": "Company LTD." - }, - "legalCountry": { - "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" - }, - "legalState": { - "type": "string", - "description": "State name.", - "x-example": "New York" - }, - "legalCity": { - "type": "string", - "description": "City name.", - "x-example": "New York City." - }, - "legalAddress": { - "type": "string", - "description": "Company Address.", - "x-example": "620 Eighth Avenue, New York, NY 10018" - }, - "legalTaxId": { - "type": "string", - "description": "Company Tax ID.", - "x-example": "131102020" - }, - "authDuration": { - "type": "integer", - "description": "Session duration in seconds.", - "x-example": 60, - "format": "int32" - }, - "authLimit": { - "type": "integer", - "description": "Max users allowed. 0 is unlimited.", - "x-example": 100, - "format": "int32" - }, - "authSessionsLimit": { - "type": "integer", - "description": "Max sessions allowed per user. 100 maximum.", - "x-example": 10, - "format": "int32" - }, - "authPasswordHistory": { - "type": "integer", - "description": "Max allowed passwords in the history list per user. Max passwords limit allowed in history is 20. Use 0 for disabling password history.", - "x-example": 5, - "format": "int32" - }, - "authPasswordDictionary": { - "type": "boolean", - "description": "Whether or not to check user's password against most commonly used passwords.", - "x-example": true - }, - "authPersonalDataCheck": { - "type": "boolean", - "description": "Whether or not to check the user password for similarity with their personal data.", - "x-example": true - }, - "authDisposableEmails": { - "type": "boolean", - "description": "Whether or not to disallow disposable email addresses during signup and email updates.", - "x-example": true - }, - "authCanonicalEmails": { - "type": "boolean", - "description": "Whether or not to require canonical email addresses during signup and email updates.", - "x-example": true - }, - "authFreeEmails": { - "type": "boolean", - "description": "Whether or not to disallow free email addresses during signup and email updates.", - "x-example": true - }, - "authMockNumbers": { - "type": "array", - "description": "An array of mock numbers and their corresponding verification codes (OTPs).", - "items": { - "$ref": "#\/components\/schemas\/mockNumber" - }, - "x-example": [ - {} - ] - }, - "authSessionAlerts": { - "type": "boolean", - "description": "Whether or not to send session alert emails to users.", - "x-example": true - }, - "authMembershipsUserName": { - "type": "boolean", - "description": "Whether or not to show user names in the teams membership response.", - "x-example": true - }, - "authMembershipsUserEmail": { - "type": "boolean", - "description": "Whether or not to show user emails in the teams membership response.", - "x-example": true - }, - "authMembershipsMfa": { - "type": "boolean", - "description": "Whether or not to show user MFA status in the teams membership response.", - "x-example": true - }, - "authMembershipsUserId": { - "type": "boolean", - "description": "Whether or not to show user IDs in the teams membership response.", - "x-example": true - }, - "authMembershipsUserPhone": { - "type": "boolean", - "description": "Whether or not to show user phone numbers in the teams membership response.", - "x-example": true - }, - "authInvalidateSessions": { - "type": "boolean", - "description": "Whether or not all existing sessions should be invalidated on password change", - "x-example": true - }, - "oAuthProviders": { - "type": "array", - "description": "List of Auth Providers.", - "items": { - "$ref": "#\/components\/schemas\/authProvider" - }, - "x-example": [ - {} - ] - }, - "platforms": { - "type": "array", - "description": "List of Platforms.", - "items": { - "anyOf": [ - { - "$ref": "#\/components\/schemas\/platformWeb" - }, - { - "$ref": "#\/components\/schemas\/platformApple" - }, - { - "$ref": "#\/components\/schemas\/platformAndroid" - }, - { - "$ref": "#\/components\/schemas\/platformWindows" - }, - { - "$ref": "#\/components\/schemas\/platformLinux" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/components\/schemas\/platformWeb", - "apple": "#\/components\/schemas\/platformApple", - "android": "#\/components\/schemas\/platformAndroid", - "windows": "#\/components\/schemas\/platformWindows", - "linux": "#\/components\/schemas\/platformLinux" - } - } - }, - "x-example": {} - }, - "webhooks": { - "type": "array", - "description": "List of Webhooks.", - "items": { - "$ref": "#\/components\/schemas\/webhook" - }, - "x-example": {} - }, - "keys": { - "type": "array", - "description": "List of API Keys.", - "items": { - "$ref": "#\/components\/schemas\/key" - }, - "x-example": {} - }, "devKeys": { "type": "array", - "description": "List of dev keys.", + "description": "Deprecated since 1.9.5: List of dev keys.", "items": { "$ref": "#\/components\/schemas\/devKey" }, @@ -86049,140 +90984,29 @@ "description": "Project status", "x-example": "active" }, - "authEmailPassword": { - "type": "boolean", - "description": "Email\/Password auth method status", - "x-example": true - }, - "authUsersAuthMagicURL": { - "type": "boolean", - "description": "Magic URL auth method status", - "x-example": true - }, - "authEmailOtp": { - "type": "boolean", - "description": "Email (OTP) auth method status", - "x-example": true - }, - "authAnonymous": { - "type": "boolean", - "description": "Anonymous auth method status", - "x-example": true - }, - "authInvites": { - "type": "boolean", - "description": "Invites auth method status", - "x-example": true - }, - "authJWT": { - "type": "boolean", - "description": "JWT auth method status", - "x-example": true - }, - "authPhone": { - "type": "boolean", - "description": "Phone auth method status", - "x-example": true - }, - "serviceStatusForAccount": { - "type": "boolean", - "description": "Account service status", - "x-example": true - }, - "serviceStatusForAvatars": { - "type": "boolean", - "description": "Avatars service status", - "x-example": true - }, - "serviceStatusForDatabases": { - "type": "boolean", - "description": "Databases (legacy) service status", - "x-example": true - }, - "serviceStatusForTablesdb": { - "type": "boolean", - "description": "TablesDB service status", - "x-example": true - }, - "serviceStatusForLocale": { - "type": "boolean", - "description": "Locale service status", - "x-example": true - }, - "serviceStatusForHealth": { - "type": "boolean", - "description": "Health service status", - "x-example": true - }, - "serviceStatusForProject": { - "type": "boolean", - "description": "Project service status", - "x-example": true - }, - "serviceStatusForStorage": { - "type": "boolean", - "description": "Storage service status", - "x-example": true - }, - "serviceStatusForTeams": { - "type": "boolean", - "description": "Teams service status", - "x-example": true - }, - "serviceStatusForUsers": { - "type": "boolean", - "description": "Users service status", - "x-example": true - }, - "serviceStatusForVcs": { - "type": "boolean", - "description": "VCS service status", - "x-example": true - }, - "serviceStatusForSites": { - "type": "boolean", - "description": "Sites service status", - "x-example": true - }, - "serviceStatusForFunctions": { - "type": "boolean", - "description": "Functions service status", - "x-example": true - }, - "serviceStatusForProxy": { - "type": "boolean", - "description": "Proxy service status", - "x-example": true - }, - "serviceStatusForGraphql": { - "type": "boolean", - "description": "GraphQL service status", - "x-example": true - }, - "serviceStatusForMigrations": { - "type": "boolean", - "description": "Migrations service status", - "x-example": true - }, - "serviceStatusForMessaging": { - "type": "boolean", - "description": "Messaging service status", - "x-example": true - }, - "protocolStatusForRest": { - "type": "boolean", - "description": "REST protocol status", - "x-example": true + "authMethods": { + "type": "array", + "description": "List of auth methods.", + "items": { + "$ref": "#\/components\/schemas\/projectAuthMethod" + }, + "x-example": {} }, - "protocolStatusForGraphql": { - "type": "boolean", - "description": "GraphQL protocol status", - "x-example": true + "services": { + "type": "array", + "description": "List of services.", + "items": { + "$ref": "#\/components\/schemas\/projectService" + }, + "x-example": {} }, - "protocolStatusForWebsocket": { - "type": "boolean", - "description": "Websocket protocol status", - "x-example": true + "protocols": { + "type": "array", + "description": "List of protocols.", + "items": { + "$ref": "#\/components\/schemas\/projectProtocol" + }, + "x-example": {} }, "region": { "type": "string", @@ -86195,7 +91019,8 @@ "x-example": "", "items": { "$ref": "#\/components\/schemas\/billingLimits" - } + }, + "nullable": true }, "blocks": { "type": "array", @@ -86216,37 +91041,7 @@ "$createdAt", "$updatedAt", "name", - "description", "teamId", - "logo", - "url", - "legalName", - "legalCountry", - "legalState", - "legalCity", - "legalAddress", - "legalTaxId", - "authDuration", - "authLimit", - "authSessionsLimit", - "authPasswordHistory", - "authPasswordDictionary", - "authPersonalDataCheck", - "authDisposableEmails", - "authCanonicalEmails", - "authFreeEmails", - "authMockNumbers", - "authSessionAlerts", - "authMembershipsUserName", - "authMembershipsUserEmail", - "authMembershipsMfa", - "authMembershipsUserId", - "authMembershipsUserPhone", - "authInvalidateSessions", - "oAuthProviders", - "platforms", - "webhooks", - "keys", "devKeys", "smtpEnabled", "smtpSenderName", @@ -86262,35 +91057,10 @@ "pingedAt", "labels", "status", - "authEmailPassword", - "authUsersAuthMagicURL", - "authEmailOtp", - "authAnonymous", - "authInvites", - "authJWT", - "authPhone", - "serviceStatusForAccount", - "serviceStatusForAvatars", - "serviceStatusForDatabases", - "serviceStatusForTablesdb", - "serviceStatusForLocale", - "serviceStatusForHealth", - "serviceStatusForProject", - "serviceStatusForStorage", - "serviceStatusForTeams", - "serviceStatusForUsers", - "serviceStatusForVcs", - "serviceStatusForSites", - "serviceStatusForFunctions", - "serviceStatusForProxy", - "serviceStatusForGraphql", - "serviceStatusForMigrations", - "serviceStatusForMessaging", - "protocolStatusForRest", - "protocolStatusForGraphql", - "protocolStatusForWebsocket", + "authMethods", + "services", + "protocols", "region", - "billingLimits", "blocks", "consoleAccessedAt" ], @@ -86299,41 +91069,7 @@ "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", "name": "New Project", - "description": "This is a new project.", "teamId": "1592981250", - "logo": "5f5c451b403cb", - "url": "5f5c451b403cb", - "legalName": "Company LTD.", - "legalCountry": "US", - "legalState": "New York", - "legalCity": "New York City.", - "legalAddress": "620 Eighth Avenue, New York, NY 10018", - "legalTaxId": "131102020", - "authDuration": 60, - "authLimit": 100, - "authSessionsLimit": 10, - "authPasswordHistory": 5, - "authPasswordDictionary": true, - "authPersonalDataCheck": true, - "authDisposableEmails": true, - "authCanonicalEmails": true, - "authFreeEmails": true, - "authMockNumbers": [ - {} - ], - "authSessionAlerts": true, - "authMembershipsUserName": true, - "authMembershipsUserEmail": true, - "authMembershipsMfa": true, - "authMembershipsUserId": true, - "authMembershipsUserPhone": true, - "authInvalidateSessions": true, - "oAuthProviders": [ - {} - ], - "platforms": {}, - "webhooks": {}, - "keys": {}, "devKeys": {}, "smtpEnabled": false, "smtpSenderName": "John Appwrite", @@ -86351,39 +91087,124 @@ "vip" ], "status": "active", - "authEmailPassword": true, - "authUsersAuthMagicURL": true, - "authEmailOtp": true, - "authAnonymous": true, - "authInvites": true, - "authJWT": true, - "authPhone": true, - "serviceStatusForAccount": true, - "serviceStatusForAvatars": true, - "serviceStatusForDatabases": true, - "serviceStatusForTablesdb": true, - "serviceStatusForLocale": true, - "serviceStatusForHealth": true, - "serviceStatusForProject": true, - "serviceStatusForStorage": true, - "serviceStatusForTeams": true, - "serviceStatusForUsers": true, - "serviceStatusForVcs": true, - "serviceStatusForSites": true, - "serviceStatusForFunctions": true, - "serviceStatusForProxy": true, - "serviceStatusForGraphql": true, - "serviceStatusForMigrations": true, - "serviceStatusForMessaging": true, - "protocolStatusForRest": true, - "protocolStatusForGraphql": true, - "protocolStatusForWebsocket": true, + "authMethods": {}, + "services": {}, + "protocols": {}, "region": "fra", "billingLimits": "", "blocks": "", "consoleAccessedAt": "2020-10-15T06:38:00.000+00:00" } }, + "projectAuthMethod": { + "description": "ProjectAuthMethod", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Auth method ID.", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId" + }, + "enabled": { + "type": "boolean", + "description": "Auth method status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "email-password", + "enabled": false + } + }, + "projectService": { + "description": "ProjectService", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Service ID.", + "x-example": "sites", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId" + }, + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "sites", + "enabled": false + } + }, + "projectProtocol": { + "description": "ProjectProtocol", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Protocol ID.", + "x-example": "graphql", + "enum": [ + "rest", + "graphql", + "websocket" + ], + "x-enum-name": "ProjectProtocolId" + }, + "enabled": { + "type": "boolean", + "description": "Protocol status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "graphql", + "enabled": false + } + }, "webhook": { "description": "Webhook", "type": "object", @@ -88848,51 +93669,6 @@ "userMFA": true } }, - "authProvider": { - "description": "AuthProvider", - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Auth Provider.", - "x-example": "github" - }, - "name": { - "type": "string", - "description": "Auth Provider name.", - "x-example": "GitHub" - }, - "appId": { - "type": "string", - "description": "OAuth 2.0 application ID.", - "x-example": "259125845563242502" - }, - "secret": { - "type": "string", - "description": "OAuth 2.0 application secret. Might be JSON string if provider requires extra configuration. This property is write-only and always returned empty.", - "x-example": "" - }, - "enabled": { - "type": "boolean", - "description": "Auth Provider is active and can be used to create session.", - "x-example": "" - } - }, - "required": [ - "key", - "name", - "appId", - "secret", - "enabled" - ], - "example": { - "key": "github", - "name": "GitHub", - "appId": "259125845563242502", - "secret": "", - "enabled": "" - } - }, "platformWeb": { "description": "Platform Web", "type": "object", @@ -89318,524 +94094,1409 @@ "description": "Country", "type": "object", "properties": { - "name": { - "type": "string", - "description": "Country name.", - "x-example": "United States" + "name": { + "type": "string", + "description": "Country name.", + "x-example": "United States" + }, + "code": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" + } + }, + "required": [ + "name", + "code" + ], + "example": { + "name": "United States", + "code": "US" + } + }, + "continent": { + "description": "Continent", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Continent name.", + "x-example": "Europe" + }, + "code": { + "type": "string", + "description": "Continent two letter code.", + "x-example": "EU" + } + }, + "required": [ + "name", + "code" + ], + "example": { + "name": "Europe", + "code": "EU" + } + }, + "language": { + "description": "Language", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Language name.", + "x-example": "Italian" + }, + "code": { + "type": "string", + "description": "Language two-character ISO 639-1 codes.", + "x-example": "it" + }, + "nativeName": { + "type": "string", + "description": "Language native name.", + "x-example": "Italiano" + } + }, + "required": [ + "name", + "code", + "nativeName" + ], + "example": { + "name": "Italian", + "code": "it", + "nativeName": "Italiano" + } + }, + "currency": { + "description": "Currency", + "type": "object", + "properties": { + "symbol": { + "type": "string", + "description": "Currency symbol.", + "x-example": "$" + }, + "name": { + "type": "string", + "description": "Currency name.", + "x-example": "US dollar" + }, + "symbolNative": { + "type": "string", + "description": "Currency native symbol.", + "x-example": "$" + }, + "decimalDigits": { + "type": "integer", + "description": "Number of decimal digits.", + "x-example": 2, + "format": "int32" + }, + "rounding": { + "type": "number", + "description": "Currency digit rounding.", + "x-example": 0, + "format": "double" + }, + "code": { + "type": "string", + "description": "Currency code in [ISO 4217-1](http:\/\/en.wikipedia.org\/wiki\/ISO_4217) three-character format.", + "x-example": "USD" + }, + "namePlural": { + "type": "string", + "description": "Currency plural name", + "x-example": "US dollars" + } + }, + "required": [ + "symbol", + "name", + "symbolNative", + "decimalDigits", + "rounding", + "code", + "namePlural" + ], + "example": { + "symbol": "$", + "name": "US dollar", + "symbolNative": "$", + "decimalDigits": 2, + "rounding": 0, + "code": "USD", + "namePlural": "US dollars" + } + }, + "phone": { + "description": "Phone", + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Phone code.", + "x-example": "+1" + }, + "countryCode": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" + }, + "countryName": { + "type": "string", + "description": "Country name.", + "x-example": "United States" + } + }, + "required": [ + "code", + "countryCode", + "countryName" + ], + "example": { + "code": "+1", + "countryCode": "US", + "countryName": "United States" + } + }, + "healthAntivirus": { + "description": "Health Antivirus", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Antivirus version.", + "x-example": "1.0.0" + }, + "status": { + "type": "string", + "description": "Antivirus status. Possible values are: `disabled`, `offline`, `online`", + "x-example": "online", + "enum": [ + "disabled", + "offline", + "online" + ] + } + }, + "required": [ + "version", + "status" + ], + "example": { + "version": "1.0.0", + "status": "online" + } + }, + "healthQueue": { + "description": "Health Queue", + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Amount of actions in the queue.", + "x-example": 8, + "format": "int32" + } + }, + "required": [ + "size" + ], + "example": { + "size": 8 + } + }, + "healthStatus": { + "description": "Health Status", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the service.", + "x-example": "database" + }, + "ping": { + "type": "integer", + "description": "Duration in milliseconds how long the health check took.", + "x-example": 128, + "format": "int32" + }, + "status": { + "type": "string", + "description": "Service status. Possible values are: `pass`, `fail`", + "x-example": "pass", + "enum": [ + "pass", + "fail" + ], + "x-enum-name": "HealthCheckStatus" + } + }, + "required": [ + "name", + "ping", + "status" + ], + "example": { + "name": "database", + "ping": 128, + "status": "pass" + } + }, + "healthCertificate": { + "description": "Health Certificate", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Certificate name", + "x-example": "\/CN=www.google.com" + }, + "subjectSN": { + "type": "string", + "description": "Subject SN", + "x-example": "" + }, + "issuerOrganisation": { + "type": "string", + "description": "Issuer organisation", + "x-example": "" + }, + "validFrom": { + "type": "string", + "description": "Valid from", + "x-example": "1704200998" + }, + "validTo": { + "type": "string", + "description": "Valid to", + "x-example": "1711458597" + }, + "signatureTypeSN": { + "type": "string", + "description": "Signature type SN", + "x-example": "RSA-SHA256" + } + }, + "required": [ + "name", + "subjectSN", + "issuerOrganisation", + "validFrom", + "validTo", + "signatureTypeSN" + ], + "example": { + "name": "\/CN=www.google.com", + "subjectSN": "", + "issuerOrganisation": "", + "validFrom": "1704200998", + "validTo": "1711458597", + "signatureTypeSN": "RSA-SHA256" + } + }, + "healthTime": { + "description": "Health Time", + "type": "object", + "properties": { + "remoteTime": { + "type": "integer", + "description": "Current unix timestamp on trustful remote server.", + "x-example": 1639490751, + "format": "int32" + }, + "localTime": { + "type": "integer", + "description": "Current unix timestamp of local server where Appwrite runs.", + "x-example": 1639490844, + "format": "int32" + }, + "diff": { + "type": "integer", + "description": "Difference of unix remote and local timestamps in milliseconds.", + "x-example": 93, + "format": "int32" + } + }, + "required": [ + "remoteTime", + "localTime", + "diff" + ], + "example": { + "remoteTime": 1639490751, + "localTime": 1639490844, + "diff": 93 + } + }, + "metric": { + "description": "Metric", + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "The value of this metric at the timestamp.", + "x-example": 1, + "format": "int32" }, - "code": { + "date": { "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "description": "The date at which this metric was aggregated in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" } }, "required": [ - "name", - "code" + "value", + "date" ], "example": { - "name": "United States", - "code": "US" + "value": 1, + "date": "2020-10-15T06:38:00.000+00:00" } }, - "continent": { - "description": "Continent", + "metricBreakdown": { + "description": "Metric Breakdown", "type": "object", "properties": { - "name": { + "resourceId": { "type": "string", - "description": "Continent name.", - "x-example": "Europe" + "description": "Resource ID.", + "x-example": "5e5ea5c16897e", + "nullable": true }, - "code": { + "name": { "type": "string", - "description": "Continent two letter code.", - "x-example": "EU" + "description": "Resource name.", + "x-example": "Documents" + }, + "value": { + "type": "integer", + "description": "The value of this metric at the timestamp.", + "x-example": 1, + "format": "int32" + }, + "estimate": { + "type": "number", + "description": "The estimated value of this metric at the end of the period.", + "x-example": 1, + "format": "double", + "nullable": true } }, "required": [ "name", - "code" + "value" ], "example": { - "name": "Europe", - "code": "EU" + "resourceId": "5e5ea5c16897e", + "name": "Documents", + "value": 1, + "estimate": 1 } }, - "language": { - "description": "Language", + "usageDatabases": { + "description": "UsageDatabases", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Language name.", - "x-example": "Italian" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "code": { - "type": "string", - "description": "Language two-character ISO 639-1 codes.", - "x-example": "it" + "databasesTotal": { + "type": "integer", + "description": "Total aggregated number of databases.", + "x-example": 0, + "format": "int32" }, - "nativeName": { - "type": "string", - "description": "Language native name.", - "x-example": "Italiano" + "collectionsTotal": { + "type": "integer", + "description": "Total aggregated number of collections.", + "x-example": 0, + "format": "int32" + }, + "tablesTotal": { + "type": "integer", + "description": "Total aggregated number of tables.", + "x-example": 0, + "format": "int32" + }, + "documentsTotal": { + "type": "integer", + "description": "Total aggregated number of documents.", + "x-example": 0, + "format": "int32" + }, + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of rows.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Total aggregated number of total databases storage in bytes.", + "x-example": 0, + "format": "int32" + }, + "databasesReadsTotal": { + "type": "integer", + "description": "Total number of databases reads.", + "x-example": 0, + "format": "int32" + }, + "databasesWritesTotal": { + "type": "integer", + "description": "Total number of databases writes.", + "x-example": 0, + "format": "int32" + }, + "databases": { + "type": "array", + "description": "Aggregated number of databases per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "collections": { + "type": "array", + "description": "Aggregated number of collections per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "tables": { + "type": "array", + "description": "Aggregated number of tables per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "An array of the aggregated number of databases storage in bytes per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databasesReads": { + "type": "array", + "description": "An array of aggregated number of database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databasesWrites": { + "type": "array", + "description": "An array of aggregated number of database writes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "code", - "nativeName" + "range", + "databasesTotal", + "collectionsTotal", + "tablesTotal", + "documentsTotal", + "rowsTotal", + "storageTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "databases", + "collections", + "tables", + "documents", + "rows", + "storage", + "databasesReads", + "databasesWrites" ], "example": { - "name": "Italian", - "code": "it", - "nativeName": "Italiano" + "range": "30d", + "databasesTotal": 0, + "collectionsTotal": 0, + "tablesTotal": 0, + "documentsTotal": 0, + "rowsTotal": 0, + "storageTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "databases": [], + "collections": [], + "tables": [], + "documents": [], + "rows": [], + "storage": [], + "databasesReads": [], + "databasesWrites": [] } }, - "currency": { - "description": "Currency", + "usageDatabase": { + "description": "UsageDatabase", "type": "object", "properties": { - "symbol": { + "range": { "type": "string", - "description": "Currency symbol.", - "x-example": "$" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "name": { - "type": "string", - "description": "Currency name.", - "x-example": "US dollar" + "collectionsTotal": { + "type": "integer", + "description": "Total aggregated number of collections.", + "x-example": 0, + "format": "int32" }, - "symbolNative": { - "type": "string", - "description": "Currency native symbol.", - "x-example": "$" + "tablesTotal": { + "type": "integer", + "description": "Total aggregated number of tables.", + "x-example": 0, + "format": "int32" }, - "decimalDigits": { + "documentsTotal": { "type": "integer", - "description": "Number of decimal digits.", - "x-example": 2, + "description": "Total aggregated number of documents.", + "x-example": 0, "format": "int32" }, - "rounding": { - "type": "number", - "description": "Currency digit rounding.", + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of rows.", "x-example": 0, - "format": "double" + "format": "int32" }, - "code": { - "type": "string", - "description": "Currency code in [ISO 4217-1](http:\/\/en.wikipedia.org\/wiki\/ISO_4217) three-character format.", - "x-example": "USD" + "storageTotal": { + "type": "integer", + "description": "Total aggregated number of total storage used in bytes.", + "x-example": 0, + "format": "int32" }, - "namePlural": { - "type": "string", - "description": "Currency plural name", - "x-example": "US dollars" + "databaseReadsTotal": { + "type": "integer", + "description": "Total number of databases reads.", + "x-example": 0, + "format": "int32" + }, + "databaseWritesTotal": { + "type": "integer", + "description": "Total number of databases writes.", + "x-example": 0, + "format": "int32" + }, + "collections": { + "type": "array", + "description": "Aggregated number of collections per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "tables": { + "type": "array", + "description": "Aggregated number of tables per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "Aggregated storage used in bytes per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databaseReads": { + "type": "array", + "description": "An array of aggregated number of database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databaseWrites": { + "type": "array", + "description": "An array of aggregated number of database writes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "symbol", - "name", - "symbolNative", - "decimalDigits", - "rounding", - "code", - "namePlural" + "range", + "collectionsTotal", + "tablesTotal", + "documentsTotal", + "rowsTotal", + "storageTotal", + "databaseReadsTotal", + "databaseWritesTotal", + "collections", + "tables", + "documents", + "rows", + "storage", + "databaseReads", + "databaseWrites" ], "example": { - "symbol": "$", - "name": "US dollar", - "symbolNative": "$", - "decimalDigits": 2, - "rounding": 0, - "code": "USD", - "namePlural": "US dollars" + "range": "30d", + "collectionsTotal": 0, + "tablesTotal": 0, + "documentsTotal": 0, + "rowsTotal": 0, + "storageTotal": 0, + "databaseReadsTotal": 0, + "databaseWritesTotal": 0, + "collections": [], + "tables": [], + "documents": [], + "rows": [], + "storage": [], + "databaseReads": [], + "databaseWrites": [] } }, - "phone": { - "description": "Phone", + "usageTable": { + "description": "UsageTable", "type": "object", "properties": { - "code": { + "range": { "type": "string", - "description": "Phone code.", - "x-example": "+1" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "countryCode": { - "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of of rows.", + "x-example": 0, + "format": "int32" }, - "countryName": { - "type": "string", - "description": "Country name.", - "x-example": "United States" + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "code", - "countryCode", - "countryName" + "range", + "rowsTotal", + "rows" ], "example": { - "code": "+1", - "countryCode": "US", - "countryName": "United States" + "range": "30d", + "rowsTotal": 0, + "rows": [] } }, - "healthAntivirus": { - "description": "Health Antivirus", + "usageCollection": { + "description": "UsageCollection", "type": "object", "properties": { - "version": { + "range": { "type": "string", - "description": "Antivirus version.", - "x-example": "1.0.0" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "status": { - "type": "string", - "description": "Antivirus status. Possible values are: `disabled`, `offline`, `online`", - "x-example": "online", - "enum": [ - "disabled", - "offline", - "online" - ] + "documentsTotal": { + "type": "integer", + "description": "Total aggregated number of of documents.", + "x-example": 0, + "format": "int32" + }, + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "version", - "status" + "range", + "documentsTotal", + "documents" ], "example": { - "version": "1.0.0", - "status": "online" + "range": "30d", + "documentsTotal": 0, + "documents": [] } }, - "healthQueue": { - "description": "Health Queue", + "usageUsers": { + "description": "UsageUsers", "type": "object", "properties": { - "size": { + "range": { + "type": "string", + "description": "Time range of the usage stats.", + "x-example": "30d" + }, + "usersTotal": { "type": "integer", - "description": "Amount of actions in the queue.", - "x-example": 8, + "description": "Total aggregated number of statistics of users.", + "x-example": 0, + "format": "int32" + }, + "sessionsTotal": { + "type": "integer", + "description": "Total aggregated number of active sessions.", + "x-example": 0, "format": "int32" + }, + "users": { + "type": "array", + "description": "Aggregated number of users per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "sessions": { + "type": "array", + "description": "Aggregated number of active sessions per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "size" + "range", + "usersTotal", + "sessionsTotal", + "users", + "sessions" ], "example": { - "size": 8 + "range": "30d", + "usersTotal": 0, + "sessionsTotal": 0, + "users": [], + "sessions": [] } }, - "healthStatus": { - "description": "Health Status", + "usagePresence": { + "description": "UsagePresence", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Name of the service.", - "x-example": "database" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "ping": { + "usersOnlineTotal": { "type": "integer", - "description": "Duration in milliseconds how long the health check took.", - "x-example": 128, + "description": "Current total number of online users.", + "x-example": 0, "format": "int32" }, - "status": { - "type": "string", - "description": "Service status. Possible values are: `pass`, `fail`", - "x-example": "pass", - "enum": [ - "pass", - "fail" - ], - "x-enum-name": "HealthCheckStatus" + "presences": { + "type": "array", + "description": "Aggregated number of online users per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "ping", - "status" + "range", + "usersOnlineTotal", + "presences" ], "example": { - "name": "database", - "ping": 128, - "status": "pass" + "range": "30d", + "usersOnlineTotal": 0, + "presences": [] } }, - "healthCertificate": { - "description": "Health Certificate", + "usageStorage": { + "description": "StorageUsage", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Certificate name", - "x-example": "\/CN=www.google.com" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "subjectSN": { - "type": "string", - "description": "Subject SN", - "x-example": "" + "bucketsTotal": { + "type": "integer", + "description": "Total aggregated number of buckets", + "x-example": 0, + "format": "int32" }, - "issuerOrganisation": { - "type": "string", - "description": "Issuer organisation", - "x-example": "" + "filesTotal": { + "type": "integer", + "description": "Total aggregated number of files.", + "x-example": 0, + "format": "int32" }, - "validFrom": { - "type": "string", - "description": "Valid from", - "x-example": "1704200998" + "filesStorageTotal": { + "type": "integer", + "description": "Total aggregated number of files storage (in bytes).", + "x-example": 0, + "format": "int32" }, - "validTo": { - "type": "string", - "description": "Valid to", - "x-example": "1711458597" + "buckets": { + "type": "array", + "description": "Aggregated number of buckets per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "signatureTypeSN": { - "type": "string", - "description": "Signature type SN", - "x-example": "RSA-SHA256" + "files": { + "type": "array", + "description": "Aggregated number of files per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "Aggregated number of files storage (in bytes) per period .", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "subjectSN", - "issuerOrganisation", - "validFrom", - "validTo", - "signatureTypeSN" + "range", + "bucketsTotal", + "filesTotal", + "filesStorageTotal", + "buckets", + "files", + "storage" ], "example": { - "name": "\/CN=www.google.com", - "subjectSN": "", - "issuerOrganisation": "", - "validFrom": "1704200998", - "validTo": "1711458597", - "signatureTypeSN": "RSA-SHA256" + "range": "30d", + "bucketsTotal": 0, + "filesTotal": 0, + "filesStorageTotal": 0, + "buckets": [], + "files": [], + "storage": [] } }, - "healthTime": { - "description": "Health Time", + "usageBuckets": { + "description": "UsageBuckets", "type": "object", "properties": { - "remoteTime": { + "range": { + "type": "string", + "description": "Time range of the usage stats.", + "x-example": "30d" + }, + "filesTotal": { "type": "integer", - "description": "Current unix timestamp on trustful remote server.", - "x-example": 1639490751, + "description": "Total aggregated number of bucket files.", + "x-example": 0, "format": "int32" }, - "localTime": { + "filesStorageTotal": { "type": "integer", - "description": "Current unix timestamp of local server where Appwrite runs.", - "x-example": 1639490844, + "description": "Total aggregated number of bucket files storage (in bytes).", + "x-example": 0, "format": "int32" }, - "diff": { + "files": { + "type": "array", + "description": "Aggregated number of bucket files per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "Aggregated number of bucket storage files (in bytes) per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "imageTransformations": { + "type": "array", + "description": "Aggregated number of files transformations per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "imageTransformationsTotal": { "type": "integer", - "description": "Difference of unix remote and local timestamps in milliseconds.", - "x-example": 93, + "description": "Total aggregated number of files transformations.", + "x-example": 0, "format": "int32" } }, "required": [ - "remoteTime", - "localTime", - "diff" + "range", + "filesTotal", + "filesStorageTotal", + "files", + "storage", + "imageTransformations", + "imageTransformationsTotal" ], "example": { - "remoteTime": 1639490751, - "localTime": 1639490844, - "diff": 93 + "range": "30d", + "filesTotal": 0, + "filesStorageTotal": 0, + "files": [], + "storage": [], + "imageTransformations": [], + "imageTransformationsTotal": 0 } }, - "metric": { - "description": "Metric", + "usageFunctions": { + "description": "UsageFunctions", "type": "object", "properties": { - "value": { + "range": { + "type": "string", + "description": "Time range of the usage stats.", + "x-example": "30d" + }, + "functionsTotal": { "type": "integer", - "description": "The value of this metric at the timestamp.", - "x-example": 1, + "description": "Total aggregated number of functions.", + "x-example": 0, "format": "int32" }, - "date": { - "type": "string", - "description": "The date at which this metric was aggregated in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "value", - "date" - ], - "example": { - "value": 1, - "date": "2020-10-15T06:38:00.000+00:00" - } - }, - "metricBreakdown": { - "description": "Metric Breakdown", - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "description": "Resource ID.", - "x-example": "5e5ea5c16897e", - "nullable": true + "deploymentsTotal": { + "type": "integer", + "description": "Total aggregated number of functions deployments.", + "x-example": 0, + "format": "int32" }, - "name": { - "type": "string", - "description": "Resource name.", - "x-example": "Documents" + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of functions deployment storage.", + "x-example": 0, + "format": "int32" }, - "value": { + "buildsTotal": { "type": "integer", - "description": "The value of this metric at the timestamp.", - "x-example": 1, + "description": "Total aggregated number of functions build.", + "x-example": 0, "format": "int32" }, - "estimate": { - "type": "number", - "description": "The estimated value of this metric at the end of the period.", - "x-example": 1, - "format": "double", - "nullable": true + "buildsStorageTotal": { + "type": "integer", + "description": "total aggregated sum of functions build storage.", + "x-example": 0, + "format": "int32" + }, + "buildsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of functions build compute time.", + "x-example": 0, + "format": "int32" + }, + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of functions build mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of functions execution.", + "x-example": 0, + "format": "int32" + }, + "executionsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of functions execution compute time.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of functions execution mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "functions": { + "type": "array", + "description": "Aggregated number of functions per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": 0 + }, + "deployments": { + "type": "array", + "description": "Aggregated number of functions deployment per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "deploymentsStorage": { + "type": "array", + "description": "Aggregated number of functions deployment storage per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsSuccessTotal": { + "type": "integer", + "description": "Total aggregated number of successful function builds.", + "x-example": 0, + "format": "int32" + }, + "buildsFailedTotal": { + "type": "integer", + "description": "Total aggregated number of failed function builds.", + "x-example": 0, + "format": "int32" + }, + "builds": { + "type": "array", + "description": "Aggregated number of functions build per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsStorage": { + "type": "array", + "description": "Aggregated sum of functions build storage per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsTime": { + "type": "array", + "description": "Aggregated sum of functions build compute time per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsMbSeconds": { + "type": "array", + "description": "Aggregated sum of functions build mbSeconds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated number of functions execution per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executionsTime": { + "type": "array", + "description": "Aggregated number of functions execution compute time per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of functions mbSeconds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful function builds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed function builds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "value" + "range", + "functionsTotal", + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "functions", + "deployments", + "deploymentsStorage", + "buildsSuccessTotal", + "buildsFailedTotal", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { - "resourceId": "5e5ea5c16897e", - "name": "Documents", - "value": 1, - "estimate": 1 + "range": "30d", + "functionsTotal": 0, + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "functions": 0, + "deployments": [], + "deploymentsStorage": [], + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "usageDatabases": { - "description": "UsageDatabases", + "usageFunction": { + "description": "UsageFunction", "type": "object", "properties": { "range": { "type": "string", - "description": "Time range of the usage stats.", + "description": "The time range of the usage stats.", "x-example": "30d" }, - "databasesTotal": { + "deploymentsTotal": { "type": "integer", - "description": "Total aggregated number of databases.", + "description": "Total aggregated number of function deployments.", + "x-example": 0, + "format": "int32" + }, + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of function deployments storage.", + "x-example": 0, + "format": "int32" + }, + "buildsTotal": { + "type": "integer", + "description": "Total aggregated number of function builds.", + "x-example": 0, + "format": "int32" + }, + "buildsSuccessTotal": { + "type": "integer", + "description": "Total aggregated number of successful function builds.", + "x-example": 0, + "format": "int32" + }, + "buildsFailedTotal": { + "type": "integer", + "description": "Total aggregated number of failed function builds.", "x-example": 0, "format": "int32" }, - "collectionsTotal": { + "buildsStorageTotal": { "type": "integer", - "description": "Total aggregated number of collections.", + "description": "total aggregated sum of function builds storage.", "x-example": 0, "format": "int32" }, - "tablesTotal": { + "buildsTimeTotal": { "type": "integer", - "description": "Total aggregated number of tables.", + "description": "Total aggregated sum of function builds compute time.", "x-example": 0, "format": "int32" }, - "documentsTotal": { + "buildsTimeAverage": { "type": "integer", - "description": "Total aggregated number of documents.", + "description": "Average builds compute time.", "x-example": 0, "format": "int32" }, - "rowsTotal": { + "buildsMbSecondsTotal": { "type": "integer", - "description": "Total aggregated number of rows.", + "description": "Total aggregated sum of function builds mbSeconds.", "x-example": 0, "format": "int32" }, - "storageTotal": { + "executionsTotal": { "type": "integer", - "description": "Total aggregated number of total databases storage in bytes.", + "description": "Total aggregated number of function executions.", "x-example": 0, "format": "int32" }, - "databasesReadsTotal": { + "executionsTimeTotal": { "type": "integer", - "description": "Total number of databases reads.", + "description": "Total aggregated sum of function executions compute time.", "x-example": 0, "format": "int32" }, - "databasesWritesTotal": { + "executionsMbSecondsTotal": { "type": "integer", - "description": "Total number of databases writes.", + "description": "Total aggregated sum of function executions mbSeconds.", "x-example": 0, "format": "int32" }, - "databases": { + "deployments": { "type": "array", - "description": "Aggregated number of databases per period.", + "description": "Aggregated number of function deployments per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "collections": { + "deploymentsStorage": { "type": "array", - "description": "Aggregated number of collections per period.", + "description": "Aggregated number of function deployments storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "tables": { + "builds": { "type": "array", - "description": "Aggregated number of tables per period.", + "description": "Aggregated number of function builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "documents": { + "buildsStorage": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated sum of function builds storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "rows": { + "buildsTime": { "type": "array", - "description": "Aggregated number of rows per period.", + "description": "Aggregated sum of function builds compute time per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "storage": { + "buildsMbSeconds": { "type": "array", - "description": "An array of the aggregated number of databases storage in bytes per period.", + "description": "Aggregated number of function builds mbSeconds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "databasesReads": { + "executions": { "type": "array", - "description": "An array of aggregated number of database reads.", + "description": "Aggregated number of function executions per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "databasesWrites": { + "executionsTime": { "type": "array", - "description": "An array of aggregated number of database writes.", + "description": "Aggregated number of function executions compute time per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of function mbSeconds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful builds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -89844,45 +95505,59 @@ }, "required": [ "range", - "databasesTotal", - "collectionsTotal", - "tablesTotal", - "documentsTotal", - "rowsTotal", - "storageTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "databases", - "collections", - "tables", - "documents", - "rows", - "storage", - "databasesReads", - "databasesWrites" + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsSuccessTotal", + "buildsFailedTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsTimeAverage", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "deployments", + "deploymentsStorage", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { "range": "30d", - "databasesTotal": 0, - "collectionsTotal": 0, - "tablesTotal": 0, - "documentsTotal": 0, - "rowsTotal": 0, - "storageTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "databases": [], - "collections": [], - "tables": [], - "documents": [], - "rows": [], - "storage": [], - "databasesReads": [], - "databasesWrites": [] + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsTimeAverage": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "deployments": [], + "deploymentsStorage": [], + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "usageDatabase": { - "description": "UsageDatabase", + "usageSites": { + "description": "UsageSites", "type": "object", "properties": { "range": { @@ -89890,485 +95565,368 @@ "description": "Time range of the usage stats.", "x-example": "30d" }, - "collectionsTotal": { + "sitesTotal": { "type": "integer", - "description": "Total aggregated number of collections.", + "description": "Total aggregated number of sites.", "x-example": 0, "format": "int32" }, - "tablesTotal": { + "sites": { + "type": "array", + "description": "Aggregated number of sites per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "deploymentsTotal": { "type": "integer", - "description": "Total aggregated number of tables.", + "description": "Total aggregated number of sites deployments.", "x-example": 0, "format": "int32" }, - "documentsTotal": { + "deploymentsStorageTotal": { "type": "integer", - "description": "Total aggregated number of documents.", + "description": "Total aggregated sum of sites deployment storage.", "x-example": 0, "format": "int32" }, - "rowsTotal": { + "buildsTotal": { "type": "integer", - "description": "Total aggregated number of rows.", + "description": "Total aggregated number of sites build.", "x-example": 0, "format": "int32" }, - "storageTotal": { + "buildsStorageTotal": { "type": "integer", - "description": "Total aggregated number of total storage used in bytes.", + "description": "total aggregated sum of sites build storage.", "x-example": 0, "format": "int32" }, - "databaseReadsTotal": { + "buildsTimeTotal": { "type": "integer", - "description": "Total number of databases reads.", + "description": "Total aggregated sum of sites build compute time.", "x-example": 0, "format": "int32" }, - "databaseWritesTotal": { + "buildsMbSecondsTotal": { "type": "integer", - "description": "Total number of databases writes.", + "description": "Total aggregated sum of sites build mbSeconds.", "x-example": 0, "format": "int32" }, - "collections": { - "type": "array", - "description": "Aggregated number of collections per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of sites execution.", + "x-example": 0, + "format": "int32" }, - "tables": { - "type": "array", - "description": "Aggregated number of tables per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "executionsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of sites execution compute time.", + "x-example": 0, + "format": "int32" }, - "documents": { + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of sites execution mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "requestsTotal": { + "type": "integer", + "description": "Total aggregated number of requests.", + "x-example": 0, + "format": "int32" + }, + "requests": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated number of requests per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "rows": { + "inboundTotal": { + "type": "integer", + "description": "Total aggregated inbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "inbound": { "type": "array", - "description": "Aggregated number of rows per period.", + "description": "Aggregated number of inbound bandwidth per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "storage": { + "outboundTotal": { + "type": "integer", + "description": "Total aggregated outbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "outbound": { "type": "array", - "description": "Aggregated storage used in bytes per period.", + "description": "Aggregated number of outbound bandwidth per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "databaseReads": { + "deployments": { "type": "array", - "description": "An array of aggregated number of database reads.", + "description": "Aggregated number of sites deployment per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "databaseWrites": { + "deploymentsStorage": { "type": "array", - "description": "An array of aggregated number of database writes.", + "description": "Aggregated number of sites deployment storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - } - }, - "required": [ - "range", - "collectionsTotal", - "tablesTotal", - "documentsTotal", - "rowsTotal", - "storageTotal", - "databaseReadsTotal", - "databaseWritesTotal", - "collections", - "tables", - "documents", - "rows", - "storage", - "databaseReads", - "databaseWrites" - ], - "example": { - "range": "30d", - "collectionsTotal": 0, - "tablesTotal": 0, - "documentsTotal": 0, - "rowsTotal": 0, - "storageTotal": 0, - "databaseReadsTotal": 0, - "databaseWritesTotal": 0, - "collections": [], - "tables": [], - "documents": [], - "rows": [], - "storage": [], - "databaseReads": [], - "databaseWrites": [] - } - }, - "usageTable": { - "description": "UsageTable", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" }, - "rowsTotal": { + "buildsSuccessTotal": { "type": "integer", - "description": "Total aggregated number of of rows.", + "description": "Total aggregated number of successful site builds.", "x-example": 0, "format": "int32" }, - "rows": { - "type": "array", - "description": "Aggregated number of rows per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - } - }, - "required": [ - "range", - "rowsTotal", - "rows" - ], - "example": { - "range": "30d", - "rowsTotal": 0, - "rows": [] - } - }, - "usageCollection": { - "description": "UsageCollection", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "documentsTotal": { + "buildsFailedTotal": { "type": "integer", - "description": "Total aggregated number of of documents.", + "description": "Total aggregated number of failed site builds.", "x-example": 0, "format": "int32" }, - "documents": { + "builds": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated number of sites build per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - } - }, - "required": [ - "range", - "documentsTotal", - "documents" - ], - "example": { - "range": "30d", - "documentsTotal": 0, - "documents": [] - } - }, - "usageUsers": { - "description": "UsageUsers", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "usersTotal": { - "type": "integer", - "description": "Total aggregated number of statistics of users.", - "x-example": 0, - "format": "int32" }, - "sessionsTotal": { - "type": "integer", - "description": "Total aggregated number of active sessions.", - "x-example": 0, - "format": "int32" - }, - "users": { + "buildsStorage": { "type": "array", - "description": "Aggregated number of users per period.", + "description": "Aggregated sum of sites build storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "sessions": { + "buildsTime": { "type": "array", - "description": "Aggregated number of active sessions per period.", + "description": "Aggregated sum of sites build compute time per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - } - }, - "required": [ - "range", - "usersTotal", - "sessionsTotal", - "users", - "sessions" - ], - "example": { - "range": "30d", - "usersTotal": 0, - "sessionsTotal": 0, - "users": [], - "sessions": [] - } - }, - "usageStorage": { - "description": "StorageUsage", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "bucketsTotal": { - "type": "integer", - "description": "Total aggregated number of buckets", - "x-example": 0, - "format": "int32" - }, - "filesTotal": { - "type": "integer", - "description": "Total aggregated number of files.", - "x-example": 0, - "format": "int32" - }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated number of files storage (in bytes).", - "x-example": 0, - "format": "int32" }, - "buckets": { + "buildsMbSeconds": { "type": "array", - "description": "Aggregated number of buckets per period.", + "description": "Aggregated sum of sites build mbSeconds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "files": { + "executions": { "type": "array", - "description": "Aggregated number of files per period.", + "description": "Aggregated number of sites execution per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "storage": { + "executionsTime": { "type": "array", - "description": "Aggregated number of files storage (in bytes) per period .", + "description": "Aggregated number of sites execution compute time per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - } - }, - "required": [ - "range", - "bucketsTotal", - "filesTotal", - "filesStorageTotal", - "buckets", - "files", - "storage" - ], - "example": { - "range": "30d", - "bucketsTotal": 0, - "filesTotal": 0, - "filesStorageTotal": 0, - "buckets": [], - "files": [], - "storage": [] - } - }, - "usageBuckets": { - "description": "UsageBuckets", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "filesTotal": { - "type": "integer", - "description": "Total aggregated number of bucket files.", - "x-example": 0, - "format": "int32" }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated number of bucket files storage (in bytes).", - "x-example": 0, - "format": "int32" - }, - "files": { + "executionsMbSeconds": { "type": "array", - "description": "Aggregated number of bucket files per period.", + "description": "Aggregated number of sites mbSeconds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "storage": { + "buildsSuccess": { "type": "array", - "description": "Aggregated number of bucket storage files (in bytes) per period.", + "description": "Aggregated number of successful site builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "imageTransformations": { + "buildsFailed": { "type": "array", - "description": "Aggregated number of files transformations per period.", + "description": "Aggregated number of failed site builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Total aggregated number of files transformations.", - "x-example": 0, - "format": "int32" } }, "required": [ "range", - "filesTotal", - "filesStorageTotal", - "files", - "storage", - "imageTransformations", - "imageTransformationsTotal" + "sitesTotal", + "sites", + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "requestsTotal", + "requests", + "inboundTotal", + "inbound", + "outboundTotal", + "outbound", + "deployments", + "deploymentsStorage", + "buildsSuccessTotal", + "buildsFailedTotal", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { "range": "30d", - "filesTotal": 0, - "filesStorageTotal": 0, - "files": [], - "storage": [], - "imageTransformations": [], - "imageTransformationsTotal": 0 + "sitesTotal": 0, + "sites": [], + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "requestsTotal": 0, + "requests": [], + "inboundTotal": 0, + "inbound": [], + "outboundTotal": 0, + "outbound": [], + "deployments": [], + "deploymentsStorage": [], + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "usageFunctions": { - "description": "UsageFunctions", + "usageSite": { + "description": "UsageSite", "type": "object", "properties": { "range": { "type": "string", - "description": "Time range of the usage stats.", + "description": "The time range of the usage stats.", "x-example": "30d" }, - "functionsTotal": { + "deploymentsTotal": { "type": "integer", - "description": "Total aggregated number of functions.", + "description": "Total aggregated number of function deployments.", "x-example": 0, "format": "int32" }, - "deploymentsTotal": { + "deploymentsStorageTotal": { "type": "integer", - "description": "Total aggregated number of functions deployments.", + "description": "Total aggregated sum of function deployments storage.", "x-example": 0, "format": "int32" }, - "deploymentsStorageTotal": { + "buildsTotal": { "type": "integer", - "description": "Total aggregated sum of functions deployment storage.", + "description": "Total aggregated number of function builds.", "x-example": 0, "format": "int32" }, - "buildsTotal": { + "buildsSuccessTotal": { "type": "integer", - "description": "Total aggregated number of functions build.", + "description": "Total aggregated number of successful function builds.", + "x-example": 0, + "format": "int32" + }, + "buildsFailedTotal": { + "type": "integer", + "description": "Total aggregated number of failed function builds.", "x-example": 0, "format": "int32" }, "buildsStorageTotal": { "type": "integer", - "description": "total aggregated sum of functions build storage.", + "description": "total aggregated sum of function builds storage.", "x-example": 0, "format": "int32" }, "buildsTimeTotal": { "type": "integer", - "description": "Total aggregated sum of functions build compute time.", + "description": "Total aggregated sum of function builds compute time.", + "x-example": 0, + "format": "int32" + }, + "buildsTimeAverage": { + "type": "integer", + "description": "Average builds compute time.", "x-example": 0, "format": "int32" }, "buildsMbSecondsTotal": { "type": "integer", - "description": "Total aggregated sum of functions build mbSeconds.", + "description": "Total aggregated sum of function builds mbSeconds.", "x-example": 0, "format": "int32" }, "executionsTotal": { "type": "integer", - "description": "Total aggregated number of functions execution.", + "description": "Total aggregated number of function executions.", "x-example": 0, "format": "int32" }, "executionsTimeTotal": { "type": "integer", - "description": "Total aggregated sum of functions execution compute time.", + "description": "Total aggregated sum of function executions compute time.", "x-example": 0, "format": "int32" }, "executionsMbSecondsTotal": { "type": "integer", - "description": "Total aggregated sum of functions execution mbSeconds.", + "description": "Total aggregated sum of function executions mbSeconds.", "x-example": 0, "format": "int32" }, - "functions": { - "type": "array", - "description": "Aggregated number of functions per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": 0 - }, "deployments": { "type": "array", - "description": "Aggregated number of functions deployment per period.", + "description": "Aggregated number of function deployments per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90376,27 +95934,15 @@ }, "deploymentsStorage": { "type": "array", - "description": "Aggregated number of functions deployment storage per period.", + "description": "Aggregated number of function deployments storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "buildsSuccessTotal": { - "type": "integer", - "description": "Total aggregated number of successful function builds.", - "x-example": 0, - "format": "int32" - }, - "buildsFailedTotal": { - "type": "integer", - "description": "Total aggregated number of failed function builds.", - "x-example": 0, - "format": "int32" - }, "builds": { "type": "array", - "description": "Aggregated number of functions build per period.", + "description": "Aggregated number of function builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90404,7 +95950,7 @@ }, "buildsStorage": { "type": "array", - "description": "Aggregated sum of functions build storage per period.", + "description": "Aggregated sum of function builds storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90412,7 +95958,7 @@ }, "buildsTime": { "type": "array", - "description": "Aggregated sum of functions build compute time per period.", + "description": "Aggregated sum of function builds compute time per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90420,7 +95966,7 @@ }, "buildsMbSeconds": { "type": "array", - "description": "Aggregated sum of functions build mbSeconds per period.", + "description": "Aggregated number of function builds mbSeconds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90428,7 +95974,7 @@ }, "executions": { "type": "array", - "description": "Aggregated number of functions execution per period.", + "description": "Aggregated number of function executions per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90436,7 +95982,7 @@ }, "executionsTime": { "type": "array", - "description": "Aggregated number of functions execution compute time per period.", + "description": "Aggregated number of function executions compute time per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90444,7 +95990,7 @@ }, "executionsMbSeconds": { "type": "array", - "description": "Aggregated number of functions mbSeconds per period.", + "description": "Aggregated number of function mbSeconds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90452,7 +95998,7 @@ }, "buildsSuccess": { "type": "array", - "description": "Aggregated number of successful function builds per period.", + "description": "Aggregated number of successful builds per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90460,7 +96006,49 @@ }, "buildsFailed": { "type": "array", - "description": "Aggregated number of failed function builds per period.", + "description": "Aggregated number of failed builds per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "requestsTotal": { + "type": "integer", + "description": "Total aggregated number of requests.", + "x-example": 0, + "format": "int32" + }, + "requests": { + "type": "array", + "description": "Aggregated number of requests per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "inboundTotal": { + "type": "integer", + "description": "Total aggregated inbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "inbound": { + "type": "array", + "description": "Aggregated number of inbound bandwidth per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "outboundTotal": { + "type": "integer", + "description": "Total aggregated outbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "outbound": { + "type": "array", + "description": "Aggregated number of outbound bandwidth per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, @@ -90469,21 +96057,20 @@ }, "required": [ "range", - "functionsTotal", "deploymentsTotal", "deploymentsStorageTotal", "buildsTotal", + "buildsSuccessTotal", + "buildsFailedTotal", "buildsStorageTotal", "buildsTimeTotal", + "buildsTimeAverage", "buildsMbSecondsTotal", "executionsTotal", "executionsTimeTotal", "executionsMbSecondsTotal", - "functions", "deployments", "deploymentsStorage", - "buildsSuccessTotal", - "buildsFailedTotal", "builds", "buildsStorage", "buildsTime", @@ -90492,25 +96079,30 @@ "executionsTime", "executionsMbSeconds", "buildsSuccess", - "buildsFailed" + "buildsFailed", + "requestsTotal", + "requests", + "inboundTotal", + "inbound", + "outboundTotal", + "outbound" ], "example": { "range": "30d", - "functionsTotal": 0, "deploymentsTotal": 0, "deploymentsStorageTotal": 0, "buildsTotal": 0, + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, "buildsStorageTotal": 0, "buildsTimeTotal": 0, + "buildsTimeAverage": 0, "buildsMbSecondsTotal": 0, "executionsTotal": 0, "executionsTimeTotal": 0, "executionsMbSecondsTotal": 0, - "functions": 0, "deployments": [], "deploymentsStorage": [], - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, "builds": [], "buildsStorage": [], "buildsTime": [], @@ -90519,3315 +96111,4365 @@ "executionsTime": [], "executionsMbSeconds": [], "buildsSuccess": [], - "buildsFailed": [] + "buildsFailed": [], + "requestsTotal": 0, + "requests": [], + "inboundTotal": 0, + "inbound": [], + "outboundTotal": 0, + "outbound": [] } }, - "usageFunction": { - "description": "UsageFunction", + "usageProject": { + "description": "Project", "type": "object", "properties": { - "range": { - "type": "string", - "description": "The time range of the usage stats.", - "x-example": "30d" + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of function executions.", + "x-example": 0, + "format": "int32" }, - "deploymentsTotal": { + "documentsTotal": { "type": "integer", - "description": "Total aggregated number of function deployments.", + "description": "Total aggregated number of documents in legacy\/tablesdb.", "x-example": 0, "format": "int32" }, - "deploymentsStorageTotal": { + "documentsdbDocumentsTotal": { "type": "integer", - "description": "Total aggregated sum of function deployments storage.", + "description": "Total aggregated number of documents in documentsdb.", "x-example": 0, "format": "int32" }, - "buildsTotal": { + "rowsTotal": { "type": "integer", - "description": "Total aggregated number of function builds.", + "description": "Total aggregated number of rows.", "x-example": 0, "format": "int32" }, - "buildsSuccessTotal": { + "databasesTotal": { "type": "integer", - "description": "Total aggregated number of successful function builds.", + "description": "Total aggregated number of databases.", "x-example": 0, "format": "int32" }, - "buildsFailedTotal": { + "documentsdbTotal": { "type": "integer", - "description": "Total aggregated number of failed function builds.", + "description": "Total aggregated number of documentsdb.", + "x-example": 0, + "format": "int32" + }, + "databasesStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of databases storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "documentsdbDatabasesStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of documentsdb databases storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "usersTotal": { + "type": "integer", + "description": "Total aggregated number of users.", + "x-example": 0, + "format": "int32" + }, + "filesStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of files storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "functionsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of functions storage size (in bytes).", "x-example": 0, "format": "int32" }, "buildsStorageTotal": { "type": "integer", - "description": "total aggregated sum of function builds storage.", + "description": "Total aggregated sum of builds storage size (in bytes).", "x-example": 0, "format": "int32" }, - "buildsTimeTotal": { + "deploymentsStorageTotal": { "type": "integer", - "description": "Total aggregated sum of function builds compute time.", + "description": "Total aggregated sum of deployments storage size (in bytes).", "x-example": 0, "format": "int32" }, - "buildsTimeAverage": { + "bucketsTotal": { "type": "integer", - "description": "Average builds compute time.", + "description": "Total aggregated number of buckets.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated number of function executions mbSeconds.", "x-example": 0, "format": "int32" }, "buildsMbSecondsTotal": { "type": "integer", - "description": "Total aggregated sum of function builds mbSeconds.", + "description": "Total aggregated number of function builds mbSeconds.", "x-example": 0, "format": "int32" }, - "executionsTotal": { + "databasesReadsTotal": { "type": "integer", - "description": "Total aggregated number of function executions.", + "description": "Aggregated stats for total databases reads.", "x-example": 0, "format": "int32" }, - "executionsTimeTotal": { + "databasesWritesTotal": { "type": "integer", - "description": "Total aggregated sum of function executions compute time.", + "description": "Aggregated stats for total databases writes.", "x-example": 0, "format": "int32" }, - "executionsMbSecondsTotal": { + "documentsdbDatabasesReadsTotal": { "type": "integer", - "description": "Total aggregated sum of function executions mbSeconds.", + "description": "Total number of documentsdb databases reads.", "x-example": 0, "format": "int32" }, - "deployments": { + "documentsdbDatabasesWritesTotal": { + "type": "integer", + "description": "Total number of documentsdb databases writes.", + "x-example": 0, + "format": "int32" + }, + "requests": { "type": "array", - "description": "Aggregated number of function deployments per period.", + "description": "Aggregated number of requests per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "deploymentsStorage": { + "network": { "type": "array", - "description": "Aggregated number of function deployments storage per period.", + "description": "Aggregated number of consumed bandwidth per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "users": { + "type": "array", + "description": "Aggregated number of users per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated number of executions per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executionsBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of executions by functions.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "bucketsBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of usage by buckets.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "databasesStorageBreakdown": { + "type": "array", + "description": "An array of the aggregated breakdown of storage usage by databases.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "executionsMbSecondsBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of execution mbSeconds by functions.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "buildsMbSecondsBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of build mbSeconds by functions.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "functionsStorageBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of functions storage size (in bytes).", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "authPhoneTotal": { + "type": "integer", + "description": "Aggregated stats for total auth phone.", + "x-example": 0, + "format": "int32" + }, + "authPhoneEstimate": { + "type": "integer", + "description": "Aggregated stats for total auth phone estimation.", + "x-example": 0, + "format": "int32" + }, + "authPhoneCountryBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of phone auth by country.", + "items": { + "$ref": "#\/components\/schemas\/metricBreakdown" + }, + "x-example": [] + }, + "databasesReads": { + "type": "array", + "description": "Aggregated stats for database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databasesWrites": { + "type": "array", + "description": "Aggregated stats for database writes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "documentsdbDatabasesReads": { + "type": "array", + "description": "An array of aggregated number of documentsdb database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "documentsdbDatabasesWrites": { + "type": "array", + "description": "An array of aggregated number of documentsdb database writes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "documentsdbDatabasesStorage": { + "type": "array", + "description": "An array of aggregated sum of documentsdb databases storage size (in bytes) per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "imageTransformations": { + "type": "array", + "description": "An array of aggregated number of image transformations.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "builds": { + "imageTransformationsTotal": { + "type": "integer", + "description": "Total aggregated number of image transformations.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDatabasesTotal": { + "type": "integer", + "description": "Total aggregated number of VectorsDB databases.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbCollectionsTotal": { + "type": "integer", + "description": "Total aggregated number of VectorsDB collections.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDocumentsTotal": { + "type": "integer", + "description": "Total aggregated number of VectorsDB documents.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDatabasesStorageTotal": { + "type": "integer", + "description": "Total aggregated VectorsDB storage (bytes).", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDatabasesReadsTotal": { + "type": "integer", + "description": "Total aggregated number of VectorsDB reads.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDatabasesWritesTotal": { + "type": "integer", + "description": "Total aggregated number of VectorsDB writes.", + "x-example": 0, + "format": "int32" + }, + "vectorsdbDatabases": { "type": "array", - "description": "Aggregated number of function builds per period.", + "description": "Aggregated VectorsDB databases per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "buildsStorage": { + "vectorsdbCollections": { "type": "array", - "description": "Aggregated sum of function builds storage per period.", + "description": "Aggregated VectorsDB collections per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "buildsTime": { + "vectorsdbDocuments": { "type": "array", - "description": "Aggregated sum of function builds compute time per period.", + "description": "Aggregated VectorsDB documents per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "buildsMbSeconds": { + "vectorsdbDatabasesStorage": { "type": "array", - "description": "Aggregated number of function builds mbSeconds per period.", + "description": "Aggregated VectorsDB storage per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "executions": { + "vectorsdbDatabasesReads": { "type": "array", - "description": "Aggregated number of function executions per period.", + "description": "Aggregated VectorsDB reads per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "executionsTime": { + "vectorsdbDatabasesWrites": { "type": "array", - "description": "Aggregated number of function executions compute time per period.", + "description": "Aggregated VectorsDB writes per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of function mbSeconds per period.", + "embeddingsText": { + "type": "object", + "description": "Aggregated number of text embedding calls per period.", + "x-example": [], "items": { "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + } }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful builds per period.", + "embeddingsTextTokens": { + "type": "object", + "description": "Aggregated number of tokens processed by text embeddings per period.", + "x-example": [], "items": { "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + } }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed builds per period.", + "embeddingsTextDuration": { + "type": "object", + "description": "Aggregated duration spent generating text embeddings per period.", + "x-example": [], "items": { "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - } - }, - "required": [ - "range", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsSuccessTotal", - "buildsFailedTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsTimeAverage", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "deployments", - "deploymentsStorage", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed" - ], - "example": { - "range": "30d", - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsTimeAverage": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "deployments": [], - "deploymentsStorage": [], - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [] - } - }, - "usageSites": { - "description": "UsageSites", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "sitesTotal": { - "type": "integer", - "description": "Total aggregated number of sites.", - "x-example": 0, - "format": "int32" + } }, - "sites": { - "type": "array", - "description": "Aggregated number of sites per period.", + "embeddingsTextErrors": { + "type": "object", + "description": "Aggregated number of errors while generating text embeddings per period.", + "x-example": [], "items": { "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + } }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of sites deployments.", + "embeddingsTextTotal": { + "type": "object", + "description": "Total aggregated number of text embedding calls.", "x-example": 0, - "format": "int32" + "items": { + "$ref": "#\/components\/schemas\/metric" + } }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of sites deployment storage.", + "embeddingsTextTokensTotal": { + "type": "object", + "description": "Total aggregated number of tokens processed by text.", "x-example": 0, - "format": "int32" + "items": { + "$ref": "#\/components\/schemas\/metric" + } }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of sites build.", + "embeddingsTextDurationTotal": { + "type": "object", + "description": "Total aggregated duration spent generating text embeddings.", "x-example": 0, - "format": "int32" + "items": { + "$ref": "#\/components\/schemas\/metric" + } }, - "buildsStorageTotal": { - "type": "integer", - "description": "total aggregated sum of sites build storage.", + "embeddingsTextErrorsTotal": { + "type": "object", + "description": "Total aggregated number of errors while generating text embeddings.", "x-example": 0, - "format": "int32" + "items": { + "$ref": "#\/components\/schemas\/metric" + } }, - "buildsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of sites build compute time.", - "x-example": 0, - "format": "int32" + "functionsExecutions": { + "type": "array", + "description": "Aggregated number of function executions per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "buildsMbSecondsTotal": { + "functionsExecutionsTotal": { "type": "integer", - "description": "Total aggregated sum of sites build mbSeconds.", + "description": "Total aggregated number of function executions.", "x-example": 0, "format": "int32" }, - "executionsTotal": { - "type": "integer", - "description": "Total aggregated number of sites execution.", - "x-example": 0, - "format": "int32" + "sitesExecutions": { + "type": "array", + "description": "Aggregated number of site executions per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "executionsTimeTotal": { + "sitesExecutionsTotal": { "type": "integer", - "description": "Total aggregated sum of sites execution compute time.", + "description": "Total aggregated number of site executions.", "x-example": 0, "format": "int32" }, - "executionsMbSecondsTotal": { + "networkTotal": { "type": "integer", - "description": "Total aggregated sum of sites execution mbSeconds.", + "description": "Aggregated stats for total network bandwidth.", "x-example": 0, "format": "int32" }, - "requestsTotal": { + "backupsStorageTotal": { "type": "integer", - "description": "Total aggregated number of requests.", + "description": "Aggregated stats for total backups storage.", "x-example": 0, "format": "int32" }, - "requests": { + "screenshotsGenerated": { "type": "array", - "description": "Aggregated number of requests per period.", + "description": "An array of aggregated number of screenshots generated.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "inboundTotal": { + "screenshotsGeneratedTotal": { "type": "integer", - "description": "Total aggregated inbound bandwidth.", + "description": "Total aggregated number of screenshots generated.", "x-example": 0, "format": "int32" }, - "inbound": { + "imagineCredits": { "type": "array", - "description": "Aggregated number of inbound bandwidth per period.", + "description": "An array of aggregated number of Imagine credits in the given period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "outboundTotal": { + "imagineCreditsTotal": { "type": "integer", - "description": "Total aggregated outbound bandwidth.", + "description": "Total aggregated number of Imagine credits.", "x-example": 0, "format": "int32" }, - "outbound": { - "type": "array", - "description": "Aggregated number of outbound bandwidth per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "deployments": { - "type": "array", - "description": "Aggregated number of sites deployment per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of sites deployment storage per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "buildsSuccessTotal": { + "realtimeConnectionsTotal": { "type": "integer", - "description": "Total aggregated number of successful site builds.", + "description": "Current aggregated number of open Realtime connections.", "x-example": 0, "format": "int32" }, - "buildsFailedTotal": { + "realtimeMessagesTotal": { "type": "integer", - "description": "Total aggregated number of failed site builds.", + "description": "Total number of Realtime messages sent to clients.", "x-example": 0, "format": "int32" }, - "builds": { - "type": "array", - "description": "Aggregated number of sites build per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "buildsStorage": { - "type": "array", - "description": "Aggregated sum of sites build storage per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "realtimeBandwidthTotal": { + "type": "integer", + "description": "Total consumed Realtime bandwidth (in bytes).", + "x-example": 0, + "format": "int32" }, - "buildsTime": { + "realtimeConnections": { "type": "array", - "description": "Aggregated sum of sites build compute time per period.", + "description": "Aggregated number of open Realtime connections per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "buildsMbSeconds": { + "realtimeMessages": { "type": "array", - "description": "Aggregated sum of sites build mbSeconds per period.", + "description": "Aggregated number of Realtime messages sent to clients per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "executions": { + "realtimeBandwidth": { "type": "array", - "description": "Aggregated number of sites execution per period.", + "description": "Aggregated consumed Realtime bandwidth (in bytes) per period.", "items": { "$ref": "#\/components\/schemas\/metric" }, "x-example": [] + } + }, + "required": [ + "executionsTotal", + "documentsTotal", + "documentsdbDocumentsTotal", + "rowsTotal", + "databasesTotal", + "documentsdbTotal", + "databasesStorageTotal", + "documentsdbDatabasesStorageTotal", + "usersTotal", + "filesStorageTotal", + "functionsStorageTotal", + "buildsStorageTotal", + "deploymentsStorageTotal", + "bucketsTotal", + "executionsMbSecondsTotal", + "buildsMbSecondsTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "documentsdbDatabasesReadsTotal", + "documentsdbDatabasesWritesTotal", + "requests", + "network", + "users", + "executions", + "executionsBreakdown", + "bucketsBreakdown", + "databasesStorageBreakdown", + "executionsMbSecondsBreakdown", + "buildsMbSecondsBreakdown", + "functionsStorageBreakdown", + "authPhoneTotal", + "authPhoneEstimate", + "authPhoneCountryBreakdown", + "databasesReads", + "databasesWrites", + "documentsdbDatabasesReads", + "documentsdbDatabasesWrites", + "documentsdbDatabasesStorage", + "imageTransformations", + "imageTransformationsTotal", + "vectorsdbDatabasesTotal", + "vectorsdbCollectionsTotal", + "vectorsdbDocumentsTotal", + "vectorsdbDatabasesStorageTotal", + "vectorsdbDatabasesReadsTotal", + "vectorsdbDatabasesWritesTotal", + "vectorsdbDatabases", + "vectorsdbCollections", + "vectorsdbDocuments", + "vectorsdbDatabasesStorage", + "vectorsdbDatabasesReads", + "vectorsdbDatabasesWrites", + "embeddingsText", + "embeddingsTextTokens", + "embeddingsTextDuration", + "embeddingsTextErrors", + "embeddingsTextTotal", + "embeddingsTextTokensTotal", + "embeddingsTextDurationTotal", + "embeddingsTextErrorsTotal", + "functionsExecutions", + "functionsExecutionsTotal", + "sitesExecutions", + "sitesExecutionsTotal", + "networkTotal", + "backupsStorageTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "imagineCreditsTotal", + "realtimeConnectionsTotal", + "realtimeMessagesTotal", + "realtimeBandwidthTotal", + "realtimeConnections", + "realtimeMessages", + "realtimeBandwidth" + ], + "example": { + "executionsTotal": 0, + "documentsTotal": 0, + "documentsdbDocumentsTotal": 0, + "rowsTotal": 0, + "databasesTotal": 0, + "documentsdbTotal": 0, + "databasesStorageTotal": 0, + "documentsdbDatabasesStorageTotal": 0, + "usersTotal": 0, + "filesStorageTotal": 0, + "functionsStorageTotal": 0, + "buildsStorageTotal": 0, + "deploymentsStorageTotal": 0, + "bucketsTotal": 0, + "executionsMbSecondsTotal": 0, + "buildsMbSecondsTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "documentsdbDatabasesReadsTotal": 0, + "documentsdbDatabasesWritesTotal": 0, + "requests": [], + "network": [], + "users": [], + "executions": [], + "executionsBreakdown": [], + "bucketsBreakdown": [], + "databasesStorageBreakdown": [], + "executionsMbSecondsBreakdown": [], + "buildsMbSecondsBreakdown": [], + "functionsStorageBreakdown": [], + "authPhoneTotal": 0, + "authPhoneEstimate": 0, + "authPhoneCountryBreakdown": [], + "databasesReads": [], + "databasesWrites": [], + "documentsdbDatabasesReads": [], + "documentsdbDatabasesWrites": [], + "documentsdbDatabasesStorage": [], + "imageTransformations": [], + "imageTransformationsTotal": 0, + "vectorsdbDatabasesTotal": 0, + "vectorsdbCollectionsTotal": 0, + "vectorsdbDocumentsTotal": 0, + "vectorsdbDatabasesStorageTotal": 0, + "vectorsdbDatabasesReadsTotal": 0, + "vectorsdbDatabasesWritesTotal": 0, + "vectorsdbDatabases": [], + "vectorsdbCollections": [], + "vectorsdbDocuments": [], + "vectorsdbDatabasesStorage": [], + "vectorsdbDatabasesReads": [], + "vectorsdbDatabasesWrites": [], + "embeddingsText": [], + "embeddingsTextTokens": [], + "embeddingsTextDuration": [], + "embeddingsTextErrors": [], + "embeddingsTextTotal": 0, + "embeddingsTextTokensTotal": 0, + "embeddingsTextDurationTotal": 0, + "embeddingsTextErrorsTotal": 0, + "functionsExecutions": [], + "functionsExecutionsTotal": 0, + "sitesExecutions": [], + "sitesExecutionsTotal": 0, + "networkTotal": 0, + "backupsStorageTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": [], + "imagineCreditsTotal": 0, + "realtimeConnectionsTotal": 0, + "realtimeMessagesTotal": 0, + "realtimeBandwidthTotal": 0, + "realtimeConnections": [], + "realtimeMessages": [], + "realtimeBandwidth": [] + } + }, + "headers": { + "description": "Headers", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Header name.", + "x-example": "Content-Type" }, - "executionsTime": { - "type": "array", - "description": "Aggregated number of sites execution compute time per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "value": { + "type": "string", + "description": "Header value.", + "x-example": "application\/json" + } + }, + "required": [ + "name", + "value" + ], + "example": { + "name": "Content-Type", + "value": "application\/json" + } + }, + "specification": { + "description": "Specification", + "type": "object", + "properties": { + "memory": { + "type": "integer", + "description": "Memory size in MB.", + "x-example": 512, + "format": "int32" }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of sites mbSeconds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "cpus": { + "type": "number", + "description": "Number of CPUs.", + "x-example": 1, + "format": "double" }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful site builds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "enabled": { + "type": "boolean", + "description": "Is size enabled.", + "x-example": true }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed site builds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "slug": { + "type": "string", + "description": "Size slug.", + "x-example": "s-1vcpu-512mb" } }, "required": [ - "range", - "sitesTotal", - "sites", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "requestsTotal", - "requests", - "inboundTotal", - "inbound", - "outboundTotal", - "outbound", - "deployments", - "deploymentsStorage", - "buildsSuccessTotal", - "buildsFailedTotal", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed" + "memory", + "cpus", + "enabled", + "slug" ], "example": { - "range": "30d", - "sitesTotal": 0, - "sites": [], - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "requestsTotal": 0, - "requests": [], - "inboundTotal": 0, - "inbound": [], - "outboundTotal": 0, - "outbound": [], - "deployments": [], - "deploymentsStorage": [], - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [] + "memory": 512, + "cpus": 1, + "enabled": true, + "slug": "s-1vcpu-512mb" } }, - "usageSite": { - "description": "UsageSite", + "proxyRule": { + "description": "Rule", "type": "object", "properties": { - "range": { + "$id": { "type": "string", - "description": "The time range of the usage stats.", - "x-example": "30d" + "description": "Rule ID.", + "x-example": "5e5ea5c16897e" }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of function deployments.", - "x-example": 0, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Rule creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of function deployments storage.", - "x-example": 0, - "format": "int32" + "$updatedAt": { + "type": "string", + "description": "Rule update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of function builds.", - "x-example": 0, - "format": "int32" + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": "appwrite.company.com" }, - "buildsSuccessTotal": { - "type": "integer", - "description": "Total aggregated number of successful function builds.", - "x-example": 0, - "format": "int32" + "type": { + "type": "string", + "description": "Action definition for the rule. Possible values are \"api\", \"deployment\", or \"redirect\"", + "x-example": "deployment" }, - "buildsFailedTotal": { - "type": "integer", - "description": "Total aggregated number of failed function builds.", - "x-example": 0, - "format": "int32" + "trigger": { + "type": "string", + "description": "Defines how the rule was created. Possible values are \"manual\" or \"deployment\"", + "x-example": "manual" }, - "buildsStorageTotal": { - "type": "integer", - "description": "total aggregated sum of function builds storage.", - "x-example": 0, - "format": "int32" + "redirectUrl": { + "type": "string", + "description": "URL to redirect to. Used if type is \"redirect\"", + "x-example": "https:\/\/appwrite.io\/docs" }, - "buildsTimeTotal": { + "redirectStatusCode": { "type": "integer", - "description": "Total aggregated sum of function builds compute time.", - "x-example": 0, + "description": "Status code to apply during redirect. Used if type is \"redirect\"", + "x-example": 301, "format": "int32" }, - "buildsTimeAverage": { - "type": "integer", - "description": "Average builds compute time.", - "x-example": 0, - "format": "int32" + "deploymentId": { + "type": "string", + "description": "ID of deployment. Used if type is \"deployment\"", + "x-example": "n3u9feiwmf" }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of function builds mbSeconds.", - "x-example": 0, - "format": "int32" + "deploymentResourceType": { + "type": "string", + "description": "Type of deployment. Possible values are \"function\", \"site\". Used if rule's type is \"deployment\".", + "x-example": "function", + "enum": [ + "function", + "site" + ], + "nullable": true }, - "executionsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, - "format": "int32" + "deploymentResourceId": { + "type": "string", + "description": "ID of deployment's resource (site or function ID). Used if type is \"deployment\"", + "x-example": "n3u9feiwmf" }, - "executionsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of function executions compute time.", - "x-example": 0, - "format": "int32" + "deploymentVcsProviderBranch": { + "type": "string", + "description": "Name of Git branch that updates rule. Used if type is \"deployment\"", + "x-example": "main" }, - "executionsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of function executions mbSeconds.", - "x-example": 0, - "format": "int32" + "status": { + "type": "string", + "description": "Domain verification status. Possible values are \"unverified\", \"verifying\", \"verified\"", + "x-example": "verified", + "enum": [ + "unverified", + "verifying", + "verified" + ] }, - "deployments": { - "type": "array", - "description": "Aggregated number of function deployments per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "logs": { + "type": "string", + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of function deployments storage per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "renewAt": { + "type": "string", + "description": "Certificate auto-renewal date in ISO 8601 format.", + "x-example": "datetime" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "domain", + "type", + "trigger", + "redirectUrl", + "redirectStatusCode", + "deploymentId", + "deploymentResourceId", + "deploymentVcsProviderBranch", + "status", + "logs", + "renewAt" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "domain": "appwrite.company.com", + "type": "deployment", + "trigger": "manual", + "redirectUrl": "https:\/\/appwrite.io\/docs", + "redirectStatusCode": 301, + "deploymentId": "n3u9feiwmf", + "deploymentResourceType": "function", + "deploymentResourceId": "n3u9feiwmf", + "deploymentVcsProviderBranch": "main", + "status": "verified", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", + "renewAt": "datetime" + } + }, + "schedule": { + "description": "Schedule", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Schedule ID.", + "x-example": "5e5ea5c16897e" }, - "builds": { - "type": "array", - "description": "Aggregated number of function builds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Schedule creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "buildsStorage": { - "type": "array", - "description": "Aggregated sum of function builds storage per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Schedule update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "buildsTime": { - "type": "array", - "description": "Aggregated sum of function builds compute time per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "resourceType": { + "type": "string", + "description": "The resource type associated with this schedule.", + "x-example": "function" }, - "buildsMbSeconds": { - "type": "array", - "description": "Aggregated number of function builds mbSeconds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "resourceId": { + "type": "string", + "description": "The resource ID associated with this schedule.", + "x-example": "5e5ea5c16897e" }, - "executions": { - "type": "array", - "description": "Aggregated number of function executions per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "resourceUpdatedAt": { + "type": "string", + "description": "Change-tracking timestamp used by the scheduler to detect resource changes in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "executionsTime": { - "type": "array", - "description": "Aggregated number of function executions compute time per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "projectId": { + "type": "string", + "description": "The project ID associated with this schedule.", + "x-example": "5e5ea5c16897e" }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of function mbSeconds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "schedule": { + "type": "string", + "description": "The CRON schedule expression.", + "x-example": "5 4 * * *" }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful builds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, + "data": { + "type": "object", + "description": "Schedule data used to store resource-specific context needed for execution.", "x-example": [] }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed builds per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "active": { + "type": "boolean", + "description": "Whether the schedule is active.", + "x-example": true }, - "requestsTotal": { - "type": "integer", - "description": "Total aggregated number of requests.", - "x-example": 0, - "format": "int32" + "region": { + "type": "string", + "description": "The region where the schedule is deployed.", + "x-example": "fra" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "resourceType", + "resourceId", + "resourceUpdatedAt", + "projectId", + "schedule", + "data", + "active", + "region" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "resourceType": "function", + "resourceId": "5e5ea5c16897e", + "resourceUpdatedAt": "2020-10-15T06:38:00.000+00:00", + "projectId": "5e5ea5c16897e", + "schedule": "5 4 * * *", + "data": [], + "active": true, + "region": "fra" + } + }, + "emailTemplate": { + "description": "EmailTemplate", + "type": "object", + "properties": { + "templateId": { + "type": "string", + "description": "Template type", + "x-example": "verification" }, - "requests": { - "type": "array", - "description": "Aggregated number of requests per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "locale": { + "type": "string", + "description": "Template locale", + "x-example": "en_us" }, - "inboundTotal": { - "type": "integer", - "description": "Total aggregated inbound bandwidth.", - "x-example": 0, - "format": "int32" + "message": { + "type": "string", + "description": "Template message", + "x-example": "Click on the link to verify your account." }, - "inbound": { - "type": "array", - "description": "Aggregated number of inbound bandwidth per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "senderName": { + "type": "string", + "description": "Name of the sender", + "x-example": "My User" }, - "outboundTotal": { - "type": "integer", - "description": "Total aggregated outbound bandwidth.", - "x-example": 0, - "format": "int32" + "senderEmail": { + "type": "string", + "description": "Email of the sender", + "x-example": "mail@appwrite.io" }, - "outbound": { - "type": "array", - "description": "Aggregated number of outbound bandwidth per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - } - }, - "required": [ - "range", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsSuccessTotal", - "buildsFailedTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsTimeAverage", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "deployments", - "deploymentsStorage", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed", - "requestsTotal", - "requests", - "inboundTotal", - "inbound", - "outboundTotal", - "outbound" + "replyToEmail": { + "type": "string", + "description": "Reply to email address", + "x-example": "emails@appwrite.io" + }, + "replyToName": { + "type": "string", + "description": "Reply to name", + "x-example": "Support Team" + }, + "subject": { + "type": "string", + "description": "Email subject", + "x-example": "Please verify your email address" + } + }, + "required": [ + "templateId", + "locale", + "message", + "senderName", + "senderEmail", + "replyToEmail", + "replyToName", + "subject" ], "example": { - "range": "30d", - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsTimeAverage": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "deployments": [], - "deploymentsStorage": [], - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [], - "requestsTotal": 0, - "requests": [], - "inboundTotal": 0, - "inbound": [], - "outboundTotal": 0, - "outbound": [] + "templateId": "verification", + "locale": "en_us", + "message": "Click on the link to verify your account.", + "senderName": "My User", + "senderEmail": "mail@appwrite.io", + "replyToEmail": "emails@appwrite.io", + "replyToName": "Support Team", + "subject": "Please verify your email address" } }, - "usageProject": { - "description": "UsageProject", + "consoleVariables": { + "description": "Console Variables", "type": "object", "properties": { - "executionsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_CNAME": { + "type": "string", + "description": "CNAME target for your Appwrite custom domains.", + "x-example": "appwrite.io" }, - "documentsTotal": { - "type": "integer", - "description": "Total aggregated number of documents in legacy\/tablesdb.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_A": { + "type": "string", + "description": "A target for your Appwrite custom domains.", + "x-example": "127.0.0.1" }, - "documentsdbDocumentsTotal": { + "_APP_COMPUTE_BUILD_TIMEOUT": { "type": "integer", - "description": "Total aggregated number of documents in documentsdb.", - "x-example": 0, + "description": "Maximum build timeout in seconds.", + "x-example": 900, "format": "int32" }, - "rowsTotal": { - "type": "integer", - "description": "Total aggregated number of rows.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_AAAA": { + "type": "string", + "description": "AAAA target for your Appwrite custom domains.", + "x-example": "::1" }, - "databasesTotal": { - "type": "integer", - "description": "Total aggregated number of databases.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_CAA": { + "type": "string", + "description": "CAA target for your Appwrite custom domains.", + "x-example": "digicert.com" }, - "documentsdbTotal": { + "_APP_STORAGE_LIMIT": { "type": "integer", - "description": "Total aggregated number of documentsdb.", - "x-example": 0, + "description": "Maximum file size allowed for file upload in bytes.", + "x-example": "30000000", "format": "int32" }, - "databasesStorageTotal": { + "_APP_COMPUTE_SIZE_LIMIT": { "type": "integer", - "description": "Total aggregated sum of databases storage size (in bytes).", - "x-example": 0, + "description": "Maximum file size allowed for deployment in bytes.", + "x-example": "30000000", "format": "int32" }, - "documentsdbDatabasesStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of documentsdb databases storage size (in bytes).", - "x-example": 0, - "format": "int32" + "_APP_USAGE_STATS": { + "type": "string", + "description": "Defines if usage stats are enabled. This value is set to 'enabled' by default, to disable the usage stats set the value to 'disabled'.", + "x-example": "enabled" }, - "usersTotal": { - "type": "integer", - "description": "Total aggregated number of users.", - "x-example": 0, - "format": "int32" + "_APP_VCS_ENABLED": { + "type": "boolean", + "description": "Defines if VCS (Version Control System) is enabled.", + "x-example": true }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of files storage size (in bytes).", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_ENABLED": { + "type": "boolean", + "description": "Defines if main domain is configured. If so, custom domains can be created.", + "x-example": true }, - "functionsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of functions storage size (in bytes).", - "x-example": 0, - "format": "int32" + "_APP_ASSISTANT_ENABLED": { + "type": "boolean", + "description": "Defines if AI assistant is enabled.", + "x-example": true }, - "buildsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of builds storage size (in bytes).", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_SITES": { + "type": "string", + "description": "A comma separated list of domains to use for site URLs.", + "x-example": "sites.localhost,sites.example.com" }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of deployments storage size (in bytes).", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_FUNCTIONS": { + "type": "string", + "description": "A domain to use for function URLs.", + "x-example": "functions.localhost" }, - "bucketsTotal": { - "type": "integer", - "description": "Total aggregated number of buckets.", - "x-example": 0, - "format": "int32" + "_APP_OPTIONS_FORCE_HTTPS": { + "type": "string", + "description": "Defines if HTTPS is enforced for all requests.", + "x-example": "enabled" }, - "executionsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions mbSeconds.", - "x-example": 0, - "format": "int32" + "_APP_DOMAINS_NAMESERVERS": { + "type": "string", + "description": "Comma-separated list of nameservers.", + "x-example": "ns1.example.com,ns2.example.com" }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated number of function builds mbSeconds.", - "x-example": 0, - "format": "int32" + "_APP_DB_ADAPTER": { + "type": "string", + "description": "Database adapter in use.", + "x-example": "mysql" }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" + "supportForRelationships": { + "type": "boolean", + "description": "Whether the database adapter supports relationships.", + "x-example": true }, - "databasesWritesTotal": { - "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, - "format": "int32" + "supportForOperators": { + "type": "boolean", + "description": "Whether the database adapter supports operators.", + "x-example": true }, - "documentsdbDatabasesReadsTotal": { - "type": "integer", - "description": "Total number of documentsdb databases reads.", - "x-example": 0, - "format": "int32" + "supportForSpatials": { + "type": "boolean", + "description": "Whether the database adapter supports spatial attributes.", + "x-example": true }, - "documentsdbDatabasesWritesTotal": { - "type": "integer", - "description": "Total number of documentsdb databases writes.", - "x-example": 0, - "format": "int32" + "supportForSpatialIndexNull": { + "type": "boolean", + "description": "Whether the database adapter supports spatial indexes on nullable columns.", + "x-example": false }, - "requests": { - "type": "array", - "description": "Aggregated number of requests per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "supportForFulltextWildcard": { + "type": "boolean", + "description": "Whether the database adapter supports fulltext wildcard search.", + "x-example": true }, - "network": { - "type": "array", - "description": "Aggregated number of consumed bandwidth per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "supportForMultipleFulltextIndexes": { + "type": "boolean", + "description": "Whether the database adapter supports multiple fulltext indexes per collection.", + "x-example": true }, - "users": { - "type": "array", - "description": "Aggregated number of users per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "supportForAttributeResizing": { + "type": "boolean", + "description": "Whether the database adapter supports resizing attributes.", + "x-example": true }, - "executions": { - "type": "array", - "description": "Aggregated number of executions per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "supportForSchemas": { + "type": "boolean", + "description": "Whether the database adapter supports fixed schemas with row width limits.", + "x-example": true }, - "executionsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of executions by functions.", - "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" - }, - "x-example": [] + "maxIndexLength": { + "type": "integer", + "description": "Maximum index length supported by the database adapter.", + "x-example": 768, + "format": "int32" }, - "bucketsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of usage by buckets.", - "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" - }, - "x-example": [] + "supportForIntegerIds": { + "type": "boolean", + "description": "Whether the database adapter uses integer sequence IDs.", + "x-example": true }, - "databasesStorageBreakdown": { - "type": "array", - "description": "An array of the aggregated breakdown of storage usage by databases.", - "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" - }, - "x-example": [] + "_APP_CONSOLE_EMAIL_VERIFICATION": { + "type": "string", + "description": "Whether email verification for console users is required. Can be \"true\" or \"false\".", + "x-example": "true" + } + }, + "required": [ + "_APP_DOMAIN_TARGET_CNAME", + "_APP_DOMAIN_TARGET_A", + "_APP_COMPUTE_BUILD_TIMEOUT", + "_APP_DOMAIN_TARGET_AAAA", + "_APP_DOMAIN_TARGET_CAA", + "_APP_STORAGE_LIMIT", + "_APP_COMPUTE_SIZE_LIMIT", + "_APP_USAGE_STATS", + "_APP_VCS_ENABLED", + "_APP_DOMAIN_ENABLED", + "_APP_ASSISTANT_ENABLED", + "_APP_DOMAIN_SITES", + "_APP_DOMAIN_FUNCTIONS", + "_APP_OPTIONS_FORCE_HTTPS", + "_APP_DOMAINS_NAMESERVERS", + "_APP_DB_ADAPTER", + "supportForRelationships", + "supportForOperators", + "supportForSpatials", + "supportForSpatialIndexNull", + "supportForFulltextWildcard", + "supportForMultipleFulltextIndexes", + "supportForAttributeResizing", + "supportForSchemas", + "maxIndexLength", + "supportForIntegerIds", + "_APP_CONSOLE_EMAIL_VERIFICATION" + ], + "example": { + "_APP_DOMAIN_TARGET_CNAME": "appwrite.io", + "_APP_DOMAIN_TARGET_A": "127.0.0.1", + "_APP_COMPUTE_BUILD_TIMEOUT": 900, + "_APP_DOMAIN_TARGET_AAAA": "::1", + "_APP_DOMAIN_TARGET_CAA": "digicert.com", + "_APP_STORAGE_LIMIT": "30000000", + "_APP_COMPUTE_SIZE_LIMIT": "30000000", + "_APP_USAGE_STATS": "enabled", + "_APP_VCS_ENABLED": true, + "_APP_DOMAIN_ENABLED": true, + "_APP_ASSISTANT_ENABLED": true, + "_APP_DOMAIN_SITES": "sites.localhost,sites.example.com", + "_APP_DOMAIN_FUNCTIONS": "functions.localhost", + "_APP_OPTIONS_FORCE_HTTPS": "enabled", + "_APP_DOMAINS_NAMESERVERS": "ns1.example.com,ns2.example.com", + "_APP_DB_ADAPTER": "mysql", + "supportForRelationships": true, + "supportForOperators": true, + "supportForSpatials": true, + "supportForSpatialIndexNull": false, + "supportForFulltextWildcard": true, + "supportForMultipleFulltextIndexes": true, + "supportForAttributeResizing": true, + "supportForSchemas": true, + "maxIndexLength": 768, + "supportForIntegerIds": true, + "_APP_CONSOLE_EMAIL_VERIFICATION": "true" + } + }, + "consoleOAuth2ProviderParameter": { + "description": "Console OAuth2 Provider Parameter", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Parameter ID. Maps to the request body field used by the project OAuth2 update endpoint (e.g. `clientId`, `appKey`, `tenant`).", + "x-example": "clientId" }, - "executionsMbSecondsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of execution mbSeconds by functions.", - "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" - }, - "x-example": [] + "name": { + "type": "string", + "description": "Verbose, user-facing parameter name as shown in the provider's own dashboard. Includes alternate names when the provider exposes more than one.", + "x-example": "Client ID or App ID" }, - "buildsMbSecondsBreakdown": { + "example": { + "type": "string", + "description": "Example value for this parameter.", + "x-example": "e4d87900000000540733" + }, + "hint": { + "type": "string", + "description": "Optional hint for this parameter, typically calling out a common wrong value. Empty string when no hint is set.", + "x-example": "Example of wrong value: 370006" + } + }, + "required": [ + "$id", + "name", + "example", + "hint" + ], + "example": { + "$id": "clientId", + "name": "Client ID or App ID", + "example": "e4d87900000000540733", + "hint": "Example of wrong value: 370006" + } + }, + "consoleOAuth2Provider": { + "description": "Console OAuth2 Provider", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" + }, + "parameters": { "type": "array", - "description": "Aggregated breakdown in totals of build mbSeconds by functions.", + "description": "List of parameters required to configure this OAuth2 provider.", "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" + "$ref": "#\/components\/schemas\/consoleOAuth2ProviderParameter" }, - "x-example": [] + "x-example": "" + } + }, + "required": [ + "$id", + "parameters" + ], + "example": { + "$id": "github", + "parameters": "" + } + }, + "consoleOAuth2ProviderList": { + "description": "Console OAuth2 Providers List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of OAuth2 providers exposed by the server.", + "x-example": 5, + "format": "int32" }, - "functionsStorageBreakdown": { + "oAuth2Providers": { "type": "array", - "description": "Aggregated breakdown in totals of functions storage size (in bytes).", + "description": "List of OAuth2 providers, each with the parameters required to configure it.", "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" + "$ref": "#\/components\/schemas\/consoleOAuth2Provider" }, - "x-example": [] + "x-example": "" + } + }, + "required": [ + "total", + "oAuth2Providers" + ], + "example": { + "total": 5, + "oAuth2Providers": "" + } + }, + "consoleKeyScope": { + "description": "Console Key Scope", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Scope ID.", + "x-example": "users.read" }, - "authPhoneTotal": { - "type": "integer", - "description": "Aggregated stats for total auth phone.", - "x-example": 0, - "format": "int32" + "description": { + "type": "string", + "description": "Scope description.", + "x-example": "Access to read your project's users" }, - "authPhoneEstimate": { + "category": { + "type": "string", + "description": "Scope category.", + "x-example": "Auth" + }, + "deprecated": { + "type": "boolean", + "description": "Scope is deprecated.", + "x-example": true + } + }, + "required": [ + "$id", + "description", + "category", + "deprecated" + ], + "example": { + "$id": "users.read", + "description": "Access to read your project's users", + "category": "Auth", + "deprecated": true + } + }, + "consoleKeyScopeList": { + "description": "Console Key Scopes List", + "type": "object", + "properties": { + "total": { "type": "integer", - "description": "Aggregated stats for total auth phone estimation.", - "x-example": 0, + "description": "Total number of key scopes exposed by the server.", + "x-example": 5, "format": "int32" }, - "authPhoneCountryBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of phone auth by country.", - "items": { - "$ref": "#\/components\/schemas\/metricBreakdown" - }, - "x-example": [] - }, - "databasesReads": { - "type": "array", - "description": "Aggregated stats for database reads.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "databasesWrites": { - "type": "array", - "description": "Aggregated stats for database writes.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "documentsdbDatabasesReads": { + "scopes": { "type": "array", - "description": "An array of aggregated number of documentsdb database reads.", + "description": "List of key scopes, each with its ID and description.", "items": { - "$ref": "#\/components\/schemas\/metric" + "$ref": "#\/components\/schemas\/consoleKeyScope" }, - "x-example": [] + "x-example": "" + } + }, + "required": [ + "total", + "scopes" + ], + "example": { + "total": 5, + "scopes": "" + } + }, + "mfaChallenge": { + "description": "MFA Challenge", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Token ID.", + "x-example": "bb8ea5c16897e" }, - "documentsdbDatabasesWrites": { - "type": "array", - "description": "An array of aggregated number of documentsdb database writes.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Token creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "documentsdbDatabasesStorage": { - "type": "array", - "description": "An array of aggregated sum of documentsdb databases storage size (in bytes) per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "5e5ea5c168bb8" }, - "imageTransformations": { + "expire": { + "type": "string", + "description": "Token expiration date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "$createdAt", + "userId", + "expire" + ], + "example": { + "$id": "bb8ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "userId": "5e5ea5c168bb8", + "expire": "2020-10-15T06:38:00.000+00:00" + } + }, + "mfaRecoveryCodes": { + "description": "MFA Recovery Codes", + "type": "object", + "properties": { + "recoveryCodes": { "type": "array", - "description": "An array of aggregated number of image transformations.", + "description": "Recovery codes.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] - }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Total aggregated number of image transformations.", - "x-example": 0, - "format": "int32" - }, - "vectorsdbDatabasesTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB databases.", - "x-example": 0, - "format": "int32" - }, - "vectorsdbCollectionsTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB collections.", - "x-example": 0, - "format": "int32" + "x-example": [ + "a3kf0-s0cl2", + "s0co1-as98s" + ] + } + }, + "required": [ + "recoveryCodes" + ], + "example": { + "recoveryCodes": [ + "a3kf0-s0cl2", + "s0co1-as98s" + ] + } + }, + "mfaType": { + "description": "MFAType", + "type": "object", + "properties": { + "secret": { + "type": "string", + "description": "Secret token used for TOTP factor.", + "x-example": "[SHARED_SECRET]" }, - "vectorsdbDocumentsTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB documents.", - "x-example": 0, - "format": "int32" + "uri": { + "type": "string", + "description": "URI for authenticator apps.", + "x-example": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" + } + }, + "required": [ + "secret", + "uri" + ], + "example": { + "secret": "[SHARED_SECRET]", + "uri": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" + } + }, + "mfaFactors": { + "description": "MFAFactors", + "type": "object", + "properties": { + "totp": { + "type": "boolean", + "description": "Can TOTP be used for MFA challenge for this account.", + "x-example": true }, - "vectorsdbDatabasesStorageTotal": { - "type": "integer", - "description": "Total aggregated VectorsDB storage (bytes).", - "x-example": 0, - "format": "int32" + "phone": { + "type": "boolean", + "description": "Can phone (SMS) be used for MFA challenge for this account.", + "x-example": true }, - "vectorsdbDatabasesReadsTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB reads.", - "x-example": 0, - "format": "int32" + "email": { + "type": "boolean", + "description": "Can email be used for MFA challenge for this account.", + "x-example": true }, - "vectorsdbDatabasesWritesTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB writes.", - "x-example": 0, - "format": "int32" + "recoveryCode": { + "type": "boolean", + "description": "Can recovery code be used for MFA challenge for this account.", + "x-example": true + } + }, + "required": [ + "totp", + "phone", + "email", + "recoveryCode" + ], + "example": { + "totp": true, + "phone": true, + "email": true, + "recoveryCode": true + } + }, + "provider": { + "description": "Provider", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Provider ID.", + "x-example": "5e5ea5c16897e" }, - "vectorsdbDatabases": { - "type": "array", - "description": "Aggregated VectorsDB databases per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Provider creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "vectorsdbCollections": { - "type": "array", - "description": "Aggregated VectorsDB collections per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Provider update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "vectorsdbDocuments": { - "type": "array", - "description": "Aggregated VectorsDB documents per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "name": { + "type": "string", + "description": "The name for the provider instance.", + "x-example": "Mailgun" }, - "vectorsdbDatabasesStorage": { - "type": "array", - "description": "Aggregated VectorsDB storage per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "provider": { + "type": "string", + "description": "The name of the provider service.", + "x-example": "mailgun" }, - "vectorsdbDatabasesReads": { - "type": "array", - "description": "Aggregated VectorsDB reads per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "enabled": { + "type": "boolean", + "description": "Is provider enabled?", + "x-example": true }, - "vectorsdbDatabasesWrites": { - "type": "array", - "description": "Aggregated VectorsDB writes per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "type": { + "type": "string", + "description": "Type of provider.", + "x-example": "sms" }, - "embeddingsText": { + "credentials": { "type": "object", - "description": "Aggregated number of text embedding calls per period.", - "x-example": [], - "items": { - "$ref": "#\/components\/schemas\/metric" + "description": "Provider credentials.", + "x-example": { + "key": "123456789" } }, - "embeddingsTextTokens": { + "options": { "type": "object", - "description": "Aggregated number of tokens processed by text embeddings per period.", - "x-example": [], - "items": { - "$ref": "#\/components\/schemas\/metric" - } + "description": "Provider options.", + "x-example": { + "from": "sender-email@mydomain" + }, + "nullable": true + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "provider", + "enabled", + "type", + "credentials" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "Mailgun", + "provider": "mailgun", + "enabled": true, + "type": "sms", + "credentials": { + "key": "123456789" }, - "embeddingsTextDuration": { - "type": "object", - "description": "Aggregated duration spent generating text embeddings per period.", - "x-example": [], - "items": { - "$ref": "#\/components\/schemas\/metric" - } + "options": { + "from": "sender-email@mydomain" + } + } + }, + "message": { + "description": "Message", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Message ID.", + "x-example": "5e5ea5c16897e" }, - "embeddingsTextErrors": { - "type": "object", - "description": "Aggregated number of errors while generating text embeddings per period.", - "x-example": [], - "items": { - "$ref": "#\/components\/schemas\/metric" - } + "$createdAt": { + "type": "string", + "description": "Message creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "embeddingsTextTotal": { - "type": "object", - "description": "Total aggregated number of text embedding calls.", - "x-example": 0, - "items": { - "$ref": "#\/components\/schemas\/metric" - } + "$updatedAt": { + "type": "string", + "description": "Message update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "embeddingsTextTokensTotal": { - "type": "object", - "description": "Total aggregated number of tokens processed by text.", - "x-example": 0, - "items": { - "$ref": "#\/components\/schemas\/metric" - } + "providerType": { + "type": "string", + "description": "Message provider type.", + "x-example": "email" }, - "embeddingsTextDurationTotal": { - "type": "object", - "description": "Total aggregated duration spent generating text embeddings.", - "x-example": 0, + "topics": { + "type": "array", + "description": "Topic IDs set as recipients.", "items": { - "$ref": "#\/components\/schemas\/metric" - } + "type": "string" + }, + "x-example": [ + "5e5ea5c16897e" + ] }, - "embeddingsTextErrorsTotal": { - "type": "object", - "description": "Total aggregated number of errors while generating text embeddings.", - "x-example": 0, + "users": { + "type": "array", + "description": "User IDs set as recipients.", "items": { - "$ref": "#\/components\/schemas\/metric" - } + "type": "string" + }, + "x-example": [ + "5e5ea5c16897e" + ] }, - "functionsExecutions": { + "targets": { "type": "array", - "description": "Aggregated number of function executions per period.", + "description": "Target IDs set as recipients.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "5e5ea5c16897e" + ] }, - "functionsExecutionsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, - "format": "int32" + "scheduledAt": { + "type": "string", + "description": "The scheduled time for message.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true }, - "sitesExecutions": { + "deliveredAt": { + "type": "string", + "description": "The time when the message was delivered.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "deliveryErrors": { "type": "array", - "description": "Aggregated number of site executions per period.", + "description": "Delivery errors if any.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "Failed to send message to target 5e5ea5c16897e: Credentials not valid." + ], + "nullable": true }, - "sitesExecutionsTotal": { + "deliveredTotal": { "type": "integer", - "description": "Total aggregated number of site executions.", - "x-example": 0, + "description": "Number of recipients the message was delivered to.", + "x-example": 1, "format": "int32" }, - "networkTotal": { - "type": "integer", - "description": "Aggregated stats for total network bandwidth.", - "x-example": 0, - "format": "int32" + "data": { + "type": "object", + "description": "Data of the message.", + "x-example": { + "subject": "Welcome to Appwrite", + "content": "Hi there, welcome to Appwrite family." + } }, - "backupsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total backups storage.", - "x-example": 0, - "format": "int32" + "status": { + "type": "string", + "description": "Status of delivery.", + "x-example": "processing", + "enum": [ + "draft", + "processing", + "scheduled", + "sent", + "failed" + ] + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "providerType", + "topics", + "users", + "targets", + "deliveredTotal", + "data", + "status" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "topics": [ + "5e5ea5c16897e" + ], + "users": [ + "5e5ea5c16897e" + ], + "targets": [ + "5e5ea5c16897e" + ], + "scheduledAt": "2020-10-15T06:38:00.000+00:00", + "deliveredAt": "2020-10-15T06:38:00.000+00:00", + "deliveryErrors": [ + "Failed to send message to target 5e5ea5c16897e: Credentials not valid." + ], + "deliveredTotal": 1, + "data": { + "subject": "Welcome to Appwrite", + "content": "Hi there, welcome to Appwrite family." }, - "screenshotsGenerated": { - "type": "array", - "description": "An array of aggregated number of screenshots generated.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "status": "processing" + } + }, + "topic": { + "description": "Topic", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Topic ID.", + "x-example": "259125845563242502" }, - "screenshotsGeneratedTotal": { - "type": "integer", - "description": "Total aggregated number of screenshots generated.", - "x-example": 0, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Topic creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "imagineCredits": { - "type": "array", - "description": "An array of aggregated number of Imagine credits in the given period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Topic update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "imagineCreditsTotal": { - "type": "integer", - "description": "Total aggregated number of Imagine credits.", - "x-example": 0, - "format": "int32" + "name": { + "type": "string", + "description": "The name of the topic.", + "x-example": "events" }, - "realtimeConnectionsTotal": { + "emailTotal": { "type": "integer", - "description": "Current aggregated number of open Realtime connections.", - "x-example": 0, + "description": "Total count of email subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "realtimeMessagesTotal": { + "smsTotal": { "type": "integer", - "description": "Total number of Realtime messages sent to clients.", - "x-example": 0, + "description": "Total count of SMS subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "realtimeBandwidthTotal": { + "pushTotal": { "type": "integer", - "description": "Total consumed Realtime bandwidth (in bytes).", - "x-example": 0, + "description": "Total count of push subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "realtimeConnections": { - "type": "array", - "description": "Aggregated number of open Realtime connections per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "realtimeMessages": { - "type": "array", - "description": "Aggregated number of Realtime messages sent to clients per period.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] - }, - "realtimeBandwidth": { + "subscribe": { "type": "array", - "description": "Aggregated consumed Realtime bandwidth (in bytes) per period.", + "description": "Subscribe permissions.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": "users" } }, "required": [ - "executionsTotal", - "documentsTotal", - "documentsdbDocumentsTotal", - "rowsTotal", - "databasesTotal", - "documentsdbTotal", - "databasesStorageTotal", - "documentsdbDatabasesStorageTotal", - "usersTotal", - "filesStorageTotal", - "functionsStorageTotal", - "buildsStorageTotal", - "deploymentsStorageTotal", - "bucketsTotal", - "executionsMbSecondsTotal", - "buildsMbSecondsTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "documentsdbDatabasesReadsTotal", - "documentsdbDatabasesWritesTotal", - "requests", - "network", - "users", - "executions", - "executionsBreakdown", - "bucketsBreakdown", - "databasesStorageBreakdown", - "executionsMbSecondsBreakdown", - "buildsMbSecondsBreakdown", - "functionsStorageBreakdown", - "authPhoneTotal", - "authPhoneEstimate", - "authPhoneCountryBreakdown", - "databasesReads", - "databasesWrites", - "documentsdbDatabasesReads", - "documentsdbDatabasesWrites", - "documentsdbDatabasesStorage", - "imageTransformations", - "imageTransformationsTotal", - "vectorsdbDatabasesTotal", - "vectorsdbCollectionsTotal", - "vectorsdbDocumentsTotal", - "vectorsdbDatabasesStorageTotal", - "vectorsdbDatabasesReadsTotal", - "vectorsdbDatabasesWritesTotal", - "vectorsdbDatabases", - "vectorsdbCollections", - "vectorsdbDocuments", - "vectorsdbDatabasesStorage", - "vectorsdbDatabasesReads", - "vectorsdbDatabasesWrites", - "embeddingsText", - "embeddingsTextTokens", - "embeddingsTextDuration", - "embeddingsTextErrors", - "embeddingsTextTotal", - "embeddingsTextTokensTotal", - "embeddingsTextDurationTotal", - "embeddingsTextErrorsTotal", - "functionsExecutions", - "functionsExecutionsTotal", - "sitesExecutions", - "sitesExecutionsTotal", - "networkTotal", - "backupsStorageTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "imagineCreditsTotal", - "realtimeConnectionsTotal", - "realtimeMessagesTotal", - "realtimeBandwidthTotal", - "realtimeConnections", - "realtimeMessages", - "realtimeBandwidth" + "$id", + "$createdAt", + "$updatedAt", + "name", + "emailTotal", + "smsTotal", + "pushTotal", + "subscribe" ], "example": { - "executionsTotal": 0, - "documentsTotal": 0, - "documentsdbDocumentsTotal": 0, - "rowsTotal": 0, - "databasesTotal": 0, - "documentsdbTotal": 0, - "databasesStorageTotal": 0, - "documentsdbDatabasesStorageTotal": 0, - "usersTotal": 0, - "filesStorageTotal": 0, - "functionsStorageTotal": 0, - "buildsStorageTotal": 0, - "deploymentsStorageTotal": 0, - "bucketsTotal": 0, - "executionsMbSecondsTotal": 0, - "buildsMbSecondsTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "documentsdbDatabasesReadsTotal": 0, - "documentsdbDatabasesWritesTotal": 0, - "requests": [], - "network": [], - "users": [], - "executions": [], - "executionsBreakdown": [], - "bucketsBreakdown": [], - "databasesStorageBreakdown": [], - "executionsMbSecondsBreakdown": [], - "buildsMbSecondsBreakdown": [], - "functionsStorageBreakdown": [], - "authPhoneTotal": 0, - "authPhoneEstimate": 0, - "authPhoneCountryBreakdown": [], - "databasesReads": [], - "databasesWrites": [], - "documentsdbDatabasesReads": [], - "documentsdbDatabasesWrites": [], - "documentsdbDatabasesStorage": [], - "imageTransformations": [], - "imageTransformationsTotal": 0, - "vectorsdbDatabasesTotal": 0, - "vectorsdbCollectionsTotal": 0, - "vectorsdbDocumentsTotal": 0, - "vectorsdbDatabasesStorageTotal": 0, - "vectorsdbDatabasesReadsTotal": 0, - "vectorsdbDatabasesWritesTotal": 0, - "vectorsdbDatabases": [], - "vectorsdbCollections": [], - "vectorsdbDocuments": [], - "vectorsdbDatabasesStorage": [], - "vectorsdbDatabasesReads": [], - "vectorsdbDatabasesWrites": [], - "embeddingsText": [], - "embeddingsTextTokens": [], - "embeddingsTextDuration": [], - "embeddingsTextErrors": [], - "embeddingsTextTotal": 0, - "embeddingsTextTokensTotal": 0, - "embeddingsTextDurationTotal": 0, - "embeddingsTextErrorsTotal": 0, - "functionsExecutions": [], - "functionsExecutionsTotal": 0, - "sitesExecutions": [], - "sitesExecutionsTotal": 0, - "networkTotal": 0, - "backupsStorageTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": [], - "imagineCreditsTotal": 0, - "realtimeConnectionsTotal": 0, - "realtimeMessagesTotal": 0, - "realtimeBandwidthTotal": 0, - "realtimeConnections": [], - "realtimeMessages": [], - "realtimeBandwidth": [] + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "events", + "emailTotal": 100, + "smsTotal": 100, + "pushTotal": 100, + "subscribe": "users" } }, - "headers": { - "description": "Headers", + "transaction": { + "description": "Transaction", "type": "object", "properties": { - "name": { + "$id": { "type": "string", - "description": "Header name.", - "x-example": "Content-Type" + "description": "Transaction ID.", + "x-example": "259125845563242502" }, - "value": { + "$createdAt": { "type": "string", - "description": "Header value.", - "x-example": "application\/json" - } - }, - "required": [ - "name", - "value" - ], - "example": { - "name": "Content-Type", - "value": "application\/json" - } - }, - "specification": { - "description": "Specification", - "type": "object", - "properties": { - "memory": { - "type": "integer", - "description": "Memory size in MB.", - "x-example": 512, - "format": "int32" + "description": "Transaction creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "cpus": { - "type": "number", - "description": "Number of CPUs.", - "x-example": 1, - "format": "double" + "$updatedAt": { + "type": "string", + "description": "Transaction update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "enabled": { - "type": "boolean", - "description": "Is size enabled.", - "x-example": true + "status": { + "type": "string", + "description": "Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.", + "x-example": "pending" }, - "slug": { + "operations": { + "type": "integer", + "description": "Number of operations in the transaction.", + "x-example": 5, + "format": "int32" + }, + "expiresAt": { "type": "string", - "description": "Size slug.", - "x-example": "s-1vcpu-512mb" + "description": "Expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" } }, "required": [ - "memory", - "cpus", - "enabled", - "slug" + "$id", + "$createdAt", + "$updatedAt", + "status", + "operations", + "expiresAt" ], "example": { - "memory": 512, - "cpus": 1, - "enabled": true, - "slug": "s-1vcpu-512mb" + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "status": "pending", + "operations": 5, + "expiresAt": "2020-10-15T06:38:00.000+00:00" } }, - "proxyRule": { - "description": "Rule", + "subscriber": { + "description": "Subscriber", "type": "object", "properties": { "$id": { "type": "string", - "description": "Rule ID.", - "x-example": "5e5ea5c16897e" + "description": "Subscriber ID.", + "x-example": "259125845563242502" }, "$createdAt": { "type": "string", - "description": "Rule creation date in ISO 8601 format.", + "description": "Subscriber creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Rule update date in ISO 8601 format.", + "description": "Subscriber update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "domain": { + "targetId": { "type": "string", - "description": "Domain name.", - "x-example": "appwrite.company.com" + "description": "Target ID.", + "x-example": "259125845563242502" }, - "type": { + "target": { + "type": "object", + "description": "Target.", + "x-example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "providerId": "259125845563242502", + "name": "ageon-app-email", + "identifier": "random-mail@email.org", + "userId": "5e5ea5c16897e" + }, + "items": { + "$ref": "#\/components\/schemas\/target" + } + }, + "userId": { "type": "string", - "description": "Action definition for the rule. Possible values are \"api\", \"deployment\", or \"redirect\"", - "x-example": "deployment" + "description": "Topic ID.", + "x-example": "5e5ea5c16897e" }, - "trigger": { + "userName": { "type": "string", - "description": "Defines how the rule was created. Possible values are \"manual\" or \"deployment\"", - "x-example": "manual" + "description": "User Name.", + "x-example": "Aegon Targaryen" }, - "redirectUrl": { + "topicId": { "type": "string", - "description": "URL to redirect to. Used if type is \"redirect\"", - "x-example": "https:\/\/appwrite.io\/docs" + "description": "Topic ID.", + "x-example": "259125845563242502" }, - "redirectStatusCode": { - "type": "integer", - "description": "Status code to apply during redirect. Used if type is \"redirect\"", - "x-example": 301, - "format": "int32" + "providerType": { + "type": "string", + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "targetId", + "target", + "userId", + "userName", + "topicId", + "providerType" + ], + "example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "targetId": "259125845563242502", + "target": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "providerId": "259125845563242502", + "name": "ageon-app-email", + "identifier": "random-mail@email.org", + "userId": "5e5ea5c16897e" }, - "deploymentId": { + "userId": "5e5ea5c16897e", + "userName": "Aegon Targaryen", + "topicId": "259125845563242502", + "providerType": "email" + } + }, + "target": { + "description": "Target", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "ID of deployment. Used if type is \"deployment\"", - "x-example": "n3u9feiwmf" + "description": "Target ID.", + "x-example": "259125845563242502" }, - "deploymentResourceType": { + "$createdAt": { "type": "string", - "description": "Type of deployment. Possible values are \"function\", \"site\". Used if rule's type is \"deployment\".", - "x-example": "function", - "enum": [ - "function", - "site" - ], - "nullable": true + "description": "Target creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deploymentResourceId": { + "$updatedAt": { "type": "string", - "description": "ID of deployment's resource (site or function ID). Used if type is \"deployment\"", - "x-example": "n3u9feiwmf" + "description": "Target update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deploymentVcsProviderBranch": { + "name": { "type": "string", - "description": "Name of Git branch that updates rule. Used if type is \"deployment\"", - "x-example": "main" + "description": "Target Name.", + "x-example": "Apple iPhone 12" }, - "status": { + "userId": { "type": "string", - "description": "Domain verification status. Possible values are \"unverified\", \"verifying\", \"verified\"", - "x-example": "verified", - "enum": [ - "unverified", - "verifying", - "verified" - ] + "description": "User ID.", + "x-example": "259125845563242502" }, - "logs": { + "providerId": { "type": "string", - "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", - "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." + "description": "Provider ID.", + "x-example": "259125845563242502", + "nullable": true }, - "renewAt": { + "providerType": { "type": "string", - "description": "Certificate auto-renewal date in ISO 8601 format.", - "x-example": "datetime" + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email" + }, + "identifier": { + "type": "string", + "description": "The target identifier.", + "x-example": "token" + }, + "expired": { + "type": "boolean", + "description": "Is the target expired.", + "x-example": false } }, "required": [ "$id", "$createdAt", "$updatedAt", - "domain", - "type", - "trigger", - "redirectUrl", - "redirectStatusCode", - "deploymentId", - "deploymentResourceId", - "deploymentVcsProviderBranch", - "status", - "logs", - "renewAt" + "name", + "userId", + "providerType", + "identifier", + "expired" ], "example": { - "$id": "5e5ea5c16897e", + "$id": "259125845563242502", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domain": "appwrite.company.com", - "type": "deployment", - "trigger": "manual", - "redirectUrl": "https:\/\/appwrite.io\/docs", - "redirectStatusCode": 301, - "deploymentId": "n3u9feiwmf", - "deploymentResourceType": "function", - "deploymentResourceId": "n3u9feiwmf", - "deploymentVcsProviderBranch": "main", - "status": "verified", - "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", - "renewAt": "datetime" + "name": "Apple iPhone 12", + "userId": "259125845563242502", + "providerId": "259125845563242502", + "providerType": "email", + "identifier": "token", + "expired": false } }, - "schedule": { - "description": "Schedule", + "migration": { + "description": "Migration", "type": "object", "properties": { "$id": { "type": "string", - "description": "Schedule ID.", + "description": "Migration ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Schedule creation date in ISO 8601 format.", + "description": "Migration creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Schedule update date in ISO 8601 format.", + "description": "Variable creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "resourceType": { + "status": { "type": "string", - "description": "The resource type associated with this schedule.", - "x-example": "function" + "description": "Migration status ( pending, processing, failed, completed ) ", + "x-example": "pending" }, - "resourceId": { + "stage": { "type": "string", - "description": "The resource ID associated with this schedule.", - "x-example": "5e5ea5c16897e" + "description": "Migration stage ( init, processing, source-check, destination-check, migrating, finished )", + "x-example": "init" }, - "resourceUpdatedAt": { + "source": { "type": "string", - "description": "Change-tracking timestamp used by the scheduler to detect resource changes in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "A string containing the type of source of the migration.", + "x-example": "Appwrite" }, - "projectId": { + "destination": { "type": "string", - "description": "The project ID associated with this schedule.", - "x-example": "5e5ea5c16897e" + "description": "A string containing the type of destination of the migration.", + "x-example": "Appwrite" }, - "schedule": { + "resources": { + "type": "array", + "description": "Resources to migrate.", + "items": { + "type": "string" + }, + "x-example": [ + "user" + ] + }, + "resourceId": { "type": "string", - "description": "The CRON schedule expression.", - "x-example": "5 4 * * *" + "description": "Id of the resource to migrate.", + "x-example": "databaseId:collectionId" }, - "data": { + "statusCounters": { "type": "object", - "description": "Schedule data used to store resource-specific context needed for execution.", - "x-example": [] + "description": "A group of counters that represent the total progress of the migration.", + "x-example": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}" }, - "active": { - "type": "boolean", - "description": "Whether the schedule is active.", - "x-example": true + "resourceData": { + "type": "object", + "description": "An array of objects containing the report data of the resources that were migrated.", + "x-example": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]" }, - "region": { - "type": "string", - "description": "The region where the schedule is deployed.", - "x-example": "fra" + "errors": { + "type": "array", + "description": "All errors that occurred during the migration process.", + "items": { + "type": "string" + }, + "x-example": [] + }, + "options": { + "type": "object", + "description": "Migration options used during the migration process.", + "x-example": "{\"bucketId\": \"exports\", \"notify\": false}" } }, "required": [ "$id", "$createdAt", "$updatedAt", - "resourceType", + "status", + "stage", + "source", + "destination", + "resources", "resourceId", - "resourceUpdatedAt", - "projectId", - "schedule", - "data", - "active", - "region" + "statusCounters", + "resourceData", + "errors", + "options" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "resourceType": "function", - "resourceId": "5e5ea5c16897e", - "resourceUpdatedAt": "2020-10-15T06:38:00.000+00:00", - "projectId": "5e5ea5c16897e", - "schedule": "5 4 * * *", - "data": [], - "active": true, - "region": "fra" + "status": "pending", + "stage": "init", + "source": "Appwrite", + "destination": "Appwrite", + "resources": [ + "user" + ], + "resourceId": "databaseId:collectionId", + "statusCounters": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}", + "resourceData": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]", + "errors": [], + "options": "{\"bucketId\": \"exports\", \"notify\": false}" } }, - "emailTemplate": { - "description": "EmailTemplate", + "migrationReport": { + "description": "Migration Report", "type": "object", "properties": { - "templateId": { - "type": "string", - "description": "Template type", - "x-example": "verification" + "user": { + "type": "integer", + "description": "Number of users to be migrated.", + "x-example": 20, + "format": "int32" }, - "locale": { - "type": "string", - "description": "Template locale", - "x-example": "en_us" + "team": { + "type": "integer", + "description": "Number of teams to be migrated.", + "x-example": 20, + "format": "int32" }, - "message": { - "type": "string", - "description": "Template message", - "x-example": "Click on the link to verify your account." + "database": { + "type": "integer", + "description": "Number of databases to be migrated.", + "x-example": 20, + "format": "int32" }, - "senderName": { - "type": "string", - "description": "Name of the sender", - "x-example": "My User" + "row": { + "type": "integer", + "description": "Number of rows to be migrated.", + "x-example": 20, + "format": "int32" }, - "senderEmail": { - "type": "string", - "description": "Email of the sender", - "x-example": "mail@appwrite.io" + "file": { + "type": "integer", + "description": "Number of files to be migrated.", + "x-example": 20, + "format": "int32" }, - "replyToEmail": { - "type": "string", - "description": "Reply to email address", - "x-example": "emails@appwrite.io" + "bucket": { + "type": "integer", + "description": "Number of buckets to be migrated.", + "x-example": 20, + "format": "int32" }, - "replyToName": { - "type": "string", - "description": "Reply to name", - "x-example": "Support Team" + "function": { + "type": "integer", + "description": "Number of functions to be migrated.", + "x-example": 20, + "format": "int32" }, - "subject": { + "platform": { + "type": "integer", + "description": "Number of platforms to be migrated.", + "x-example": 5, + "format": "int32" + }, + "site": { + "type": "integer", + "description": "Number of sites to be migrated.", + "x-example": 5, + "format": "int32" + }, + "provider": { + "type": "integer", + "description": "Number of providers to be migrated.", + "x-example": 5, + "format": "int32" + }, + "topic": { + "type": "integer", + "description": "Number of topics to be migrated.", + "x-example": 10, + "format": "int32" + }, + "subscriber": { + "type": "integer", + "description": "Number of subscribers to be migrated.", + "x-example": 100, + "format": "int32" + }, + "message": { + "type": "integer", + "description": "Number of messages to be migrated.", + "x-example": 50, + "format": "int32" + }, + "size": { + "type": "integer", + "description": "Size of files to be migrated in mb.", + "x-example": 30000, + "format": "int32" + }, + "version": { "type": "string", - "description": "Email subject", - "x-example": "Please verify your email address" + "description": "Version of the Appwrite instance to be migrated.", + "x-example": "1.4.0" + }, + "backup-policy": { + "type": "integer", + "description": "Number of backup policies to be migrated.", + "x-example": 5, + "format": "int32" } }, "required": [ - "templateId", - "locale", + "user", + "team", + "database", + "row", + "file", + "bucket", + "function", + "platform", + "site", + "provider", + "topic", + "subscriber", "message", - "senderName", - "senderEmail", - "replyToEmail", - "replyToName", - "subject" + "size", + "version", + "backup-policy" ], "example": { - "templateId": "verification", - "locale": "en_us", - "message": "Click on the link to verify your account.", - "senderName": "My User", - "senderEmail": "mail@appwrite.io", - "replyToEmail": "emails@appwrite.io", - "replyToName": "Support Team", - "subject": "Please verify your email address" + "user": 20, + "team": 20, + "database": 20, + "row": 20, + "file": 20, + "bucket": 20, + "function": 20, + "platform": 5, + "site": 5, + "provider": 5, + "topic": 10, + "subscriber": 100, + "message": 50, + "size": 30000, + "version": "1.4.0", + "backup-policy": 5 } }, - "consoleVariables": { - "description": "Console Variables", + "insight": { + "description": "Insight", "type": "object", "properties": { - "_APP_DOMAIN_TARGET_CNAME": { + "$id": { "type": "string", - "description": "CNAME target for your Appwrite custom domains.", - "x-example": "appwrite.io" + "description": "Insight ID.", + "x-example": "5e5ea5c16897e" }, - "_APP_DOMAIN_TARGET_A": { + "$createdAt": { "type": "string", - "description": "A target for your Appwrite custom domains.", - "x-example": "127.0.0.1" - }, - "_APP_COMPUTE_BUILD_TIMEOUT": { - "type": "integer", - "description": "Maximum build timeout in seconds.", - "x-example": 900, - "format": "int32" + "description": "Insight creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "_APP_DOMAIN_TARGET_AAAA": { + "$updatedAt": { "type": "string", - "description": "AAAA target for your Appwrite custom domains.", - "x-example": "::1" + "description": "Insight update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "_APP_DOMAIN_TARGET_CAA": { + "reportId": { "type": "string", - "description": "CAA target for your Appwrite custom domains.", - "x-example": "digicert.com" - }, - "_APP_STORAGE_LIMIT": { - "type": "integer", - "description": "Maximum file size allowed for file upload in bytes.", - "x-example": "30000000", - "format": "int32" - }, - "_APP_COMPUTE_SIZE_LIMIT": { - "type": "integer", - "description": "Maximum file size allowed for deployment in bytes.", - "x-example": "30000000", - "format": "int32" + "description": "Parent report ID. Insights always belong to a report.", + "x-example": "5e5ea5c16897e" }, - "_APP_USAGE_STATS": { + "type": { "type": "string", - "description": "Defines if usage stats are enabled. This value is set to 'enabled' by default, to disable the usage stats set the value to 'disabled'.", - "x-example": "enabled" - }, - "_APP_VCS_ENABLED": { - "type": "boolean", - "description": "Defines if VCS (Version Control System) is enabled.", - "x-example": true - }, - "_APP_DOMAIN_ENABLED": { - "type": "boolean", - "description": "Defines if main domain is configured. If so, custom domains can be created.", - "x-example": true - }, - "_APP_ASSISTANT_ENABLED": { - "type": "boolean", - "description": "Defines if AI assistant is enabled.", - "x-example": true + "description": "Insight type. One of databaseIndex (legacy), tablesDBIndex, documentsDBIndex, vectorsDBIndex, databasePerformance, sitePerformance, siteAccessibility, siteSeo, functionPerformance. The index types are engine-specific so each CTA can pair the right service+method (databases.createIndex, tablesDB.createIndex, documentsDB.createIndex, or vectorsDB.createIndex).", + "x-example": "tablesDBIndex" }, - "_APP_DOMAIN_SITES": { + "severity": { "type": "string", - "description": "A comma separated list of domains to use for site URLs.", - "x-example": "sites.localhost,sites.example.com" + "description": "Insight severity. One of info, warning, critical.", + "x-example": "warning" }, - "_APP_DOMAIN_FUNCTIONS": { + "status": { "type": "string", - "description": "A domain to use for function URLs.", - "x-example": "functions.localhost" + "description": "Insight status. One of active, dismissed.", + "x-example": "active" }, - "_APP_OPTIONS_FORCE_HTTPS": { + "resourceType": { "type": "string", - "description": "Defines if HTTPS is enforced for all requests.", - "x-example": "enabled" + "description": "Type of the resource the insight is about. Plural noun, e.g. databases, sites, functions.", + "x-example": "databases" }, - "_APP_DOMAINS_NAMESERVERS": { + "resourceId": { "type": "string", - "description": "Comma-separated list of nameservers.", - "x-example": "ns1.example.com,ns2.example.com" + "description": "ID of the resource the insight is about.", + "x-example": "main" }, - "_APP_DB_ADAPTER": { + "parentResourceType": { "type": "string", - "description": "Database adapter in use.", - "x-example": "mysql" - }, - "supportForRelationships": { - "type": "boolean", - "description": "Whether the database adapter supports relationships.", - "x-example": true - }, - "supportForOperators": { - "type": "boolean", - "description": "Whether the database adapter supports operators.", - "x-example": true - }, - "supportForSpatials": { - "type": "boolean", - "description": "Whether the database adapter supports spatial attributes.", - "x-example": true - }, - "supportForSpatialIndexNull": { - "type": "boolean", - "description": "Whether the database adapter supports spatial indexes on nullable columns.", - "x-example": false - }, - "supportForFulltextWildcard": { - "type": "boolean", - "description": "Whether the database adapter supports fulltext wildcard search.", - "x-example": true - }, - "supportForMultipleFulltextIndexes": { - "type": "boolean", - "description": "Whether the database adapter supports multiple fulltext indexes per collection.", - "x-example": true - }, - "supportForAttributeResizing": { - "type": "boolean", - "description": "Whether the database adapter supports resizing attributes.", - "x-example": true - }, - "supportForSchemas": { - "type": "boolean", - "description": "Whether the database adapter supports fixed schemas with row width limits.", - "x-example": true + "description": "Plural noun for the parent resource that contains the insight's resource, e.g. an insight about a column index on a table \u2192 resourceType=indexes, parentResourceType=tables. Empty when the resource has no parent.", + "x-example": "tables" }, - "maxIndexLength": { - "type": "integer", - "description": "Maximum index length supported by the database adapter.", - "x-example": 768, - "format": "int32" - }, - "supportForIntegerIds": { - "type": "boolean", - "description": "Whether the database adapter uses integer sequence IDs.", - "x-example": true - }, - "_APP_CONSOLE_EMAIL_VERIFICATION": { + "parentResourceId": { "type": "string", - "description": "Whether email verification for console users is required. Can be \"true\" or \"false\".", - "x-example": "true" - } - }, - "required": [ - "_APP_DOMAIN_TARGET_CNAME", - "_APP_DOMAIN_TARGET_A", - "_APP_COMPUTE_BUILD_TIMEOUT", - "_APP_DOMAIN_TARGET_AAAA", - "_APP_DOMAIN_TARGET_CAA", - "_APP_STORAGE_LIMIT", - "_APP_COMPUTE_SIZE_LIMIT", - "_APP_USAGE_STATS", - "_APP_VCS_ENABLED", - "_APP_DOMAIN_ENABLED", - "_APP_ASSISTANT_ENABLED", - "_APP_DOMAIN_SITES", - "_APP_DOMAIN_FUNCTIONS", - "_APP_OPTIONS_FORCE_HTTPS", - "_APP_DOMAINS_NAMESERVERS", - "_APP_DB_ADAPTER", - "supportForRelationships", - "supportForOperators", - "supportForSpatials", - "supportForSpatialIndexNull", - "supportForFulltextWildcard", - "supportForMultipleFulltextIndexes", - "supportForAttributeResizing", - "supportForSchemas", - "maxIndexLength", - "supportForIntegerIds", - "_APP_CONSOLE_EMAIL_VERIFICATION" - ], - "example": { - "_APP_DOMAIN_TARGET_CNAME": "appwrite.io", - "_APP_DOMAIN_TARGET_A": "127.0.0.1", - "_APP_COMPUTE_BUILD_TIMEOUT": 900, - "_APP_DOMAIN_TARGET_AAAA": "::1", - "_APP_DOMAIN_TARGET_CAA": "digicert.com", - "_APP_STORAGE_LIMIT": "30000000", - "_APP_COMPUTE_SIZE_LIMIT": "30000000", - "_APP_USAGE_STATS": "enabled", - "_APP_VCS_ENABLED": true, - "_APP_DOMAIN_ENABLED": true, - "_APP_ASSISTANT_ENABLED": true, - "_APP_DOMAIN_SITES": "sites.localhost,sites.example.com", - "_APP_DOMAIN_FUNCTIONS": "functions.localhost", - "_APP_OPTIONS_FORCE_HTTPS": "enabled", - "_APP_DOMAINS_NAMESERVERS": "ns1.example.com,ns2.example.com", - "_APP_DB_ADAPTER": "mysql", - "supportForRelationships": true, - "supportForOperators": true, - "supportForSpatials": true, - "supportForSpatialIndexNull": false, - "supportForFulltextWildcard": true, - "supportForMultipleFulltextIndexes": true, - "supportForAttributeResizing": true, - "supportForSchemas": true, - "maxIndexLength": 768, - "supportForIntegerIds": true, - "_APP_CONSOLE_EMAIL_VERIFICATION": "true" - } - }, - "consoleOAuth2ProviderParameter": { - "description": "Console OAuth2 Provider Parameter", - "type": "object", - "properties": { - "$id": { + "description": "ID of the parent resource. Empty when the resource has no parent.", + "x-example": "orders" + }, + "title": { "type": "string", - "description": "Parameter ID. Maps to the request body field used by the project OAuth2 update endpoint (e.g. `clientId`, `appKey`, `tenant`).", - "x-example": "clientId" + "description": "Insight title.", + "x-example": "Missing index on collection orders" }, - "name": { + "summary": { "type": "string", - "description": "Verbose, user-facing parameter name as shown in the provider's own dashboard. Includes alternate names when the provider exposes more than one.", - "x-example": "Client ID or App ID" + "description": "Short markdown summary describing the insight.", + "x-example": "Queries against `orders.status` are scanning the full collection." }, - "example": { + "ctas": { + "type": "array", + "description": "List of call-to-action buttons attached to this insight.", + "items": { + "$ref": "#\/components\/schemas\/insightCTA" + }, + "x-example": [] + }, + "analyzedAt": { "type": "string", - "description": "Example value for this parameter.", - "x-example": "e4d87900000000540733" + "description": "Time the insight was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true }, - "hint": { + "dismissedAt": { "type": "string", - "description": "Optional hint for this parameter, typically calling out a common wrong value. Empty string when no hint is set.", - "x-example": "Example of wrong value: 370006" + "description": "Time the insight was dismissed in ISO 8601 format. Empty when not dismissed.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "dismissedBy": { + "type": "string", + "description": "User ID that dismissed the insight. Empty when not dismissed.", + "x-example": "5e5ea5c16897e", + "nullable": true } }, "required": [ "$id", - "name", - "example", - "hint" + "$createdAt", + "$updatedAt", + "reportId", + "type", + "severity", + "status", + "resourceType", + "resourceId", + "parentResourceType", + "parentResourceId", + "title", + "summary", + "ctas" ], "example": { - "$id": "clientId", - "name": "Client ID or App ID", - "example": "e4d87900000000540733", - "hint": "Example of wrong value: 370006" - } - }, - "consoleOAuth2Provider": { - "description": "Console OAuth2 Provider", + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "reportId": "5e5ea5c16897e", + "type": "tablesDBIndex", + "severity": "warning", + "status": "active", + "resourceType": "databases", + "resourceId": "main", + "parentResourceType": "tables", + "parentResourceId": "orders", + "title": "Missing index on collection orders", + "summary": "Queries against `orders.status` are scanning the full collection.", + "ctas": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedBy": "5e5ea5c16897e" + } + }, + "insightCTA": { + "description": "InsightCTA", "type": "object", "properties": { - "$id": { + "label": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Human-readable label for the CTA, used in UI.", + "x-example": "Create missing index" }, - "parameters": { - "type": "array", - "description": "List of parameters required to configure this OAuth2 provider.", - "items": { - "$ref": "#\/components\/schemas\/consoleOAuth2ProviderParameter" - }, - "x-example": "" + "service": { + "type": "string", + "description": "Public API service (SDK namespace) the client should invoke. Must match the engine that owns the resource \u2014 for index suggestions: databases (legacy), tablesDB, documentsDB, or vectorsDB.", + "x-example": "tablesDB" + }, + "method": { + "type": "string", + "description": "Public API method on the chosen service the client should invoke when this CTA is triggered.", + "x-example": "createIndex" + }, + "params": { + "type": "object", + "description": "Parameter map the client should pass to the service method when this CTA is triggered. Keys match the target API's parameter names (e.g. databaseId\/tableId\/columns for tablesDB, databaseId\/collectionId\/attributes for the legacy Databases API).", + "x-example": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } } }, "required": [ - "$id", - "parameters" + "label", + "service", + "method", + "params" ], "example": { - "$id": "github", - "parameters": "" + "label": "Create missing index", + "service": "tablesDB", + "method": "createIndex", + "params": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } } }, - "consoleOAuth2ProviderList": { - "description": "Console OAuth2 Providers List", + "report": { + "description": "Report", "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Total number of OAuth2 providers exposed by the server.", - "x-example": 5, - "format": "int32" + "$id": { + "type": "string", + "description": "Report ID.", + "x-example": "5e5ea5c16897e" }, - "oAuth2Providers": { + "$createdAt": { + "type": "string", + "description": "Report creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Report update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "appId": { + "type": "string", + "description": "ID of the third-party app that submitted the report.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Analyzer that produced this report. e.g. lighthouse, audit, databaseAnalyzer.", + "x-example": "lighthouse" + }, + "title": { + "type": "string", + "description": "Short, human-readable title for the report.", + "x-example": "Lighthouse audit for https:\/\/appwrite.io\/" + }, + "summary": { + "type": "string", + "description": "Markdown summary describing the report.", + "x-example": "Performance score 78. 4 opportunities found." + }, + "targetType": { + "type": "string", + "description": "Plural noun describing what the report analyzes, e.g. databases, sites, urls.", + "x-example": "urls" + }, + "target": { + "type": "string", + "description": "Free-form target identifier (URL for lighthouse, resource ID for db).", + "x-example": "https:\/\/appwrite.io\/" + }, + "categories": { "type": "array", - "description": "List of OAuth2 providers, each with the parameters required to configure it.", + "description": "Categories covered by the report, e.g. performance, accessibility.", "items": { - "$ref": "#\/components\/schemas\/consoleOAuth2Provider" + "type": "string" }, - "x-example": "" + "x-example": [ + "performance", + "accessibility" + ] + }, + "insights": { + "type": "array", + "description": "Insights nested under this report.", + "items": { + "$ref": "#\/components\/schemas\/insight" + }, + "x-example": [] + }, + "analyzedAt": { + "type": "string", + "description": "Time the report was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true } }, "required": [ - "total", - "oAuth2Providers" + "$id", + "$createdAt", + "$updatedAt", + "appId", + "type", + "title", + "summary", + "targetType", + "target", + "categories", + "insights" ], "example": { - "total": 5, - "oAuth2Providers": "" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "appId": "5e5ea5c16897e", + "type": "lighthouse", + "title": "Lighthouse audit for https:\/\/appwrite.io\/", + "summary": "Performance score 78. 4 opportunities found.", + "targetType": "urls", + "target": "https:\/\/appwrite.io\/", + "categories": [ + "performance", + "accessibility" + ], + "insights": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00" } }, - "consoleKeyScope": { - "description": "Console Key Scope", + "activityEvent": { + "description": "ActivityEvent", "type": "object", "properties": { "$id": { "type": "string", - "description": "Scope ID.", - "x-example": "users.read" + "description": "Event ID.", + "x-example": "5e5ea5c16897e" }, - "description": { + "userType": { "type": "string", - "description": "Scope description.", - "x-example": "Access to read your project's users" + "description": "User type.", + "x-example": "user" }, - "category": { + "userId": { "type": "string", - "description": "Scope category.", - "x-example": "Auth" + "description": "User ID.", + "x-example": "610fc2f985ee0" }, - "deprecated": { - "type": "boolean", - "description": "Scope is deprecated.", - "x-example": true + "userEmail": { + "type": "string", + "description": "User Email.", + "x-example": "john@appwrite.io" + }, + "userName": { + "type": "string", + "description": "User Name.", + "x-example": "John Doe" + }, + "resourceParent": { + "type": "string", + "description": "Resource parent.", + "x-example": "database\/ID" + }, + "resourceType": { + "type": "string", + "description": "Resource type.", + "x-example": "collection" + }, + "resourceId": { + "type": "string", + "description": "Resource ID.", + "x-example": "610fc2f985ee0" + }, + "resource": { + "type": "string", + "description": "Resource.", + "x-example": "collections\/610fc2f985ee0" + }, + "event": { + "type": "string", + "description": "Event name.", + "x-example": "account.sessions.create" + }, + "userAgent": { + "type": "string", + "description": "User agent.", + "x-example": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36" + }, + "ip": { + "type": "string", + "description": "IP address.", + "x-example": "127.0.0.1" + }, + "mode": { + "type": "string", + "description": "API mode when event triggered.", + "x-example": "admin" + }, + "country": { + "type": "string", + "description": "Location.", + "x-example": "US" + }, + "time": { + "type": "string", + "description": "Log creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "projectId": { + "type": "string", + "description": "Project ID.", + "x-example": "610fc2f985ee0" + }, + "teamId": { + "type": "string", + "description": "Team ID.", + "x-example": "610fc2f985ee0" + }, + "hostname": { + "type": "string", + "description": "Hostname.", + "x-example": "appwrite.io" + }, + "osCode": { + "type": "string", + "description": "Operating system code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/os.json).", + "x-example": "Mac" + }, + "osName": { + "type": "string", + "description": "Operating system name.", + "x-example": "Mac" + }, + "osVersion": { + "type": "string", + "description": "Operating system version.", + "x-example": "Mac" + }, + "clientType": { + "type": "string", + "description": "Client type.", + "x-example": "browser" + }, + "clientCode": { + "type": "string", + "description": "Client code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/clients.json).", + "x-example": "CM" + }, + "clientName": { + "type": "string", + "description": "Client name.", + "x-example": "Chrome Mobile iOS" + }, + "clientVersion": { + "type": "string", + "description": "Client version.", + "x-example": "84.0" + }, + "clientEngine": { + "type": "string", + "description": "Client engine name.", + "x-example": "WebKit" + }, + "clientEngineVersion": { + "type": "string", + "description": "Client engine name.", + "x-example": "605.1.15" + }, + "deviceName": { + "type": "string", + "description": "Device name.", + "x-example": "smartphone" + }, + "deviceBrand": { + "type": "string", + "description": "Device brand name.", + "x-example": "Google" + }, + "deviceModel": { + "type": "string", + "description": "Device model name.", + "x-example": "Nexus 5" + }, + "countryCode": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" + }, + "countryName": { + "type": "string", + "description": "Country name.", + "x-example": "United States" } }, "required": [ "$id", - "description", - "category", - "deprecated" + "userType", + "userId", + "userEmail", + "userName", + "resourceParent", + "resourceType", + "resourceId", + "resource", + "event", + "userAgent", + "ip", + "mode", + "country", + "time", + "projectId", + "teamId", + "hostname", + "osCode", + "osName", + "osVersion", + "clientType", + "clientCode", + "clientName", + "clientVersion", + "clientEngine", + "clientEngineVersion", + "deviceName", + "deviceBrand", + "deviceModel", + "countryCode", + "countryName" ], "example": { - "$id": "users.read", - "description": "Access to read your project's users", - "category": "Auth", - "deprecated": true + "$id": "5e5ea5c16897e", + "userType": "user", + "userId": "610fc2f985ee0", + "userEmail": "john@appwrite.io", + "userName": "John Doe", + "resourceParent": "database\/ID", + "resourceType": "collection", + "resourceId": "610fc2f985ee0", + "resource": "collections\/610fc2f985ee0", + "event": "account.sessions.create", + "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36", + "ip": "127.0.0.1", + "mode": "admin", + "country": "US", + "time": "2020-10-15T06:38:00.000+00:00", + "projectId": "610fc2f985ee0", + "teamId": "610fc2f985ee0", + "hostname": "appwrite.io", + "osCode": "Mac", + "osName": "Mac", + "osVersion": "Mac", + "clientType": "browser", + "clientCode": "CM", + "clientName": "Chrome Mobile iOS", + "clientVersion": "84.0", + "clientEngine": "WebKit", + "clientEngineVersion": "605.1.15", + "deviceName": "smartphone", + "deviceBrand": "Google", + "deviceModel": "Nexus 5", + "countryCode": "US", + "countryName": "United States" } }, - "consoleKeyScopeList": { - "description": "Console Key Scopes List", + "additionalResource": { + "description": "AdditionalResource", "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Total number of key scopes exposed by the server.", + "name": { + "type": "string", + "description": "Resource name", + "x-example": "" + }, + "unit": { + "type": "string", + "description": "Resource unit", + "x-example": "GB" + }, + "currency": { + "type": "string", + "description": "Price currency", + "x-example": "USD" + }, + "price": { + "type": "number", + "description": "Price", "x-example": 5, + "format": "double" + }, + "value": { + "type": "integer", + "description": "Resource value", + "x-example": 25, "format": "int32" }, - "scopes": { - "type": "array", - "description": "List of key scopes, each with its ID and description.", - "items": { - "$ref": "#\/components\/schemas\/consoleKeyScope" - }, + "invoiceDesc": { + "type": "string", + "description": "Description on invoice", "x-example": "" } }, "required": [ - "total", - "scopes" + "name", + "unit", + "currency", + "price", + "value", + "invoiceDesc" ], "example": { - "total": 5, - "scopes": "" + "name": "", + "unit": "GB", + "currency": "USD", + "price": 5, + "value": 25, + "invoiceDesc": "" } }, - "mfaChallenge": { - "description": "MFA Challenge", + "addon": { + "description": "Addon", "type": "object", "properties": { "$id": { "type": "string", - "description": "Token ID.", - "x-example": "bb8ea5c16897e" + "description": "Addon ID.", + "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Token creation date in ISO 8601 format.", + "description": "Addon creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "5e5ea5c168bb8" - }, - "expire": { + "$updatedAt": { "type": "string", - "description": "Token expiration date in ISO 8601 format.", + "description": "Addon update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "$id", - "$createdAt", - "userId", - "expire" - ], - "example": { - "$id": "bb8ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "userId": "5e5ea5c168bb8", - "expire": "2020-10-15T06:38:00.000+00:00" - } - }, - "mfaRecoveryCodes": { - "description": "MFA Recovery Codes", - "type": "object", - "properties": { - "recoveryCodes": { + }, + "$permissions": { "type": "array", - "description": "Recovery codes.", + "description": "Addon permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "items": { "type": "string" }, "x-example": [ - "a3kf0-s0cl2", - "s0co1-as98s" + "read(\"any\")" ] + }, + "key": { + "type": "string", + "description": "Addon key", + "x-example": "baa" + }, + "resourceType": { + "type": "string", + "description": "Resource type (organization or project)", + "x-example": "organization" + }, + "resourceId": { + "type": "string", + "description": "Resource ID", + "x-example": "5e5ea5c16897e" + }, + "status": { + "type": "string", + "description": "Payment status. Possible values: pending (awaiting payment confirmation e.g. 3DS), active (payment confirmed and addon is running).", + "x-example": "active" + }, + "currentValue": { + "type": "integer", + "description": "Current value for this billing cycle. For toggle addons: 1 (on) or 0 (off). For numeric addons: the active quantity.", + "x-example": 1, + "format": "int32" + }, + "nextValue": { + "type": "integer", + "description": "Value to apply at the start of the next billing cycle. Null means no change is scheduled. For toggle addons, 0 means the addon will be removed at the next cycle.", + "x-example": null, + "format": "int32", + "nullable": true } }, "required": [ - "recoveryCodes" + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "key", + "resourceType", + "resourceId", + "status", + "currentValue" ], "example": { - "recoveryCodes": [ - "a3kf0-s0cl2", - "s0co1-as98s" - ] + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "key": "baa", + "resourceType": "organization", + "resourceId": "5e5ea5c16897e", + "status": "active", + "currentValue": 1, + "nextValue": null } }, - "mfaType": { - "description": "MFAType", + "addonPrice": { + "description": "AddonPrice", "type": "object", "properties": { - "secret": { + "addonKey": { "type": "string", - "description": "Secret token used for TOTP factor.", - "x-example": "[SHARED_SECRET]" + "description": "Addon key.", + "x-example": "baa" }, - "uri": { + "name": { "type": "string", - "description": "URI for authenticator apps.", - "x-example": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" - } - }, - "required": [ - "secret", - "uri" - ], - "example": { - "secret": "[SHARED_SECRET]", - "uri": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" - } - }, - "mfaFactors": { - "description": "MFAFactors", - "type": "object", - "properties": { - "totp": { - "type": "boolean", - "description": "Can TOTP be used for MFA challenge for this account.", - "x-example": true + "description": "Addon display name.", + "x-example": "HIPAA BAA" }, - "phone": { - "type": "boolean", - "description": "Can phone (SMS) be used for MFA challenge for this account.", - "x-example": true + "monthlyPrice": { + "type": "number", + "description": "Full monthly price of the addon.", + "x-example": 350, + "format": "double" }, - "email": { - "type": "boolean", - "description": "Can email be used for MFA challenge for this account.", - "x-example": true + "proratedAmount": { + "type": "number", + "description": "Calculated prorated amount for the current billing cycle.", + "x-example": 175.5, + "format": "double" }, - "recoveryCode": { - "type": "boolean", - "description": "Can recovery code be used for MFA challenge for this account.", - "x-example": true + "remainingDays": { + "type": "integer", + "description": "Days remaining in the current billing cycle.", + "x-example": 15, + "format": "int32" + }, + "totalCycleDays": { + "type": "integer", + "description": "Total days in the billing cycle.", + "x-example": 30, + "format": "int32" + }, + "currency": { + "type": "string", + "description": "Currency code.", + "x-example": "USD" + }, + "billingCycleEnd": { + "type": "string", + "description": "When the current billing cycle ends.", + "x-example": "2024-02-01T00:00:00.000+00:00" } }, "required": [ - "totp", - "phone", - "email", - "recoveryCode" + "addonKey", + "name", + "monthlyPrice", + "proratedAmount", + "remainingDays", + "totalCycleDays", + "currency", + "billingCycleEnd" ], "example": { - "totp": true, - "phone": true, - "email": true, - "recoveryCode": true + "addonKey": "baa", + "name": "HIPAA BAA", + "monthlyPrice": 350, + "proratedAmount": 175.5, + "remainingDays": 15, + "totalCycleDays": 30, + "currency": "USD", + "billingCycleEnd": "2024-02-01T00:00:00.000+00:00" } }, - "provider": { - "description": "Provider", + "aggregationBreakdown": { + "description": "Breakdown", "type": "object", "properties": { "$id": { "type": "string", - "description": "Provider ID.", + "description": "Aggregation ID.", "x-example": "5e5ea5c16897e" }, - "$createdAt": { - "type": "string", - "description": "Provider creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Provider update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, "name": { "type": "string", - "description": "The name for the provider instance.", - "x-example": "Mailgun" - }, - "provider": { - "type": "string", - "description": "The name of the provider service.", - "x-example": "mailgun" - }, - "enabled": { - "type": "boolean", - "description": "Is provider enabled?", - "x-example": true + "description": "Project name", + "x-example": "" }, - "type": { + "region": { "type": "string", - "description": "Type of provider.", - "x-example": "sms" + "description": "Project region", + "x-example": "fra" }, - "credentials": { - "type": "object", - "description": "Provider credentials.", - "x-example": { - "key": "123456789" - } + "amount": { + "type": "integer", + "description": "Aggregated amount", + "x-example": 2, + "format": "int32" }, - "options": { - "type": "object", - "description": "Provider options.", - "x-example": { - "from": "sender-email@mydomain" + "resources": { + "type": "array", + "description": "", + "items": { + "$ref": "#\/components\/schemas\/usageResources" }, - "nullable": true + "x-example": "" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", "name", - "provider", - "enabled", - "type", - "credentials" + "region", + "amount", + "resources" ], "example": { "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "Mailgun", - "provider": "mailgun", - "enabled": true, - "type": "sms", - "credentials": { - "key": "123456789" - }, - "options": { - "from": "sender-email@mydomain" - } + "name": "", + "region": "fra", + "amount": 2, + "resources": "" } }, - "message": { - "description": "Message", + "aggregationTeam": { + "description": "Team", "type": "object", "properties": { "$id": { "type": "string", - "description": "Message ID.", + "description": "Aggregation ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Message creation time in ISO 8601 format.", + "description": "Aggregation creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Message update date in ISO 8601 format.", + "description": "Aggregation update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "providerType": { - "type": "string", - "description": "Message provider type.", - "x-example": "email" - }, - "topics": { - "type": "array", - "description": "Topic IDs set as recipients.", - "items": { - "type": "string" - }, - "x-example": [ - "5e5ea5c16897e" - ] - }, - "users": { - "type": "array", - "description": "User IDs set as recipients.", - "items": { - "type": "string" - }, - "x-example": [ - "5e5ea5c16897e" - ] - }, - "targets": { + "$permissions": { "type": "array", - "description": "Target IDs set as recipients.", + "description": "Aggregation permissions. [Learn more about permissions](\/docs\/permissions).", "items": { "type": "string" }, "x-example": [ - "5e5ea5c16897e" + "read(\"any\")" ] }, - "scheduledAt": { + "from": { "type": "string", - "description": "The scheduled time for message.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "nullable": true + "description": "Beginning date of the invoice", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deliveredAt": { + "to": { "type": "string", - "description": "The time when the message was delivered.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "nullable": true + "description": "End date of the invoice", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deliveryErrors": { - "type": "array", - "description": "Delivery errors if any.", - "items": { - "type": "string" - }, - "x-example": [ - "Failed to send message to target 5e5ea5c16897e: Credentials not valid." - ], - "nullable": true + "usageStorage": { + "type": "integer", + "description": "Total storage usage", + "x-example": 20009090, + "format": "int32" }, - "deliveredTotal": { + "usageTotalStorage": { "type": "integer", - "description": "Number of recipients the message was delivered to.", - "x-example": 1, + "description": "Total storage usage with builds storage", + "x-example": 20009090, "format": "int32" }, - "data": { - "type": "object", - "description": "Data of the message.", - "x-example": { - "subject": "Welcome to Appwrite", - "content": "Hi there, welcome to Appwrite family." - } + "usageFilesStorage": { + "type": "integer", + "description": "Total files storage usage", + "x-example": 20009090, + "format": "int32" }, - "status": { + "usageDeploymentsStorage": { + "type": "integer", + "description": "Total deployments storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageBuildsStorage": { + "type": "integer", + "description": "Total builds storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageDatabasesStorage": { + "type": "integer", + "description": "Total databases storage usage", + "x-example": 2009090, + "format": "int32" + }, + "usageUsers": { + "type": "integer", + "description": "Total active users for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageExecutions": { + "type": "integer", + "description": "Total number of executions for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageBandwidth": { + "type": "integer", + "description": "Total bandwidth usage for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageRealtime": { + "type": "integer", + "description": "Peak concurrent realtime connections for the billing period", + "x-example": 200, + "format": "int32" + }, + "usageRealtimeMessages": { + "type": "integer", + "description": "Total realtime messages sent for the billing period", + "x-example": 10000, + "format": "int32" + }, + "usageRealtimeBandwidth": { + "type": "integer", + "description": "Total realtime bandwidth usage for the billing period", + "x-example": 5000000, + "format": "int32" + }, + "additionalMembers": { + "type": "integer", + "description": "Additional members", + "x-example": 5, + "format": "int32" + }, + "additionalMemberAmount": { + "type": "integer", + "description": "Additional members cost", + "x-example": 30, + "format": "int32" + }, + "additionalStorageAmount": { + "type": "integer", + "description": "Additional storage usage cost", + "x-example": 40, + "format": "int32" + }, + "additionalUsersAmount": { + "type": "integer", + "description": "Additional users usage cost.", + "x-example": 4, + "format": "int32" + }, + "additionalExecutionsAmount": { + "type": "integer", + "description": "Additional executions usage cost", + "x-example": 30, + "format": "int32" + }, + "additionalBandwidthAmount": { + "type": "integer", + "description": "Additional bandwidth usage cost", + "x-example": 40, + "format": "int32" + }, + "additionalRealtimeAmount": { + "type": "integer", + "description": "Additional realtime usage cost", + "x-example": 20, + "format": "int32" + }, + "plan": { "type": "string", - "description": "Status of delivery.", - "x-example": "processing", - "enum": [ - "draft", - "processing", - "scheduled", - "sent", - "failed" - ] + "description": "Billing plan", + "x-example": "tier-0" + }, + "amount": { + "type": "integer", + "description": "Aggregated amount", + "x-example": 2, + "format": "int32" + }, + "breakdown": { + "type": "array", + "description": "Aggregation project breakdown", + "items": { + "$ref": "#\/components\/schemas\/aggregationBreakdown" + }, + "x-example": [] + }, + "resources": { + "type": "array", + "description": "Usage resources", + "items": { + "$ref": "#\/components\/schemas\/usageResources" + }, + "x-example": [] } }, "required": [ "$id", "$createdAt", "$updatedAt", - "providerType", - "topics", - "users", - "targets", - "deliveredTotal", - "data", - "status" + "$permissions", + "from", + "to", + "usageStorage", + "usageTotalStorage", + "usageFilesStorage", + "usageDeploymentsStorage", + "usageBuildsStorage", + "usageDatabasesStorage", + "usageUsers", + "usageExecutions", + "usageBandwidth", + "usageRealtime", + "usageRealtimeMessages", + "usageRealtimeBandwidth", + "additionalMembers", + "additionalMemberAmount", + "additionalStorageAmount", + "additionalUsersAmount", + "additionalExecutionsAmount", + "additionalBandwidthAmount", + "additionalRealtimeAmount", + "plan", + "amount", + "breakdown", + "resources" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "topics": [ - "5e5ea5c16897e" - ], - "users": [ - "5e5ea5c16897e" - ], - "targets": [ - "5e5ea5c16897e" - ], - "scheduledAt": "2020-10-15T06:38:00.000+00:00", - "deliveredAt": "2020-10-15T06:38:00.000+00:00", - "deliveryErrors": [ - "Failed to send message to target 5e5ea5c16897e: Credentials not valid." + "$permissions": [ + "read(\"any\")" ], - "deliveredTotal": 1, - "data": { - "subject": "Welcome to Appwrite", - "content": "Hi there, welcome to Appwrite family." - }, - "status": "processing" + "from": "2020-10-15T06:38:00.000+00:00", + "to": "2020-10-15T06:38:00.000+00:00", + "usageStorage": 20009090, + "usageTotalStorage": 20009090, + "usageFilesStorage": 20009090, + "usageDeploymentsStorage": 20009090, + "usageBuildsStorage": 20009090, + "usageDatabasesStorage": 2009090, + "usageUsers": 2000, + "usageExecutions": 2000, + "usageBandwidth": 2000, + "usageRealtime": 200, + "usageRealtimeMessages": 10000, + "usageRealtimeBandwidth": 5000000, + "additionalMembers": 5, + "additionalMemberAmount": 30, + "additionalStorageAmount": 40, + "additionalUsersAmount": 4, + "additionalExecutionsAmount": 30, + "additionalBandwidthAmount": 40, + "additionalRealtimeAmount": 20, + "plan": "tier-0", + "amount": 2, + "breakdown": [], + "resources": [] } }, - "topic": { - "description": "Topic", + "backupArchive": { + "description": "Archive", "type": "object", "properties": { "$id": { "type": "string", - "description": "Topic ID.", - "x-example": "259125845563242502" + "description": "Archive ID.", + "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Topic creation time in ISO 8601 format.", + "description": "Archive creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Topic update date in ISO 8601 format.", + "description": "Archive update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "name": { + "policyId": { "type": "string", - "description": "The name of the topic.", - "x-example": "events" + "description": "Archive policy ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "emailTotal": { + "size": { "type": "integer", - "description": "Total count of email subscribers subscribed to the topic.", - "x-example": 100, + "description": "Archive size in bytes.", + "x-example": 100000, "format": "int32" }, - "smsTotal": { - "type": "integer", - "description": "Total count of SMS subscribers subscribed to the topic.", - "x-example": 100, - "format": "int32" + "status": { + "type": "string", + "description": "The status of the archive creation. Possible values: pending, processing, uploading, completed, failed, skipped.", + "x-example": "completed" }, - "pushTotal": { - "type": "integer", - "description": "Total count of push subscribers subscribed to the topic.", - "x-example": 100, - "format": "int32" + "startedAt": { + "type": "string", + "description": "The backup start time.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "subscribe": { + "migrationId": { + "type": "string", + "description": "Migration ID.", + "x-example": "did8jx6ws45jana098ab7" + }, + "services": { "type": "array", - "description": "Subscribe permissions.", + "description": "The services that are backed up by this archive.", "items": { "type": "string" }, - "x-example": "users" + "x-example": "['databases', 'storage']" + }, + "resources": { + "type": "array", + "description": "The resources that are backed up by this archive.", + "items": { + "type": "string" + }, + "x-example": "['databases', 'collections', 'attributes', 'indexes']" + }, + "resourceId": { + "type": "string", + "description": "The resource ID to backup. Set only if this archive should backup a single resource.", + "x-example": "DB1", + "nullable": true + }, + "resourceType": { + "type": "string", + "description": "The resource type to backup. Set only if this archive should backup a single resource.", + "x-example": "database", + "nullable": true } }, "required": [ "$id", "$createdAt", "$updatedAt", - "name", - "emailTotal", - "smsTotal", - "pushTotal", - "subscribe" + "policyId", + "size", + "status", + "startedAt", + "migrationId", + "services", + "resources" ], "example": { - "$id": "259125845563242502", + "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "events", - "emailTotal": 100, - "smsTotal": 100, - "pushTotal": 100, - "subscribe": "users" + "policyId": "did8jx6ws45jana098ab7", + "size": 100000, + "status": "completed", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "migrationId": "did8jx6ws45jana098ab7", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "resourceId": "DB1", + "resourceType": "database" } }, - "transaction": { - "description": "Transaction", + "dedicatedDatabaseAuditLog": { + "description": "AuditLog", "type": "object", "properties": { - "$id": { + "timestamp": { "type": "string", - "description": "Transaction ID.", - "x-example": "259125845563242502" + "description": "When the event occurred.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$createdAt": { + "user": { "type": "string", - "description": "Transaction creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database user that performed the action.", + "x-example": "appwrite" }, - "$updatedAt": { + "database": { "type": "string", - "description": "Transaction update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database name.", + "x-example": "appwrite" }, - "status": { + "action": { "type": "string", - "description": "Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.", - "x-example": "pending" + "description": "The action performed (e.g., CREATE TABLE, DROP INDEX).", + "x-example": "CREATE TABLE" }, - "operations": { - "type": "integer", - "description": "Number of operations in the transaction.", - "x-example": 5, - "format": "int32" + "object": { + "type": "string", + "description": "The database object affected.", + "x-example": "public.users" }, - "expiresAt": { + "statement": { "type": "string", - "description": "Expiration time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "The full SQL statement.", + "x-example": "CREATE TABLE users (id serial PRIMARY KEY)" + }, + "clientAddress": { + "type": "string", + "description": "Client IP address.", + "x-example": "192.168.1.100" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "status", - "operations", - "expiresAt" + "timestamp", + "user", + "database", + "action", + "object", + "statement", + "clientAddress" ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "status": "pending", - "operations": 5, - "expiresAt": "2020-10-15T06:38:00.000+00:00" + "timestamp": "2020-10-15T06:38:00.000+00:00", + "user": "appwrite", + "database": "appwrite", + "action": "CREATE TABLE", + "object": "public.users", + "statement": "CREATE TABLE users (id serial PRIMARY KEY)", + "clientAddress": "192.168.1.100" } }, - "subscriber": { - "description": "Subscriber", + "dedicatedDatabaseBackup": { + "description": "Backup", "type": "object", "properties": { "$id": { "type": "string", - "description": "Subscriber ID.", - "x-example": "259125845563242502" + "description": "Backup ID.", + "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Subscriber creation time in ISO 8601 format.", + "description": "Backup creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$updatedAt": { + "databaseId": { "type": "string", - "description": "Subscriber update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database ID this backup belongs to.", + "x-example": "5e5ea5c16897e" }, - "targetId": { + "projectId": { "type": "string", - "description": "Target ID.", - "x-example": "259125845563242502" + "description": "Project ID.", + "x-example": "5e5ea5c16897e" }, - "target": { - "type": "object", - "description": "Target.", - "x-example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "providerId": "259125845563242502", - "name": "ageon-app-email", - "identifier": "random-mail@email.org", - "userId": "5e5ea5c16897e" - }, - "items": { - "$ref": "#\/components\/schemas\/target" - } + "type": { + "type": "string", + "description": "Backup type. Possible values: full (complete database snapshot), incremental (changes since last backup), wal (write-ahead log continuous archival).", + "x-example": "full" }, - "userId": { + "status": { "type": "string", - "description": "Topic ID.", - "x-example": "5e5ea5c16897e" + "description": "Backup status. Possible values: pending (queued for processing), running (currently in progress), completed (successfully finished), failed (encountered an error), verified (integrity check passed).", + "x-example": "completed" }, - "userName": { + "sizeBytes": { + "type": "integer", + "description": "Backup size in bytes.", + "x-example": 1073741824, + "format": "int32" + }, + "startedAt": { "type": "string", - "description": "User Name.", - "x-example": "Aegon Targaryen" + "description": "Backup start time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "topicId": { + "completedAt": { "type": "string", - "description": "Topic ID.", - "x-example": "259125845563242502" + "description": "Backup completion time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "providerType": { + "verifiedAt": { "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "x-example": "email" + "description": "Backup verification time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "expiresAt": { + "type": "string", + "description": "Backup expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "error": { + "type": "string", + "description": "Error message if backup failed.", + "x-example": "" } }, "required": [ "$id", "$createdAt", - "$updatedAt", - "targetId", - "target", - "userId", - "userName", - "topicId", - "providerType" + "databaseId", + "projectId", + "type", + "status", + "sizeBytes", + "startedAt", + "completedAt", + "verifiedAt", + "expiresAt", + "error" ], "example": { - "$id": "259125845563242502", + "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "targetId": "259125845563242502", - "target": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "providerId": "259125845563242502", - "name": "ageon-app-email", - "identifier": "random-mail@email.org", - "userId": "5e5ea5c16897e" + "databaseId": "5e5ea5c16897e", + "projectId": "5e5ea5c16897e", + "type": "full", + "status": "completed", + "sizeBytes": 1073741824, + "startedAt": "2020-10-15T06:38:00.000+00:00", + "completedAt": "2020-10-15T06:38:00.000+00:00", + "verifiedAt": "2020-10-15T06:38:00.000+00:00", + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "error": "" + } + }, + "dedicatedDatabaseBackupList": { + "description": "BackupList", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of backups.", + "x-example": 5, + "format": "int32" }, - "userId": "5e5ea5c16897e", - "userName": "Aegon Targaryen", - "topicId": "259125845563242502", - "providerType": "email" + "backups": { + "type": "array", + "description": "List of backups.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseBackup" + }, + "x-example": [] + } + }, + "required": [ + "total", + "backups" + ], + "example": { + "total": 5, + "backups": [] } }, - "target": { - "description": "Target", + "dedicatedDatabaseBackupStorage": { + "description": "BackupStorageConfig", "type": "object", "properties": { - "$id": { + "provider": { "type": "string", - "description": "Target ID.", - "x-example": "259125845563242502" + "description": "Storage provider. Possible values: s3 (Amazon S3 or S3-compatible), gcs (Google Cloud Storage), azure (Azure Blob Storage).", + "x-example": "s3" }, - "$createdAt": { + "bucket": { "type": "string", - "description": "Target creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Storage bucket or container name.", + "x-example": "my-backup-bucket" }, - "$updatedAt": { + "region": { "type": "string", - "description": "Target update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Storage region.", + "x-example": "us-east-1" }, - "name": { + "prefix": { "type": "string", - "description": "Target Name.", - "x-example": "Apple iPhone 12" + "description": "Object key prefix for backups.", + "x-example": "backups\/" + }, + "endpoint": { + "type": "string", + "description": "Custom endpoint for S3-compatible storage.", + "x-example": "https:\/\/minio.example.com" + } + }, + "required": [ + "provider", + "bucket", + "region", + "prefix", + "endpoint" + ], + "example": { + "provider": "s3", + "bucket": "my-backup-bucket", + "region": "us-east-1", + "prefix": "backups\/", + "endpoint": "https:\/\/minio.example.com" + } + }, + "billingAddress": { + "description": "Address", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Region ID", + "x-example": "eu-fr" }, "userId": { "type": "string", - "description": "User ID.", - "x-example": "259125845563242502" + "description": "User ID", + "x-example": "5e5ea5c16897e" }, - "providerId": { + "streetAddress": { "type": "string", - "description": "Provider ID.", - "x-example": "259125845563242502", - "nullable": true + "description": "Street address", + "x-example": "13th Avenue" }, - "providerType": { + "addressLine2": { "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "x-example": "email" + "description": "Address line 2", + "x-example": "" }, - "identifier": { + "country": { "type": "string", - "description": "The target identifier.", - "x-example": "token" + "description": "Address country", + "x-example": "USA" }, - "expired": { - "type": "boolean", - "description": "Is the target expired.", - "x-example": false + "city": { + "type": "string", + "description": "city", + "x-example": "" + }, + "state": { + "type": "string", + "description": "state", + "x-example": "" + }, + "postalCode": { + "type": "string", + "description": "postal code", + "x-example": "" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", "userId", - "providerType", - "identifier", - "expired" + "streetAddress", + "addressLine2", + "country", + "city", + "state", + "postalCode" ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "Apple iPhone 12", - "userId": "259125845563242502", - "providerId": "259125845563242502", - "providerType": "email", - "identifier": "token", - "expired": false + "$id": "eu-fr", + "userId": "5e5ea5c16897e", + "streetAddress": "13th Avenue", + "addressLine2": "", + "country": "USA", + "city": "", + "state": "", + "postalCode": "" } }, - "migration": { - "description": "Migration", + "billingLimits": { + "description": "Limits", + "type": "object", + "properties": { + "bandwidth": { + "type": "integer", + "description": "Bandwidth limit", + "x-example": 5, + "format": "int32", + "nullable": true + }, + "storage": { + "type": "integer", + "description": "Storage limit", + "x-example": 150, + "format": "int32", + "nullable": true + }, + "users": { + "type": "integer", + "description": "Users limit", + "x-example": 200000, + "format": "int32", + "nullable": true + }, + "executions": { + "type": "integer", + "description": "Executions limit", + "x-example": 750000, + "format": "int32", + "nullable": true + }, + "GBHours": { + "type": "integer", + "description": "GBHours limit", + "x-example": 100, + "format": "int32", + "nullable": true + }, + "imageTransformations": { + "type": "integer", + "description": "Image transformations limit", + "x-example": 100, + "format": "int32", + "nullable": true + }, + "authPhone": { + "type": "integer", + "description": "Auth phone limit", + "x-example": 10, + "format": "int32", + "nullable": true + }, + "budgetLimit": { + "type": "integer", + "description": "Budget limit percentage", + "x-example": 100, + "format": "int32", + "nullable": true + } + }, + "example": { + "bandwidth": 5, + "storage": 150, + "users": 200000, + "executions": 750000, + "GBHours": 100, + "imageTransformations": 100, + "authPhone": 10, + "budgetLimit": 100 + } + }, + "billingPlan": { + "description": "billingPlan", "type": "object", "properties": { "$id": { "type": "string", - "description": "Migration ID.", - "x-example": "5e5ea5c16897e" + "description": "Plan ID.", + "x-example": "tier-0" }, - "$createdAt": { + "name": { "type": "string", - "description": "Migration creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Plan name", + "x-example": "Hobby" }, - "$updatedAt": { + "desc": { "type": "string", - "description": "Variable creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Plan description", + "x-example": "Hobby plan" }, - "status": { - "type": "string", - "description": "Migration status ( pending, processing, failed, completed ) ", - "x-example": "pending" + "order": { + "type": "integer", + "description": "Plan order", + "x-example": 0, + "format": "int32" }, - "stage": { - "type": "string", - "description": "Migration stage ( init, processing, source-check, destination-check, migrating, finished )", - "x-example": "init" + "price": { + "type": "number", + "description": "Price", + "x-example": 25, + "format": "double" }, - "source": { - "type": "string", - "description": "A string containing the type of source of the migration.", - "x-example": "Appwrite" + "trial": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" + }, + "bandwidth": { + "type": "integer", + "description": "Bandwidth", + "x-example": 25, + "format": "int32" + }, + "storage": { + "type": "integer", + "description": "Storage", + "x-example": 25, + "format": "int32" + }, + "imageTransformations": { + "type": "integer", + "description": "Image Transformations", + "x-example": 100, + "format": "int32" + }, + "screenshotsGenerated": { + "type": "integer", + "description": "Screenshots generated", + "x-example": 50, + "format": "int32" }, - "destination": { - "type": "string", - "description": "A string containing the type of destination of the migration.", - "x-example": "Appwrite" + "members": { + "type": "integer", + "description": "Members", + "x-example": 25, + "format": "int32" }, - "resources": { - "type": "array", - "description": "Resources to migrate.", - "items": { - "type": "string" - }, - "x-example": [ - "user" - ] + "webhooks": { + "type": "integer", + "description": "Webhooks", + "x-example": 25, + "format": "int32" }, - "resourceId": { - "type": "string", - "description": "Id of the resource to migrate.", - "x-example": "databaseId:collectionId" + "projects": { + "type": "integer", + "description": "Projects", + "x-example": 2, + "format": "int32" }, - "statusCounters": { - "type": "object", - "description": "A group of counters that represent the total progress of the migration.", - "x-example": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}" + "platforms": { + "type": "integer", + "description": "Platforms", + "x-example": 3, + "format": "int32" }, - "resourceData": { - "type": "object", - "description": "An array of objects containing the report data of the resources that were migrated.", - "x-example": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]" + "users": { + "type": "integer", + "description": "Users", + "x-example": 25, + "format": "int32" }, - "errors": { - "type": "array", - "description": "All errors that occurred during the migration process.", - "items": { - "type": "string" - }, - "x-example": [] + "teams": { + "type": "integer", + "description": "Teams", + "x-example": 25, + "format": "int32" }, - "options": { - "type": "object", - "description": "Migration options used during the migration process.", - "x-example": "{\"bucketId\": \"exports\", \"notify\": false}" - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "status", - "stage", - "source", - "destination", - "resources", - "resourceId", - "statusCounters", - "resourceData", - "errors", - "options" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "status": "pending", - "stage": "init", - "source": "Appwrite", - "destination": "Appwrite", - "resources": [ - "user" - ], - "resourceId": "databaseId:collectionId", - "statusCounters": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}", - "resourceData": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]", - "errors": [], - "options": "{\"bucketId\": \"exports\", \"notify\": false}" - } - }, - "migrationReport": { - "description": "Migration Report", - "type": "object", - "properties": { - "user": { + "databases": { "type": "integer", - "description": "Number of users to be migrated.", - "x-example": 20, + "description": "Databases", + "x-example": 25, "format": "int32" }, - "team": { + "databasesReads": { "type": "integer", - "description": "Number of teams to be migrated.", - "x-example": 20, + "description": "Database reads per month", + "x-example": 500000, "format": "int32" }, - "database": { + "databasesWrites": { "type": "integer", - "description": "Number of databases to be migrated.", - "x-example": 20, + "description": "Database writes per month", + "x-example": 250000, "format": "int32" }, - "row": { + "databasesBatchSize": { "type": "integer", - "description": "Number of rows to be migrated.", - "x-example": 20, + "description": "Database batch size limit", + "x-example": 100, "format": "int32" }, - "file": { + "buckets": { "type": "integer", - "description": "Number of files to be migrated.", - "x-example": 20, + "description": "Buckets", + "x-example": 25, "format": "int32" }, - "bucket": { + "fileSize": { "type": "integer", - "description": "Number of buckets to be migrated.", - "x-example": 20, + "description": "File size", + "x-example": 25, "format": "int32" }, - "function": { + "functions": { "type": "integer", - "description": "Number of functions to be migrated.", - "x-example": 20, + "description": "Functions", + "x-example": 25, "format": "int32" }, - "site": { + "sites": { "type": "integer", - "description": "Number of sites to be migrated.", - "x-example": 5, + "description": "Sites", + "x-example": 1, "format": "int32" }, - "provider": { + "executions": { "type": "integer", - "description": "Number of providers to be migrated.", - "x-example": 5, + "description": "Function executions", + "x-example": 25, "format": "int32" }, - "topic": { + "executionsRetentionCount": { "type": "integer", - "description": "Number of topics to be migrated.", - "x-example": 10, + "description": "Rolling max executions retained per function\/site", + "x-example": 10000, "format": "int32" }, - "subscriber": { + "GBHours": { "type": "integer", - "description": "Number of subscribers to be migrated.", + "description": "GB hours for functions", "x-example": 100, "format": "int32" }, - "message": { + "realtime": { "type": "integer", - "description": "Number of messages to be migrated.", - "x-example": 50, + "description": "Realtime connections", + "x-example": 25, "format": "int32" }, - "size": { + "realtimeMessages": { "type": "integer", - "description": "Size of files to be migrated in mb.", - "x-example": 30000, + "description": "Realtime messages", + "x-example": 100000, "format": "int32" }, - "version": { - "type": "string", - "description": "Version of the Appwrite instance to be migrated.", - "x-example": "1.4.0" - } - }, - "required": [ - "user", - "team", - "database", - "row", - "file", - "bucket", - "function", - "site", - "provider", - "topic", - "subscriber", - "message", - "size", - "version" - ], - "example": { - "user": 20, - "team": 20, - "database": 20, - "row": 20, - "file": 20, - "bucket": 20, - "function": 20, - "site": 5, - "provider": 5, - "topic": 10, - "subscriber": 100, - "message": 50, - "size": 30000, - "version": "1.4.0" - } - }, - "activityEvent": { - "description": "ActivityEvent", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Event ID.", - "x-example": "5e5ea5c16897e" + "messages": { + "type": "integer", + "description": "Messages per month", + "x-example": 1000, + "format": "int32" }, - "userType": { - "type": "string", - "description": "User type.", - "x-example": "user" + "topics": { + "type": "integer", + "description": "Topics for messaging", + "x-example": 1, + "format": "int32" }, - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "610fc2f985ee0" + "authPhone": { + "type": "integer", + "description": "SMS authentications per month", + "x-example": 10, + "format": "int32" }, - "userEmail": { - "type": "string", - "description": "User Email.", - "x-example": "john@appwrite.io" + "domains": { + "type": "integer", + "description": "Custom domains", + "x-example": 5, + "format": "int32" }, - "userName": { - "type": "string", - "description": "User Name.", - "x-example": "John Doe" + "logs": { + "type": "integer", + "description": "Log days", + "x-example": 25, + "format": "int32" }, - "resourceParent": { - "type": "string", - "description": "Resource parent.", - "x-example": "database\/ID" + "projectInactivityDays": { + "type": "integer", + "description": "Number of days of console inactivity before a project is paused. 0 means pausing is disabled.", + "x-example": 7, + "format": "int32" }, - "resourceType": { - "type": "string", - "description": "Resource type.", - "x-example": "collection" + "alertLimit": { + "type": "integer", + "description": "Alert threshold percentage", + "x-example": 80, + "format": "int32" }, - "resourceId": { - "type": "string", - "description": "Resource ID.", - "x-example": "610fc2f985ee0" + "usage": { + "type": "object", + "description": "Additional resources", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/usageBillingPlan" + } }, - "resource": { - "type": "string", - "description": "Resource.", - "x-example": "collections\/610fc2f985ee0" + "addons": { + "type": "object", + "description": "Addons", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/billingPlanAddon" + } }, - "event": { - "type": "string", - "description": "Event name.", - "x-example": "account.sessions.create" + "budgetCapEnabled": { + "type": "boolean", + "description": "Budget cap enabled or disabled.", + "x-example": true }, - "userAgent": { - "type": "string", - "description": "User agent.", - "x-example": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36" + "customSmtp": { + "type": "boolean", + "description": "Custom SMTP", + "x-example": true }, - "ip": { - "type": "string", - "description": "IP address.", - "x-example": "127.0.0.1" + "emailBranding": { + "type": "boolean", + "description": "Appwrite branding in email", + "x-example": true }, - "mode": { - "type": "string", - "description": "API mode when event triggered.", - "x-example": "admin" + "requiresPaymentMethod": { + "type": "boolean", + "description": "Does plan require payment method", + "x-example": true }, - "country": { - "type": "string", - "description": "Location.", - "x-example": "US" + "requiresBillingAddress": { + "type": "boolean", + "description": "Does plan require billing address", + "x-example": true }, - "time": { - "type": "string", - "description": "Log creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "isAvailable": { + "type": "boolean", + "description": "Is the billing plan available", + "x-example": true }, - "projectId": { - "type": "string", - "description": "Project ID.", - "x-example": "610fc2f985ee0" + "selfService": { + "type": "boolean", + "description": "Can user change the plan themselves", + "x-example": true }, - "teamId": { - "type": "string", - "description": "Team ID.", - "x-example": "610fc2f985ee0" + "premiumSupport": { + "type": "boolean", + "description": "Does plan enable premium support", + "x-example": true }, - "hostname": { - "type": "string", - "description": "Hostname.", - "x-example": "appwrite.io" + "budgeting": { + "type": "boolean", + "description": "Does plan support budget cap", + "x-example": true }, - "osCode": { - "type": "string", - "description": "Operating system code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/os.json).", - "x-example": "Mac" + "supportsMockNumbers": { + "type": "boolean", + "description": "Does plan support mock numbers", + "x-example": true }, - "osName": { - "type": "string", - "description": "Operating system name.", - "x-example": "Mac" + "supportsOrganizationRoles": { + "type": "boolean", + "description": "Does plan support organization roles", + "x-example": true }, - "osVersion": { - "type": "string", - "description": "Operating system version.", - "x-example": "Mac" + "supportsCredits": { + "type": "boolean", + "description": "Does plan support credit", + "x-example": true }, - "clientType": { - "type": "string", - "description": "Client type.", - "x-example": "browser" + "supportsDisposableEmailValidation": { + "type": "boolean", + "description": "Does plan support blocking disposable email addresses.", + "x-example": true }, - "clientCode": { - "type": "string", - "description": "Client code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/clients.json).", - "x-example": "CM" + "supportsCanonicalEmailValidation": { + "type": "boolean", + "description": "Does plan support requiring canonical email addresses.", + "x-example": true }, - "clientName": { - "type": "string", - "description": "Client name.", - "x-example": "Chrome Mobile iOS" + "supportsFreeEmailValidation": { + "type": "boolean", + "description": "Does plan support blocking free email addresses.", + "x-example": true }, - "clientVersion": { - "type": "string", - "description": "Client version.", - "x-example": "84.0" + "backupsEnabled": { + "type": "boolean", + "description": "Does plan support backup policies.", + "x-example": true }, - "clientEngine": { - "type": "string", - "description": "Client engine name.", - "x-example": "WebKit" + "usagePerProject": { + "type": "boolean", + "description": "Whether usage addons are calculated per project.", + "x-example": true }, - "clientEngineVersion": { - "type": "string", - "description": "Client engine name.", - "x-example": "605.1.15" + "supportedAddons": { + "type": "object", + "description": "Supported addons for this plan", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/billingPlanSupportedAddons" + } }, - "deviceName": { - "type": "string", - "description": "Device name.", - "x-example": "smartphone" + "backupPolicies": { + "type": "integer", + "description": "How many policies does plan support", + "x-example": true, + "format": "int32" }, - "deviceBrand": { - "type": "string", - "description": "Device brand name.", - "x-example": "Google" + "deploymentSize": { + "type": "integer", + "description": "Maximum function and site deployment size in MB", + "x-example": 30, + "format": "int32" }, - "deviceModel": { - "type": "string", - "description": "Device model name.", - "x-example": "Nexus 5" + "buildSize": { + "type": "integer", + "description": "Maximum function and site deployment size in MB", + "x-example": 2000, + "format": "int32" }, - "countryCode": { - "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "databasesAllowEncrypt": { + "type": "boolean", + "description": "Does the plan support encrypted string attributes or not.", + "x-example": false }, - "countryName": { + "limits": { + "type": "object", + "description": "Plan specific limits", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/billingPlanLimits" + }, + "nullable": true + }, + "group": { "type": "string", - "description": "Country name.", - "x-example": "United States" + "description": "Group of this billing plan for variants", + "x-example": "pro", + "enum": [ + "starter", + "pro", + "scale" + ] + }, + "program": { + "type": "object", + "description": "Details of the program this plan is a part of.", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/program" + }, + "nullable": true } }, "required": [ "$id", - "userType", - "userId", - "userEmail", - "userName", - "resourceParent", - "resourceType", - "resourceId", - "resource", - "event", - "userAgent", - "ip", - "mode", - "country", - "time", - "projectId", - "teamId", - "hostname", - "osCode", - "osName", - "osVersion", - "clientType", - "clientCode", - "clientName", - "clientVersion", - "clientEngine", - "clientEngineVersion", - "deviceName", - "deviceBrand", - "deviceModel", - "countryCode", - "countryName" + "name", + "desc", + "order", + "price", + "trial", + "bandwidth", + "storage", + "imageTransformations", + "screenshotsGenerated", + "members", + "webhooks", + "projects", + "platforms", + "users", + "teams", + "databases", + "databasesReads", + "databasesWrites", + "databasesBatchSize", + "buckets", + "fileSize", + "functions", + "sites", + "executions", + "executionsRetentionCount", + "GBHours", + "realtime", + "realtimeMessages", + "messages", + "topics", + "authPhone", + "domains", + "logs", + "projectInactivityDays", + "alertLimit", + "usage", + "addons", + "budgetCapEnabled", + "customSmtp", + "emailBranding", + "requiresPaymentMethod", + "requiresBillingAddress", + "isAvailable", + "selfService", + "premiumSupport", + "budgeting", + "supportsMockNumbers", + "supportsOrganizationRoles", + "supportsCredits", + "supportsDisposableEmailValidation", + "supportsCanonicalEmailValidation", + "supportsFreeEmailValidation", + "backupsEnabled", + "usagePerProject", + "supportedAddons", + "backupPolicies", + "deploymentSize", + "buildSize", + "databasesAllowEncrypt", + "group" ], "example": { - "$id": "5e5ea5c16897e", - "userType": "user", - "userId": "610fc2f985ee0", - "userEmail": "john@appwrite.io", - "userName": "John Doe", - "resourceParent": "database\/ID", - "resourceType": "collection", - "resourceId": "610fc2f985ee0", - "resource": "collections\/610fc2f985ee0", - "event": "account.sessions.create", - "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36", - "ip": "127.0.0.1", - "mode": "admin", - "country": "US", - "time": "2020-10-15T06:38:00.000+00:00", - "projectId": "610fc2f985ee0", - "teamId": "610fc2f985ee0", - "hostname": "appwrite.io", - "osCode": "Mac", - "osName": "Mac", - "osVersion": "Mac", - "clientType": "browser", - "clientCode": "CM", - "clientName": "Chrome Mobile iOS", - "clientVersion": "84.0", - "clientEngine": "WebKit", - "clientEngineVersion": "605.1.15", - "deviceName": "smartphone", - "deviceBrand": "Google", - "deviceModel": "Nexus 5", - "countryCode": "US", - "countryName": "United States" + "$id": "tier-0", + "name": "Hobby", + "desc": "Hobby plan", + "order": 0, + "price": 25, + "trial": 14, + "bandwidth": 25, + "storage": 25, + "imageTransformations": 100, + "screenshotsGenerated": 50, + "members": 25, + "webhooks": 25, + "projects": 2, + "platforms": 3, + "users": 25, + "teams": 25, + "databases": 25, + "databasesReads": 500000, + "databasesWrites": 250000, + "databasesBatchSize": 100, + "buckets": 25, + "fileSize": 25, + "functions": 25, + "sites": 1, + "executions": 25, + "executionsRetentionCount": 10000, + "GBHours": 100, + "realtime": 25, + "realtimeMessages": 100000, + "messages": 1000, + "topics": 1, + "authPhone": 10, + "domains": 5, + "logs": 25, + "projectInactivityDays": 7, + "alertLimit": 80, + "usage": null, + "addons": null, + "budgetCapEnabled": true, + "customSmtp": true, + "emailBranding": true, + "requiresPaymentMethod": true, + "requiresBillingAddress": true, + "isAvailable": true, + "selfService": true, + "premiumSupport": true, + "budgeting": true, + "supportsMockNumbers": true, + "supportsOrganizationRoles": true, + "supportsCredits": true, + "supportsDisposableEmailValidation": true, + "supportsCanonicalEmailValidation": true, + "supportsFreeEmailValidation": true, + "backupsEnabled": true, + "usagePerProject": true, + "supportedAddons": null, + "backupPolicies": true, + "deploymentSize": 30, + "buildSize": 2000, + "databasesAllowEncrypt": false, + "limits": null, + "group": "pro", + "program": null } }, - "additionalResource": { - "description": "AdditionalResource", + "billingPlanAddon": { + "description": "Addon", "type": "object", "properties": { - "name": { - "type": "string", - "description": "Resource name", - "x-example": "" + "seats": { + "type": "object", + "description": "Addon seats", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/billingPlanAddonDetails" + } }, - "unit": { + "projects": { + "type": "object", + "description": "Addon projects", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/billingPlanAddonDetails" + } + } + }, + "required": [ + "seats", + "projects" + ], + "example": { + "seats": null, + "projects": null + } + }, + "billingPlanAddonDetails": { + "description": "Details", + "type": "object", + "properties": { + "supported": { + "type": "boolean", + "description": "Is the addon supported in the plan?", + "x-example": true + }, + "planIncluded": { + "type": "integer", + "description": "Addon plan included value", + "x-example": 1, + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "Addon limit", + "x-example": 5, + "format": "int32" + }, + "type": { "type": "string", - "description": "Resource unit", - "x-example": "GB" + "description": "Addon type", + "x-example": "numeric" }, "currency": { "type": "string", @@ -93853,1700 +100495,1910 @@ } }, "required": [ - "name", - "unit", + "supported", + "planIncluded", + "limit", + "type", "currency", "price", "value", "invoiceDesc" ], "example": { - "name": "", - "unit": "GB", + "supported": true, + "planIncluded": 1, + "limit": 5, + "type": "numeric", "currency": "USD", "price": 5, "value": 25, "invoiceDesc": "" } }, - "aggregationTeam": { - "description": "AggregationTeam", + "billingPlanLimits": { + "description": "PlanLimits", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Aggregation ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Aggregation creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Aggregation update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$permissions": { - "type": "array", - "description": "Aggregation permissions. [Learn more about permissions](\/docs\/permissions).", - "items": { - "type": "string" - }, - "x-example": [ - "read(\"any\")" - ] - }, - "from": { - "type": "string", - "description": "Beginning date of the invoice", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "to": { - "type": "string", - "description": "End date of the invoice", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "usageStorage": { - "type": "integer", - "description": "Total storage usage", - "x-example": 20009090, - "format": "int32" - }, - "usageTotalStorage": { - "type": "integer", - "description": "Total storage usage with builds storage", - "x-example": 20009090, - "format": "int32" - }, - "usageFilesStorage": { - "type": "integer", - "description": "Total files storage usage", - "x-example": 20009090, - "format": "int32" - }, - "usageDeploymentsStorage": { - "type": "integer", - "description": "Total deployments storage usage", - "x-example": 20009090, - "format": "int32" - }, - "usageBuildsStorage": { - "type": "integer", - "description": "Total builds storage usage", - "x-example": 20009090, - "format": "int32" - }, - "usageDatabasesStorage": { - "type": "integer", - "description": "Total databases storage usage", - "x-example": 2009090, - "format": "int32" - }, - "usageUsers": { - "type": "integer", - "description": "Total active users for the billing period", - "x-example": 2000, - "format": "int32" - }, - "usageExecutions": { - "type": "integer", - "description": "Total number of executions for the billing period", - "x-example": 2000, - "format": "int32" - }, - "usageBandwidth": { - "type": "integer", - "description": "Total bandwidth usage for the billing period", - "x-example": 2000, - "format": "int32" - }, - "usageRealtime": { - "type": "integer", - "description": "Peak concurrent realtime connections for the billing period", - "x-example": 200, - "format": "int32" - }, - "usageRealtimeMessages": { - "type": "integer", - "description": "Total realtime messages sent for the billing period", - "x-example": 10000, - "format": "int32" - }, - "usageRealtimeBandwidth": { - "type": "integer", - "description": "Total realtime bandwidth usage for the billing period", - "x-example": 5000000, - "format": "int32" - }, - "additionalMembers": { - "type": "integer", - "description": "Additional members", - "x-example": 5, - "format": "int32" - }, - "additionalMemberAmount": { - "type": "integer", - "description": "Additional members cost", - "x-example": 30, - "format": "int32" - }, - "additionalStorageAmount": { - "type": "integer", - "description": "Additional storage usage cost", - "x-example": 40, - "format": "int32" - }, - "additionalUsersAmount": { - "type": "integer", - "description": "Additional users usage cost.", - "x-example": 4, - "format": "int32" - }, - "additionalExecutionsAmount": { - "type": "integer", - "description": "Additional executions usage cost", - "x-example": 30, - "format": "int32" - }, - "additionalBandwidthAmount": { - "type": "integer", - "description": "Additional bandwidth usage cost", - "x-example": 40, - "format": "int32" - }, - "additionalRealtimeAmount": { - "type": "integer", - "description": "Additional realtime usage cost", - "x-example": 20, - "format": "int32" - }, - "plan": { - "type": "string", - "description": "Billing plan", - "x-example": "tier-0" - }, - "amount": { + "credits": { "type": "integer", - "description": "Aggregated amount", - "x-example": 2, - "format": "int32" - }, - "breakdown": { - "type": "array", - "description": "Aggregation project breakdown", - "items": { - "$ref": "#\/components\/schemas\/aggregationBreakdown" - }, - "x-example": [] + "description": "Credits limit per billing cycle", + "x-example": 100, + "format": "int32", + "nullable": true }, - "resources": { - "type": "array", - "description": "Usage resources", - "items": { - "$ref": "#\/components\/schemas\/usageResources" - }, - "x-example": [] - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "from", - "to", - "usageStorage", - "usageTotalStorage", - "usageFilesStorage", - "usageDeploymentsStorage", - "usageBuildsStorage", - "usageDatabasesStorage", - "usageUsers", - "usageExecutions", - "usageBandwidth", - "usageRealtime", - "usageRealtimeMessages", - "usageRealtimeBandwidth", - "additionalMembers", - "additionalMemberAmount", - "additionalStorageAmount", - "additionalUsersAmount", - "additionalExecutionsAmount", - "additionalBandwidthAmount", - "additionalRealtimeAmount", - "plan", - "amount", - "breakdown", - "resources" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "from": "2020-10-15T06:38:00.000+00:00", - "to": "2020-10-15T06:38:00.000+00:00", - "usageStorage": 20009090, - "usageTotalStorage": 20009090, - "usageFilesStorage": 20009090, - "usageDeploymentsStorage": 20009090, - "usageBuildsStorage": 20009090, - "usageDatabasesStorage": 2009090, - "usageUsers": 2000, - "usageExecutions": 2000, - "usageBandwidth": 2000, - "usageRealtime": 200, - "usageRealtimeMessages": 10000, - "usageRealtimeBandwidth": 5000000, - "additionalMembers": 5, - "additionalMemberAmount": 30, - "additionalStorageAmount": 40, - "additionalUsersAmount": 4, - "additionalExecutionsAmount": 30, - "additionalBandwidthAmount": 40, - "additionalRealtimeAmount": 20, - "plan": "tier-0", - "amount": 2, - "breakdown": [], - "resources": [] + "dailyCredits": { + "type": "integer", + "description": "Daily credits limit (if applicable)", + "x-example": 5, + "format": "int32", + "nullable": true + } + }, + "example": { + "credits": 100, + "dailyCredits": 5 } }, - "aggregationBreakdown": { - "description": "AggregationBreakdown", + "billingPlanSupportedAddons": { + "description": "BillingPlanSupportedAddons", "type": "object", "properties": { - "$id": { + "baa": { + "type": "boolean", + "description": "Whether the plan supports BAA (Business Associate Agreement) addon", + "x-example": true + } + }, + "required": [ + "baa" + ], + "example": { + "baa": true + } + }, + "block": { + "description": "Block", + "type": "object", + "properties": { + "$createdAt": { "type": "string", - "description": "Aggregation ID.", + "description": "Block creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "resourceType": { + "type": "string", + "description": "Resource type that is blocked", + "x-example": "project" + }, + "resourceId": { + "type": "string", + "description": "Resource identifier that is blocked", "x-example": "5e5ea5c16897e" }, - "name": { + "reason": { "type": "string", - "description": "Project name", - "x-example": "" + "description": "Reason for the block. Can be null if no reason was provided.", + "x-example": "Payment overdue", + "nullable": true + }, + "expiredAt": { + "type": "string", + "description": "Block expiration date in ISO 8601 format. Can be null if the block does not expire.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "projectName": { + "type": "string", + "description": "Name of the project this block applies to.", + "x-example": "My Project" }, "region": { "type": "string", - "description": "Project region", + "description": "Region of the project this block applies to.", "x-example": "fra" }, - "amount": { + "organizationName": { + "type": "string", + "description": "Name of the organization that owns the project.", + "x-example": "Acme Inc." + }, + "organizationId": { + "type": "string", + "description": "ID of the organization that owns the project.", + "x-example": "5e5ea5c16897e" + }, + "billingPlan": { + "type": "string", + "description": "Billing plan of the organization that owns the project.", + "x-example": "pro" + } + }, + "required": [ + "$createdAt", + "resourceType", + "resourceId", + "projectName", + "region", + "organizationName", + "organizationId", + "billingPlan" + ], + "example": { + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "resourceType": "project", + "resourceId": "5e5ea5c16897e", + "reason": "Payment overdue", + "expiredAt": "2020-10-15T06:38:00.000+00:00", + "projectName": "My Project", + "region": "fra", + "organizationName": "Acme Inc.", + "organizationId": "5e5ea5c16897e", + "billingPlan": "pro" + } + }, + "blockDelete": { + "description": "BlockDelete", + "type": "object", + "properties": { + "deleted": { "type": "integer", - "description": "Aggregated amount", - "x-example": 2, + "description": "Number of blocks deleted", + "x-example": 1, "format": "int32" }, - "resources": { + "blocks": { "type": "array", - "description": "", + "description": "List of deleted blocks", "items": { - "$ref": "#\/components\/schemas\/usageResources" + "$ref": "#\/components\/schemas\/block" }, - "x-example": "" + "x-example": [] } }, "required": [ - "$id", - "name", - "region", - "amount", - "resources" + "deleted", + "blocks" ], "example": { - "$id": "5e5ea5c16897e", - "name": "", - "region": "fra", - "amount": 2, - "resources": "" + "deleted": 1, + "blocks": [] } }, - "backupArchive": { - "description": "Archive", + "dedicatedDatabaseBranch": { + "description": "Branch", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Archive ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { + "branchId": { "type": "string", - "description": "Archive creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Branch identifier.", + "x-example": "branch-a1b2c3d4" }, - "$updatedAt": { + "branchName": { "type": "string", - "description": "Archive update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Branch name.", + "x-example": "branch-a1b2c3d4" }, - "policyId": { + "namespace": { "type": "string", - "description": "Archive policy ID.", - "x-example": "did8jx6ws45jana098ab7" + "description": "Kubernetes namespace where the branch is deployed.", + "x-example": "branch-a1b2c3d4" }, - "size": { + "expiresAt": { "type": "integer", - "description": "Archive size in bytes.", - "x-example": 100000, + "description": "Unix timestamp when the branch expires.", + "x-example": 1711411200, "format": "int32" - }, - "status": { - "type": "string", - "description": "The status of the archive creation. Possible values: pending, processing, uploading, completed, failed, skipped.", - "x-example": "completed" - }, - "startedAt": { - "type": "string", - "description": "The backup start time.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "migrationId": { - "type": "string", - "description": "Migration ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "services": { - "type": "array", - "description": "The services that are backed up by this archive.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" - }, - "resources": { + } + }, + "required": [ + "branchId", + "branchName", + "namespace", + "expiresAt" + ], + "example": { + "branchId": "branch-a1b2c3d4", + "branchName": "branch-a1b2c3d4", + "namespace": "branch-a1b2c3d4", + "expiresAt": 1711411200 + } + }, + "dedicatedDatabaseBranchList": { + "description": "BranchList", + "type": "object", + "properties": { + "branches": { "type": "array", - "description": "The resources that are backed up by this archive.", + "description": "List of branches.", "items": { - "type": "string" + "$ref": "#\/components\/schemas\/dedicatedDatabaseBranch" }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" - }, - "resourceId": { - "type": "string", - "description": "The resource ID to backup. Set only if this archive should backup a single resource.", - "x-example": "DB1", - "nullable": true - }, - "resourceType": { - "type": "string", - "description": "The resource type to backup. Set only if this archive should backup a single resource.", - "x-example": "database", - "nullable": true + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "policyId", - "size", - "status", - "startedAt", - "migrationId", - "services", - "resources" + "branches" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "policyId": "did8jx6ws45jana098ab7", - "size": 100000, - "status": "completed", - "startedAt": "2020-10-15T06:38:00.000+00:00", - "migrationId": "did8jx6ws45jana098ab7", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "resourceId": "DB1", - "resourceType": "database" + "branches": [] } }, - "billingAddress": { - "description": "BillingAddress", + "campaign": { + "description": "Campaign", "type": "object", "properties": { "$id": { "type": "string", - "description": "Region ID", - "x-example": "eu-fr" + "description": "Campaign ID", + "x-example": "" }, - "userId": { + "template": { "type": "string", - "description": "User ID", - "x-example": "5e5ea5c16897e" + "description": "Campaign template", + "x-example": "" }, - "streetAddress": { + "title": { "type": "string", - "description": "Street address", - "x-example": "13th Avenue" + "description": "Campaign title", + "x-example": "" }, - "addressLine2": { + "description": { "type": "string", - "description": "Address line 2", + "description": "Campaign description", "x-example": "" }, - "country": { + "plan": { "type": "string", - "description": "Address country", - "x-example": "USA" + "description": "Billing plan campaign is associated with", + "x-example": "", + "nullable": true }, - "city": { + "cta": { "type": "string", - "description": "city", - "x-example": "" + "description": "Campaign CTA", + "x-example": "", + "nullable": true }, - "state": { + "claimed": { "type": "string", - "description": "state", - "x-example": "" + "description": "Campaign info when claimed", + "x-example": "", + "nullable": true }, - "postalCode": { + "unclaimed": { "type": "string", - "description": "postal code", - "x-example": "" + "description": "Campaign infor when unclaimed", + "x-example": "", + "nullable": true + }, + "image": { + "type": "object", + "description": "Campaign images", + "x-example": "", + "nullable": true + }, + "reviews": { + "type": "array", + "description": "Campaign reviews", + "items": { + "$ref": "#\/components\/schemas\/review" + }, + "x-example": "", + "nullable": true + }, + "onlyNewOrgs": { + "type": "boolean", + "description": "Campaign valid only for new orgs.", + "x-example": "", + "nullable": true + }, + "footer": { + "type": "boolean", + "description": "Is footer", + "x-example": "", + "nullable": true } }, "required": [ "$id", - "userId", - "streetAddress", - "addressLine2", - "country", - "city", - "state", - "postalCode" + "template", + "title", + "description" ], "example": { - "$id": "eu-fr", - "userId": "5e5ea5c16897e", - "streetAddress": "13th Avenue", - "addressLine2": "", - "country": "USA", - "city": "", - "state": "", - "postalCode": "" + "$id": "", + "template": "", + "title": "", + "description": "", + "plan": "", + "cta": "", + "claimed": "", + "unclaimed": "", + "image": "", + "reviews": "", + "onlyNewOrgs": "", + "footer": "" } }, - "billingPlan": { - "description": "billingPlan", + "dedicatedDatabaseConnection": { + "description": "Connection", "type": "object", "properties": { "$id": { - "type": "string", - "description": "Plan ID.", - "x-example": "tier-0" - }, - "name": { - "type": "string", - "description": "Plan name", - "x-example": "Hobby" - }, - "desc": { - "type": "string", - "description": "Plan description", - "x-example": "Hobby plan" - }, - "order": { - "type": "integer", - "description": "Plan order", - "x-example": 0, - "format": "int32" - }, - "price": { - "type": "number", - "description": "Price", - "x-example": 25, - "format": "double" - }, - "trial": { - "type": "integer", - "description": "Trial days", - "x-example": 14, - "format": "int32" - }, - "bandwidth": { - "type": "integer", - "description": "Bandwidth", - "x-example": 25, - "format": "int32" - }, - "storage": { - "type": "integer", - "description": "Storage", - "x-example": 25, - "format": "int32" - }, - "imageTransformations": { - "type": "integer", - "description": "Image Transformations", - "x-example": 100, - "format": "int32" - }, - "screenshotsGenerated": { - "type": "integer", - "description": "Screenshots generated", - "x-example": 50, - "format": "int32" - }, - "members": { - "type": "integer", - "description": "Members", - "x-example": 25, - "format": "int32" - }, - "webhooks": { - "type": "integer", - "description": "Webhooks", - "x-example": 25, - "format": "int32" - }, - "projects": { - "type": "integer", - "description": "Projects", - "x-example": 2, - "format": "int32" - }, - "platforms": { - "type": "integer", - "description": "Platforms", - "x-example": 3, - "format": "int32" - }, - "users": { - "type": "integer", - "description": "Users", - "x-example": 25, - "format": "int32" - }, - "teams": { - "type": "integer", - "description": "Teams", - "x-example": 25, - "format": "int32" - }, - "databases": { - "type": "integer", - "description": "Databases", - "x-example": 25, - "format": "int32" - }, - "databasesReads": { - "type": "integer", - "description": "Database reads per month", - "x-example": 500000, - "format": "int32" - }, - "databasesWrites": { - "type": "integer", - "description": "Database writes per month", - "x-example": 250000, - "format": "int32" - }, - "databasesBatchSize": { - "type": "integer", - "description": "Database batch size limit", - "x-example": 100, - "format": "int32" - }, - "buckets": { - "type": "integer", - "description": "Buckets", - "x-example": 25, - "format": "int32" - }, - "fileSize": { - "type": "integer", - "description": "File size", - "x-example": 25, - "format": "int32" - }, - "functions": { - "type": "integer", - "description": "Functions", - "x-example": 25, - "format": "int32" - }, - "sites": { - "type": "integer", - "description": "Sites", - "x-example": 1, - "format": "int32" - }, - "executions": { - "type": "integer", - "description": "Function executions", - "x-example": 25, - "format": "int32" - }, - "executionsRetentionCount": { - "type": "integer", - "description": "Rolling max executions retained per function\/site", - "x-example": 10000, - "format": "int32" - }, - "GBHours": { - "type": "integer", - "description": "GB hours for functions", - "x-example": 100, - "format": "int32" - }, - "realtime": { - "type": "integer", - "description": "Realtime connections", - "x-example": 25, - "format": "int32" - }, - "realtimeMessages": { - "type": "integer", - "description": "Realtime messages", - "x-example": 100000, - "format": "int32" + "type": "string", + "description": "Connection ID.", + "x-example": "5e5ea5c16897e" }, - "messages": { - "type": "integer", - "description": "Messages per month", - "x-example": 1000, - "format": "int32" + "username": { + "type": "string", + "description": "Connection username.", + "x-example": "app_readonly" }, - "topics": { - "type": "integer", - "description": "Topics for messaging", - "x-example": 1, - "format": "int32" + "database": { + "type": "string", + "description": "Database name.", + "x-example": "appwrite" }, - "authPhone": { - "type": "integer", - "description": "SMS authentications per month", - "x-example": 10, - "format": "int32" + "role": { + "type": "string", + "description": "Connection role. Common values: readonly, readwrite.", + "x-example": "readonly" }, - "domains": { - "type": "integer", - "description": "Custom domains", - "x-example": 5, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Connection creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "username", + "database", + "role", + "$createdAt" + ], + "example": { + "$id": "5e5ea5c16897e", + "username": "app_readonly", + "database": "appwrite", + "role": "readonly", + "$createdAt": "2020-10-15T06:38:00.000+00:00" + } + }, + "coupon": { + "description": "Coupon", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "logs": { - "type": "integer", - "description": "Log days", - "x-example": 25, - "format": "int32" + "code": { + "type": "string", + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "projectInactivityDays": { - "type": "integer", - "description": "Number of days of console inactivity before a project is paused. 0 means pausing is disabled.", - "x-example": 7, - "format": "int32" + "credits": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" }, - "alertLimit": { + "expiration": { + "type": "string", + "description": "Coupon expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "validity": { "type": "integer", - "description": "Alert threshold percentage", - "x-example": 80, + "description": "Credit validity in days.", + "x-example": 180, "format": "int32" }, - "usage": { - "type": "object", - "description": "Additional resources", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/usageBillingPlan" - } - }, - "addons": { - "type": "object", - "description": "Addons", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/billingPlanAddon" - } - }, - "budgetCapEnabled": { - "type": "boolean", - "description": "Budget cap enabled or disabled.", - "x-example": true - }, - "customSmtp": { - "type": "boolean", - "description": "Custom SMTP", - "x-example": true - }, - "emailBranding": { - "type": "boolean", - "description": "Appwrite branding in email", - "x-example": true - }, - "requiresPaymentMethod": { - "type": "boolean", - "description": "Does plan require payment method", - "x-example": true - }, - "requiresBillingAddress": { - "type": "boolean", - "description": "Does plan require billing address", - "x-example": true + "campaign": { + "type": "string", + "description": "Campaign the coupon is associated with`.", + "x-example": "AppwriteHeroes" }, - "isAvailable": { - "type": "boolean", - "description": "Is the billing plan available", - "x-example": true + "status": { + "type": "string", + "description": "Status of the coupon. Can be one of `disabled`, `active` or `expired`.", + "x-example": "disabled" }, - "selfService": { + "onlyNewOrgs": { "type": "boolean", - "description": "Can user change the plan themselves", + "description": "If the coupon is only valid for new organizations or not.", "x-example": true + } + }, + "required": [ + "$id", + "code", + "credits", + "expiration", + "validity", + "campaign", + "status", + "onlyNewOrgs" + ], + "example": { + "$id": "NEWBONUS", + "code": "NEWBONUS", + "credits": 50, + "expiration": "2020-10-15T06:38:00.000+00:00", + "validity": 180, + "campaign": "AppwriteHeroes", + "status": "disabled", + "onlyNewOrgs": true + } + }, + "dedicatedDatabaseCredentials": { + "description": "Credentials", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Database ID.", + "x-example": "5e5ea5c16897e" }, - "premiumSupport": { - "type": "boolean", - "description": "Does plan enable premium support", - "x-example": true + "host": { + "type": "string", + "description": "Database hostname.", + "x-example": "db-myproject-mydb.fra.appwrite.network" }, - "budgeting": { - "type": "boolean", - "description": "Does plan support budget cap", - "x-example": true + "port": { + "type": "integer", + "description": "Database port.", + "x-example": 5432, + "format": "int32" }, - "supportsMockNumbers": { - "type": "boolean", - "description": "Does plan support mock numbers", - "x-example": true + "username": { + "type": "string", + "description": "Database username.", + "x-example": "appwrite" }, - "supportsOrganizationRoles": { - "type": "boolean", - "description": "Does plan support organization roles", - "x-example": true + "password": { + "type": "string", + "description": "Database password.", + "x-example": "********" }, - "supportsCredits": { - "type": "boolean", - "description": "Does plan support credit", - "x-example": true + "database": { + "type": "string", + "description": "Database name.", + "x-example": "appwrite" }, - "supportsDisposableEmailValidation": { - "type": "boolean", - "description": "Does plan support blocking disposable email addresses.", - "x-example": true + "engine": { + "type": "string", + "description": "Database engine. Possible values: postgres, mysql, mariadb, mongodb.", + "x-example": "postgres" }, - "supportsCanonicalEmailValidation": { + "ssl": { "type": "boolean", - "description": "Does plan support requiring canonical email addresses.", + "description": "Whether SSL is required.", "x-example": true }, - "supportsFreeEmailValidation": { - "type": "boolean", - "description": "Does plan support blocking free email addresses.", - "x-example": true + "connectionString": { + "type": "string", + "description": "Full connection string.", + "x-example": "postgresql:\/\/appwrite:****@db-myproject-mydb.fra.appwrite.network:5432\/appwrite?sslmode=require" + } + }, + "required": [ + "$id", + "host", + "port", + "username", + "password", + "database", + "engine", + "ssl", + "connectionString" + ], + "example": { + "$id": "5e5ea5c16897e", + "host": "db-myproject-mydb.fra.appwrite.network", + "port": 5432, + "username": "appwrite", + "password": "********", + "database": "appwrite", + "engine": "postgres", + "ssl": true, + "connectionString": "postgresql:\/\/appwrite:****@db-myproject-mydb.fra.appwrite.network:5432\/appwrite?sslmode=require" + } + }, + "credit": { + "description": "Credit", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Credit ID.", + "x-example": "5e5ea5c16897e" }, - "backupsEnabled": { - "type": "boolean", - "description": "Does plan support backup policies.", - "x-example": true + "$createdAt": { + "type": "string", + "description": "Credit creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "usagePerProject": { - "type": "boolean", - "description": "Whether usage addons are calculated per project.", - "x-example": true + "$updatedAt": { + "type": "string", + "description": "Credit update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "supportedAddons": { - "type": "object", - "description": "Supported addons for this plan", - "x-example": null, + "$permissions": { + "type": "array", + "description": "Credit permissions. [Learn more about permissions](\/docs\/permissions).", "items": { - "$ref": "#\/components\/schemas\/billingPlanSupportedAddons" - } + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] }, - "backupPolicies": { - "type": "integer", - "description": "How many policies does plan support", - "x-example": true, - "format": "int32" + "couponId": { + "type": "string", + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "deploymentSize": { - "type": "integer", - "description": "Maximum function and site deployment size in MB", - "x-example": 30, - "format": "int32" + "userId": { + "type": "string", + "description": "ID of the User.", + "x-example": "5e5ea5c16897e" }, - "buildSize": { - "type": "integer", - "description": "Maximum function and site deployment size in MB", - "x-example": 2000, - "format": "int32" + "teamId": { + "type": "string", + "description": "ID of the Team.", + "x-example": "5e5ea5c16897e" }, - "databasesAllowEncrypt": { - "type": "boolean", - "description": "Does the plan support encrypted string attributes or not.", - "x-example": false + "credits": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" }, - "limits": { - "type": "object", - "description": "Plan specific limits", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/billingPlanLimits" - }, - "nullable": true + "total": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" }, - "group": { + "expiration": { "type": "string", - "description": "Group of this billing plan for variants", - "x-example": "pro", - "enum": [ - "starter", - "pro", - "scale" - ] + "description": "Credit expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "program": { - "type": "object", - "description": "Details of the program this plan is a part of.", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/program" - }, - "nullable": true + "status": { + "type": "string", + "description": "Status of the credit. Can be one of `disabled`, `active` or `expired`.", + "x-example": "disabled" } }, "required": [ "$id", - "name", - "desc", - "order", - "price", - "trial", - "bandwidth", - "storage", - "imageTransformations", - "screenshotsGenerated", - "members", - "webhooks", - "projects", - "platforms", - "users", - "teams", - "databases", - "databasesReads", - "databasesWrites", - "databasesBatchSize", - "buckets", - "fileSize", - "functions", - "sites", - "executions", - "executionsRetentionCount", - "GBHours", - "realtime", - "realtimeMessages", - "messages", - "topics", - "authPhone", - "domains", - "logs", - "projectInactivityDays", - "alertLimit", - "usage", - "addons", - "budgetCapEnabled", - "customSmtp", - "emailBranding", - "requiresPaymentMethod", - "requiresBillingAddress", - "isAvailable", - "selfService", - "premiumSupport", - "budgeting", - "supportsMockNumbers", - "supportsOrganizationRoles", - "supportsCredits", - "supportsDisposableEmailValidation", - "supportsCanonicalEmailValidation", - "supportsFreeEmailValidation", - "backupsEnabled", - "usagePerProject", - "supportedAddons", - "backupPolicies", - "deploymentSize", - "buildSize", - "databasesAllowEncrypt", - "group" + "$createdAt", + "$updatedAt", + "$permissions", + "couponId", + "userId", + "teamId", + "credits", + "total", + "expiration", + "status" ], "example": { - "$id": "tier-0", - "name": "Hobby", - "desc": "Hobby plan", - "order": 0, - "price": 25, - "trial": 14, - "bandwidth": 25, - "storage": 25, - "imageTransformations": 100, - "screenshotsGenerated": 50, - "members": 25, - "webhooks": 25, - "projects": 2, - "platforms": 3, - "users": 25, - "teams": 25, - "databases": 25, - "databasesReads": 500000, - "databasesWrites": 250000, - "databasesBatchSize": 100, - "buckets": 25, - "fileSize": 25, - "functions": 25, - "sites": 1, - "executions": 25, - "executionsRetentionCount": 10000, - "GBHours": 100, - "realtime": 25, - "realtimeMessages": 100000, - "messages": 1000, - "topics": 1, - "authPhone": 10, - "domains": 5, - "logs": 25, - "projectInactivityDays": 7, - "alertLimit": 80, - "usage": null, - "addons": null, - "budgetCapEnabled": true, - "customSmtp": true, - "emailBranding": true, - "requiresPaymentMethod": true, - "requiresBillingAddress": true, - "isAvailable": true, - "selfService": true, - "premiumSupport": true, - "budgeting": true, - "supportsMockNumbers": true, - "supportsOrganizationRoles": true, - "supportsCredits": true, - "supportsDisposableEmailValidation": true, - "supportsCanonicalEmailValidation": true, - "supportsFreeEmailValidation": true, - "backupsEnabled": true, - "usagePerProject": true, - "supportedAddons": null, - "backupPolicies": true, - "deploymentSize": 30, - "buildSize": 2000, - "databasesAllowEncrypt": false, - "limits": null, - "group": "pro", - "program": null + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "couponId": "NEWBONUS", + "userId": "5e5ea5c16897e", + "teamId": "5e5ea5c16897e", + "credits": 50, + "total": 50, + "expiration": "2020-10-15T06:38:00.000+00:00", + "status": "disabled" } }, - "billingPlanAddon": { - "description": "BillingPlanAddon", + "creditAvailable": { + "description": "CreditAvailable", "type": "object", "properties": { - "seats": { - "type": "object", - "description": "Addon seats", - "x-example": null, + "available": { + "type": "integer", + "description": "Total available credits for the organization.", + "x-example": 100, + "format": "int32" + } + }, + "required": [ + "available" + ], + "example": { + "available": 100 + } + }, + "creditList": { + "description": "CreditList", + "type": "object", + "properties": { + "credits": { + "type": "array", + "description": "Credits", "items": { - "$ref": "#\/components\/schemas\/billingPlanAddonDetails" - } + "$ref": "#\/components\/schemas\/credit" + }, + "x-example": 5 + }, + "total": { + "type": "integer", + "description": "Total number of credits", + "x-example": 5, + "format": "int32" }, - "projects": { - "type": "object", - "description": "Addon projects", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/billingPlanAddonDetails" - } + "available": { + "type": "number", + "description": "Total available credit balance in USD", + "x-example": 5, + "format": "double" } }, "required": [ - "seats", - "projects" + "credits", + "total", + "available" ], "example": { - "seats": null, - "projects": null + "credits": 5, + "total": 5, + "available": 5 } }, - "billingPlanAddonDetails": { - "description": "BillingPlanAddonDetails", + "dedicatedDatabaseMetrics": { + "description": "DatabaseMetrics", "type": "object", "properties": { - "supported": { - "type": "boolean", - "description": "Is the addon supported in the plan?", - "x-example": true + "period": { + "type": "string", + "description": "Metrics aggregation period. Possible values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days), 30d (last 30 days).", + "x-example": "24h" }, - "planIncluded": { + "cpuPercent": { + "type": "number", + "description": "Average CPU usage percentage.", + "x-example": 45.2, + "format": "double" + }, + "memoryPercent": { + "type": "number", + "description": "Average memory usage percentage.", + "x-example": 62.1, + "format": "double" + }, + "memoryUsedBytes": { "type": "integer", - "description": "Addon plan included value", - "x-example": 1, + "description": "Memory used in bytes.", + "x-example": 536870912, "format": "int32" }, - "limit": { + "memoryMaxBytes": { "type": "integer", - "description": "Addon limit", - "x-example": 5, + "description": "Maximum memory available in bytes.", + "x-example": 1073741824, "format": "int32" }, - "type": { - "type": "string", - "description": "Addon type", - "x-example": "numeric" + "storageUsedBytes": { + "type": "integer", + "description": "Storage used in bytes.", + "x-example": 1073741824, + "format": "int32" }, - "currency": { - "type": "string", - "description": "Price currency", - "x-example": "USD" + "connectionsActive": { + "type": "integer", + "description": "Current active connections.", + "x-example": 15, + "format": "int32" }, - "price": { + "connectionsMax": { + "type": "integer", + "description": "Maximum connections configured.", + "x-example": 100, + "format": "int32" + }, + "iopsRead": { "type": "number", - "description": "Price", - "x-example": 5, + "description": "Average read IOPS.", + "x-example": 125.5, "format": "double" }, - "value": { - "type": "integer", - "description": "Resource value", - "x-example": 25, - "format": "int32" + "iopsWrite": { + "type": "number", + "description": "Average write IOPS.", + "x-example": 45.3, + "format": "double" }, - "invoiceDesc": { - "type": "string", - "description": "Description on invoice", - "x-example": "" + "qps": { + "type": "number", + "description": "Queries per second.", + "x-example": 230.7, + "format": "double" } }, "required": [ - "supported", - "planIncluded", - "limit", - "type", - "currency", - "price", - "value", - "invoiceDesc" + "period", + "cpuPercent", + "memoryPercent", + "memoryUsedBytes", + "memoryMaxBytes", + "storageUsedBytes", + "connectionsActive", + "connectionsMax", + "iopsRead", + "iopsWrite", + "qps" ], "example": { - "supported": true, - "planIncluded": 1, - "limit": 5, - "type": "numeric", - "currency": "USD", - "price": 5, - "value": 25, - "invoiceDesc": "" - } - }, - "billingPlanLimits": { - "description": "BillingPlanLimits", + "period": "24h", + "cpuPercent": 45.2, + "memoryPercent": 62.1, + "memoryUsedBytes": 536870912, + "memoryMaxBytes": 1073741824, + "storageUsedBytes": 1073741824, + "connectionsActive": 15, + "connectionsMax": 100, + "iopsRead": 125.5, + "iopsWrite": 45.3, + "qps": 230.7 + } + }, + "dedicatedDatabase": { + "description": "DedicatedDatabase", "type": "object", "properties": { - "credits": { + "$id": { + "type": "string", + "description": "Dedicated database ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Database creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Database update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "projectId": { + "type": "string", + "description": "Project ID that owns this database.", + "x-example": "5e5ea5c16897e" + }, + "name": { + "type": "string", + "description": "Database display name.", + "x-example": "My Production Database" + }, + "type": { + "type": "string", + "description": "Database type: shared (serverless) or dedicated (always-on).", + "x-example": "dedicated" + }, + "region": { + "type": "string", + "description": "Region identifier (e.g., fra, nyc, syd).", + "x-example": "fra" + }, + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres" + }, + "version": { + "type": "string", + "description": "Database engine version.", + "x-example": "16" + }, + "specification": { + "type": "string", + "description": "Specification identifier.", + "x-example": "starter" + }, + "backend": { + "type": "string", + "description": "Database backend provider. Possible values: prisma, edge.", + "x-example": "edge" + }, + "hostname": { + "type": "string", + "description": "Database hostname for connections.", + "x-example": "db-myproject-mydb.fra.appwrite.network" + }, + "connectionPort": { "type": "integer", - "description": "Credits limit per billing cycle", + "description": "Database port for connections.", + "x-example": 5432, + "format": "int32" + }, + "connectionUser": { + "type": "string", + "description": "Database username for connections.", + "x-example": "appwrite_user" + }, + "connectionPassword": { + "type": "string", + "description": "Database password for connections.", + "x-example": "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" + }, + "connectionString": { + "type": "string", + "description": "Full database connection string (URI format).", + "x-example": "postgresql:\/\/user:pass@db-myproject-mydb.fra.appwrite.network:5432\/postgres" + }, + "status": { + "type": "string", + "description": "Database status. Possible values: provisioning, ready, inactive, paused, failed, deleted, restoring, scaling.", + "x-example": "ready" + }, + "containerStatus": { + "type": "string", + "description": "Container status for shared databases: active or inactive.", + "x-example": "active" + }, + "lastAccessedAt": { + "type": "string", + "description": "Last activity timestamp in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "idleUntil": { + "type": "string", + "description": "Timestamp when container will be considered idle and scale to zero (ISO 8601 format).", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "idleTimeoutMinutes": { + "type": "integer", + "description": "Minutes of inactivity before container scales to zero.", + "x-example": 15, + "format": "int32" + }, + "cpu": { + "type": "integer", + "description": "CPU allocated in millicores.", + "x-example": 2000, + "format": "int32" + }, + "memory": { + "type": "integer", + "description": "Memory allocated in MB.", + "x-example": 4096, + "format": "int32" + }, + "storage": { + "type": "integer", + "description": "Storage allocated in GB.", "x-example": 100, - "format": "int32", - "nullable": true + "format": "int32" }, - "dailyCredits": { + "storageClass": { + "type": "string", + "description": "Storage class: ssd, nvme, or hdd.", + "x-example": "ssd" + }, + "storageMaxGb": { "type": "integer", - "description": "Daily credits limit (if applicable)", - "x-example": 5, - "format": "int32", - "nullable": true - } - }, - "example": { - "credits": 100, - "dailyCredits": 5 - } - }, - "billingPlanSupportedAddons": { - "description": "BillingPlanSupportedAddons", - "type": "object", - "properties": { - "baa": { + "description": "Maximum storage allowed in GB. 0 means use system default.", + "x-example": 100, + "format": "int32" + }, + "nodePool": { + "type": "string", + "description": "Kubernetes node pool where the database is scheduled.", + "x-example": "db-pool-4vcpu-8gb" + }, + "highAvailability": { "type": "boolean", - "description": "Whether the plan supports BAA (Business Associate Agreement) addon", + "description": "Whether high availability is enabled.", "x-example": true - } - }, - "required": [ - "baa" - ], - "example": { - "baa": true - } - }, - "billingLimits": { - "description": "BillingLimits", - "type": "object", - "properties": { - "bandwidth": { + }, + "highAvailabilityReplicaCount": { "type": "integer", - "description": "Bandwidth limit", - "x-example": 5, + "description": "Number of high availability replicas.", + "x-example": 2, "format": "int32" }, - "storage": { + "highAvailabilitySyncMode": { + "type": "string", + "description": "Replication sync mode: async, sync, or quorum.", + "x-example": "async" + }, + "networkMaxConnections": { "type": "integer", - "description": "Storage limit", - "x-example": 150, + "description": "Maximum concurrent connections.", + "x-example": 500, "format": "int32" }, - "users": { + "networkIdleTimeoutSeconds": { "type": "integer", - "description": "Users limit", - "x-example": 200000, + "description": "Connection idle timeout in seconds.", + "x-example": 900, "format": "int32" }, - "executions": { + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "items": { + "type": "string" + }, + "x-example": [ + "10.0.0.0\/8", + "192.168.1.0\/24" + ] + }, + "backupEnabled": { + "type": "boolean", + "description": "Whether automatic backups are enabled.", + "x-example": true + }, + "backupPitr": { + "type": "boolean", + "description": "Whether point-in-time recovery is enabled.", + "x-example": true + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": "0 3 * * *" + }, + "backupRetentionDays": { "type": "integer", - "description": "Executions limit", - "x-example": 750000, + "description": "Number of days to retain backups.", + "x-example": 30, "format": "int32" }, - "GBHours": { + "pitrRetentionDays": { "type": "integer", - "description": "GBHours limit", - "x-example": 100, + "description": "Number of days to retain PITR data.", + "x-example": 14, "format": "int32" }, - "imageTransformations": { + "storageAutoscaling": { + "type": "boolean", + "description": "Whether automatic storage expansion is enabled.", + "x-example": true + }, + "storageAutoscalingThresholdPercent": { "type": "integer", - "description": "Image transformations limit", - "x-example": 100, + "description": "Storage usage percentage that triggers automatic expansion.", + "x-example": 85, "format": "int32" }, - "authPhone": { + "storageAutoscalingMaxGb": { "type": "integer", - "description": "Auth phone limit", - "x-example": 10, + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 500, "format": "int32" }, - "budgetLimit": { + "maintenanceWindowDay": { + "type": "string", + "description": "Day of the week for the maintenance window. Possible values: sun, mon, tue, wed, thu, fri, sat.", + "x-example": "sun" + }, + "maintenanceWindowHourUtc": { "type": "integer", - "description": "Budget limit percentage", - "x-example": 100, + "description": "Hour in UTC (0-23) when the maintenance window starts.", + "x-example": 3, + "format": "int32" + }, + "metricsEnabled": { + "type": "boolean", + "description": "Whether metrics collection is enabled.", + "x-example": true + }, + "sqlApiEnabled": { + "type": "boolean", + "description": "Whether the SQL API sidecar is enabled for this database.", + "x-example": true + }, + "sqlApiAllowedStatements": { + "type": "array", + "description": "Statement types accepted by the SQL API. Allowed values: SELECT, INSERT, UPDATE, DELETE.", + "items": { + "type": "string" + }, + "x-example": "SELECT" + }, + "sqlApiMaxRows": { + "type": "integer", + "description": "Maximum rows returned per SQL API execution. Results larger than this are truncated.", + "x-example": 10000, "format": "int32" + }, + "sqlApiMaxBytes": { + "type": "integer", + "description": "Maximum serialised SQL API result payload in bytes. Results larger than this are truncated.", + "x-example": 10485760, + "format": "int32" + }, + "sqlApiTimeoutSeconds": { + "type": "integer", + "description": "Maximum server-side SQL API execution time in seconds before the query is cancelled.", + "x-example": 30, + "format": "int32" + }, + "error": { + "type": "string", + "description": "Error message if status is failed.", + "x-example": "" } }, "required": [ - "bandwidth", + "$id", + "$createdAt", + "$updatedAt", + "projectId", + "name", + "type", + "region", + "engine", + "version", + "specification", + "backend", + "hostname", + "connectionPort", + "connectionUser", + "connectionPassword", + "connectionString", + "status", + "containerStatus", + "lastAccessedAt", + "idleUntil", + "idleTimeoutMinutes", + "cpu", + "memory", "storage", - "users", - "executions", - "GBHours", - "imageTransformations", - "authPhone", - "budgetLimit" + "storageClass", + "storageMaxGb", + "nodePool", + "highAvailability", + "highAvailabilityReplicaCount", + "highAvailabilitySyncMode", + "networkMaxConnections", + "networkIdleTimeoutSeconds", + "networkIPAllowlist", + "backupEnabled", + "backupPitr", + "backupCron", + "backupRetentionDays", + "pitrRetentionDays", + "storageAutoscaling", + "storageAutoscalingThresholdPercent", + "storageAutoscalingMaxGb", + "maintenanceWindowDay", + "maintenanceWindowHourUtc", + "metricsEnabled", + "sqlApiEnabled", + "sqlApiAllowedStatements", + "sqlApiMaxRows", + "sqlApiMaxBytes", + "sqlApiTimeoutSeconds", + "error" ], "example": { - "bandwidth": 5, - "storage": 150, - "users": 200000, - "executions": 750000, - "GBHours": 100, - "imageTransformations": 100, - "authPhone": 10, - "budgetLimit": 100 + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "projectId": "5e5ea5c16897e", + "name": "My Production Database", + "type": "dedicated", + "region": "fra", + "engine": "postgres", + "version": "16", + "specification": "starter", + "backend": "edge", + "hostname": "db-myproject-mydb.fra.appwrite.network", + "connectionPort": 5432, + "connectionUser": "appwrite_user", + "connectionPassword": "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", + "connectionString": "postgresql:\/\/user:pass@db-myproject-mydb.fra.appwrite.network:5432\/postgres", + "status": "ready", + "containerStatus": "active", + "lastAccessedAt": "2020-10-15T06:38:00.000+00:00", + "idleUntil": "2020-10-15T06:38:00.000+00:00", + "idleTimeoutMinutes": 15, + "cpu": 2000, + "memory": 4096, + "storage": 100, + "storageClass": "ssd", + "storageMaxGb": 100, + "nodePool": "db-pool-4vcpu-8gb", + "highAvailability": true, + "highAvailabilityReplicaCount": 2, + "highAvailabilitySyncMode": "async", + "networkMaxConnections": 500, + "networkIdleTimeoutSeconds": 900, + "networkIPAllowlist": [ + "10.0.0.0\/8", + "192.168.1.0\/24" + ], + "backupEnabled": true, + "backupPitr": true, + "backupCron": "0 3 * * *", + "backupRetentionDays": 30, + "pitrRetentionDays": 14, + "storageAutoscaling": true, + "storageAutoscalingThresholdPercent": 85, + "storageAutoscalingMaxGb": 500, + "maintenanceWindowDay": "sun", + "maintenanceWindowHourUtc": 3, + "metricsEnabled": true, + "sqlApiEnabled": true, + "sqlApiAllowedStatements": "SELECT", + "sqlApiMaxRows": 10000, + "sqlApiMaxBytes": 10485760, + "sqlApiTimeoutSeconds": 30, + "error": "" + } + }, + "dedicatedDatabaseExecution": { + "description": "Execution", + "type": "object", + "properties": { + "rows": { + "type": "array", + "description": "Result rows as a list of column-name => value maps. Empty for non-returning statements.", + "items": { + "type": "object" + }, + "x-example": [ + { + "id": 1, + "name": "example" + } + ] + }, + "rowCount": { + "type": "integer", + "description": "Number of rows returned (for SELECT) or affected (for INSERT\/UPDATE\/DELETE).", + "x-example": 1, + "format": "int32" + }, + "columns": { + "type": "array", + "description": "Column metadata in result-set order.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseExecutionColumn" + }, + "x-example": [] + }, + "durationMs": { + "type": "integer", + "description": "Server-side execution time in milliseconds.", + "x-example": 12, + "format": "int32" + }, + "truncated": { + "type": "boolean", + "description": "True when the configured row or byte cap was hit and the result was truncated.", + "x-example": false + }, + "bytes": { + "type": "integer", + "description": "Serialised payload size in bytes.", + "x-example": 1024, + "format": "int32" + } + }, + "required": [ + "rows", + "rowCount", + "columns", + "durationMs", + "truncated", + "bytes" + ], + "example": { + "rows": [ + { + "id": 1, + "name": "example" + } + ], + "rowCount": 1, + "columns": [], + "durationMs": 12, + "truncated": false, + "bytes": 1024 } }, - "block": { - "description": "Block", + "dedicatedDatabaseExecutionColumn": { + "description": "ExecutionColumn", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Column name as returned by the database.", + "x-example": "id" + }, + "type": { + "type": "string", + "description": "Engine-specific column type (e.g. int4, text, timestamptz).", + "x-example": "int4" + } + }, + "required": [ + "name", + "type" + ], + "example": { + "name": "id", + "type": "int4" + } + }, + "dedicatedDatabaseRestoration": { + "description": "Restoration", "type": "object", "properties": { + "$id": { + "type": "string", + "description": "Restoration ID.", + "x-example": "5e5ea5c16897e" + }, "$createdAt": { "type": "string", - "description": "Block creation date in ISO 8601 format.", + "description": "Restoration creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "resourceType": { + "databaseId": { "type": "string", - "description": "Resource type that is blocked", - "x-example": "project" + "description": "Database ID being restored.", + "x-example": "5e5ea5c16897e" }, - "resourceId": { + "projectId": { "type": "string", - "description": "Resource identifier that is blocked", + "description": "Project ID.", "x-example": "5e5ea5c16897e" }, - "reason": { + "backupId": { "type": "string", - "description": "Reason for the block. Can be null if no reason was provided.", - "x-example": "Payment overdue", - "nullable": true + "description": "Backup ID used for restoration (null for PITR).", + "x-example": "5e5ea5c16897e" }, - "expiredAt": { + "type": { "type": "string", - "description": "Block expiration date in ISO 8601 format. Can be null if the block does not expire.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "nullable": true + "description": "Restoration type. Possible values: backup (restore from a specific backup snapshot), pitr (point-in-time recovery to a specific timestamp).", + "x-example": "backup" }, - "projectName": { + "status": { "type": "string", - "description": "Name of the project this block applies to.", - "x-example": "My Project" + "description": "Restoration status. Possible values: pending (queued for processing), running (currently in progress), completed (successfully finished), failed (encountered an error).", + "x-example": "completed" }, - "region": { + "targetTime": { "type": "string", - "description": "Region of the project this block applies to.", - "x-example": "fra" + "description": "Target time for PITR restoration in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "organizationName": { + "startedAt": { "type": "string", - "description": "Name of the organization that owns the project.", - "x-example": "Acme Inc." + "description": "Restoration start time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "organizationId": { + "completedAt": { "type": "string", - "description": "ID of the organization that owns the project.", - "x-example": "5e5ea5c16897e" + "description": "Restoration completion time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "billingPlan": { + "error": { "type": "string", - "description": "Billing plan of the organization that owns the project.", - "x-example": "pro" + "description": "Error message if restoration failed.", + "x-example": "" } }, "required": [ + "$id", "$createdAt", - "resourceType", - "resourceId", - "projectName", - "region", - "organizationName", - "organizationId", - "billingPlan" + "databaseId", + "projectId", + "backupId", + "type", + "status", + "targetTime", + "startedAt", + "completedAt", + "error" ], "example": { + "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", - "resourceType": "project", - "resourceId": "5e5ea5c16897e", - "reason": "Payment overdue", - "expiredAt": "2020-10-15T06:38:00.000+00:00", - "projectName": "My Project", - "region": "fra", - "organizationName": "Acme Inc.", - "organizationId": "5e5ea5c16897e", - "billingPlan": "pro" + "databaseId": "5e5ea5c16897e", + "projectId": "5e5ea5c16897e", + "backupId": "5e5ea5c16897e", + "type": "backup", + "status": "completed", + "targetTime": "2020-10-15T06:38:00.000+00:00", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "completedAt": "2020-10-15T06:38:00.000+00:00", + "error": "" } }, - "blockDelete": { - "description": "BlockDelete", + "databaseStatus": { + "description": "Status", "type": "object", "properties": { - "deleted": { + "health": { + "type": "string", + "description": "Overall health status: healthy, degraded, or unhealthy.", + "x-example": "healthy" + }, + "ready": { + "type": "boolean", + "description": "Whether the database is ready to accept connections.", + "x-example": true + }, + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres" + }, + "version": { + "type": "string", + "description": "Database engine version.", + "x-example": "17" + }, + "uptime": { "type": "integer", - "description": "Number of blocks deleted", - "x-example": 1, + "description": "Database uptime in seconds.", + "x-example": 86400, "format": "int32" }, - "blocks": { + "connections": { + "type": "object", + "description": "Connection statistics.", + "x-example": { + "current": 12, + "max": 100 + }, + "items": { + "$ref": "#\/components\/schemas\/databaseStatusConnections" + } + }, + "replicas": { "type": "array", - "description": "List of deleted blocks", + "description": "List of database replicas and their status.", "items": { - "$ref": "#\/components\/schemas\/block" + "$ref": "#\/components\/schemas\/databaseStatusReplica" }, - "x-example": [] + "x-example": [ + { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": null + }, + { + "index": 1, + "role": "replica", + "healthy": true, + "lagSeconds": 0.2 + } + ] + }, + "volumes": { + "type": "array", + "description": "Storage volume information.", + "items": { + "$ref": "#\/components\/schemas\/databaseStatusVolume" + }, + "x-example": { + "data": { + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true + } + } + } + }, + "required": [ + "health", + "ready", + "engine", + "version", + "uptime", + "connections", + "replicas", + "volumes" + ], + "example": { + "health": "healthy", + "ready": true, + "engine": "postgres", + "version": "17", + "uptime": 86400, + "connections": { + "current": 12, + "max": 100 + }, + "replicas": [ + { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": null + }, + { + "index": 1, + "role": "replica", + "healthy": true, + "lagSeconds": 0.2 + } + ], + "volumes": { + "data": { + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true + } } - }, - "required": [ - "deleted", - "blocks" - ], - "example": { - "deleted": 1, - "blocks": [] } }, - "campaign": { - "description": "Campaign", + "dnsRecord": { + "description": "DNSRecord", "type": "object", "properties": { "$id": { "type": "string", - "description": "Campaign ID", - "x-example": "" + "description": "DNS Record ID.", + "x-example": "5f40a6e10c65e" }, - "template": { + "$createdAt": { "type": "string", - "description": "Campaign template", - "x-example": "" + "description": "DNS Record creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "title": { + "$updatedAt": { "type": "string", - "description": "Campaign title", - "x-example": "" + "description": "DNS Record update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "description": { + "type": { "type": "string", - "description": "Campaign description", - "x-example": "" + "description": "DNS record type (e.g. A, CNAME, MX).", + "x-example": "A" }, - "plan": { + "name": { "type": "string", - "description": "Billing plan campaign is associated with", - "x-example": "", - "nullable": true + "description": "Record name or subdomain.", + "x-example": "mail" }, - "cta": { + "value": { "type": "string", - "description": "Campaign CTA", - "x-example": "", - "nullable": true + "description": "Value of the record (IP address, domain, etc.).", + "x-example": "192.0.2.1" }, - "claimed": { - "type": "string", - "description": "Campaign info when claimed", - "x-example": "", - "nullable": true + "ttl": { + "type": "integer", + "description": "Time to live (in seconds).", + "x-example": 86400, + "format": "int32" }, - "unclaimed": { - "type": "string", - "description": "Campaign infor when unclaimed", - "x-example": "", - "nullable": true + "priority": { + "type": "integer", + "description": "Record priority (commonly used for MX).", + "x-example": 10, + "format": "int32" }, - "image": { - "type": "object", - "description": "Campaign images", - "x-example": "", - "nullable": true + "lock": { + "type": "boolean", + "description": "Whether this record is locked (read-only).", + "x-example": false }, - "reviews": { - "type": "array", - "description": "Campaign reviews", - "items": { - "$ref": "#\/components\/schemas\/review" - }, - "x-example": "", - "nullable": true + "weight": { + "type": "integer", + "description": "Record weight (used for SRV records).", + "x-example": 10, + "format": "int32" }, - "onlyNewOrgs": { - "type": "boolean", - "description": "Campaign valid only for new orgs.", - "x-example": "", - "nullable": true + "port": { + "type": "integer", + "description": "Target port (used for SRV records).", + "x-example": 443, + "format": "int32" }, - "footer": { - "type": "boolean", - "description": "Is footer", - "x-example": "", - "nullable": true + "comment": { + "type": "string", + "description": "Comment for the DNS record.", + "x-example": "Mail server record" } }, "required": [ "$id", - "template", - "title", - "description" + "$createdAt", + "$updatedAt", + "type", + "name", + "value", + "ttl", + "priority", + "lock", + "weight", + "port", + "comment" ], "example": { - "$id": "", - "template": "", - "title": "", - "description": "", - "plan": "", - "cta": "", - "claimed": "", - "unclaimed": "", - "image": "", - "reviews": "", - "onlyNewOrgs": "", - "footer": "" + "$id": "5f40a6e10c65e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "type": "A", + "name": "mail", + "value": "192.0.2.1", + "ttl": 86400, + "priority": 10, + "lock": false, + "weight": 10, + "port": 443, + "comment": "Mail server record" } }, - "program": { - "description": "Program", + "domain": { + "description": "Domain", "type": "object", "properties": { "$id": { "type": "string", - "description": "Program ID", - "x-example": "" + "description": "Domain ID.", + "x-example": "5e5ea5c16897e" }, - "title": { + "$createdAt": { "type": "string", - "description": "Program title", - "x-example": "" + "description": "Domain creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "description": { + "$updatedAt": { "type": "string", - "description": "Program description", - "x-example": "" + "description": "Domain update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "tag": { + "domain": { "type": "string", - "description": "Program tag for highlighting on console", - "x-example": null + "description": "Domain name.", + "x-example": "example.com" }, - "icon": { + "registrar": { "type": "string", - "description": "Program icon for highlighting on console", - "x-example": null + "description": "Domain registrar (e.g. \"appwrite\" or \"third_party\").", + "x-example": "appwrite" }, - "url": { + "nameservers": { "type": "string", - "description": "URL for more information on this program", - "x-example": "" + "description": "Nameservers setting. \"Appwrite\" or empty string.", + "x-example": "Appwrite" }, - "active": { - "type": "boolean", - "description": "Whether this program is active", - "x-example": false + "expire": { + "type": "string", + "description": "Domain expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "external": { + "renewal": { + "type": "string", + "description": "Domain renewal date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "autoRenewal": { "type": "boolean", - "description": "Whether this program is external", - "x-example": false + "description": "If set to true, the domain will automatically renew.", + "x-example": true }, - "billingPlanId": { + "renewalPrice": { + "type": "integer", + "description": "Renewal price (in cents).", + "x-example": 2599, + "format": "int32" + }, + "transferStatus": { "type": "string", - "description": "Billing plan ID that this is program is associated with.", - "x-example": "" + "description": "Transfer status for domains being transferred in.", + "x-example": "pending_registry", + "enum": [ + "transferrable", + "not_transferrable", + "pending_owner", + "pending_admin", + "pending_registry", + "completed", + "cancelled", + "service_unavailable" + ], + "x-enum-name": "DomainTransferStatusEnum" + }, + "teamId": { + "type": "string", + "description": "Team ID.", + "x-example": "5e5ea5c16897e" + }, + "dnsRecords": { + "type": "array", + "description": "Dns records", + "items": { + "$ref": "#\/components\/schemas\/dnsRecord" + }, + "x-example": [] } }, "required": [ "$id", - "title", - "description", - "tag", - "icon", - "url", - "active", - "external", - "billingPlanId" + "$createdAt", + "$updatedAt", + "domain", + "registrar", + "nameservers", + "expire", + "renewal", + "autoRenewal", + "renewalPrice", + "transferStatus", + "teamId", + "dnsRecords" ], "example": { - "$id": "", - "title": "", - "description": "", - "tag": null, - "icon": null, - "url": "", - "active": false, - "external": false, - "billingPlanId": "" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "domain": "example.com", + "registrar": "appwrite", + "nameservers": "Appwrite", + "expire": "2020-10-15T06:38:00.000+00:00", + "renewal": "2020-10-15T06:38:00.000+00:00", + "autoRenewal": true, + "renewalPrice": 2599, + "transferStatus": "pending_registry", + "teamId": "5e5ea5c16897e", + "dnsRecords": [] } }, - "coupon": { - "description": "Coupon", + "domainPrice": { + "description": "DomainPrice", "type": "object", "properties": { - "$id": { + "domain": { "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" + "description": "Domain name.", + "x-example": "example.com" }, - "code": { + "tld": { "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" + "description": "Top-level domain for the requested domain.", + "x-example": "com" }, - "credits": { + "available": { + "type": "boolean", + "description": "Whether the domain is currently available for registration.", + "x-example": true + }, + "price": { "type": "number", - "description": "Provided credit amount", - "x-example": 50, + "description": "Domain registration price.", + "x-example": 25.99, "format": "double" }, - "expiration": { - "type": "string", - "description": "Coupon expiration time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "validity": { + "periodYears": { "type": "integer", - "description": "Credit validity in days.", - "x-example": 180, + "description": "Price period in years.", + "x-example": 1, "format": "int32" }, - "campaign": { - "type": "string", - "description": "Campaign the coupon is associated with`.", - "x-example": "AppwriteHeroes" - }, - "status": { - "type": "string", - "description": "Status of the coupon. Can be one of `disabled`, `active` or `expired`.", - "x-example": "disabled" - }, - "onlyNewOrgs": { + "premium": { "type": "boolean", - "description": "If the coupon is only valid for new organizations or not.", - "x-example": true + "description": "Whether the domain is a premium domain.", + "x-example": false } }, "required": [ - "$id", - "code", - "credits", - "expiration", - "validity", - "campaign", - "status", - "onlyNewOrgs" + "domain", + "tld", + "available", + "price", + "periodYears", + "premium" ], "example": { - "$id": "NEWBONUS", - "code": "NEWBONUS", - "credits": 50, - "expiration": "2020-10-15T06:38:00.000+00:00", - "validity": 180, - "campaign": "AppwriteHeroes", - "status": "disabled", - "onlyNewOrgs": true + "domain": "example.com", + "tld": "com", + "available": true, + "price": 25.99, + "periodYears": 1, + "premium": false } }, - "credit": { - "description": "Credit", + "domainPurchase": { + "description": "DomainPurchase", "type": "object", "properties": { "$id": { "type": "string", - "description": "Credit ID.", + "description": "Purchase\/invoice ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Credit creation time in ISO 8601 format.", + "description": "Purchase creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Credit update date in ISO 8601 format.", + "description": "Purchase update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$permissions": { - "type": "array", - "description": "Credit permissions. [Learn more about permissions](\/docs\/permissions).", - "items": { - "type": "string" - }, - "x-example": [ - "read(\"any\")" - ] + "domainId": { + "type": "string", + "description": "Domain document ID.", + "x-example": "5e5ea5c16897e" }, - "couponId": { + "domain": { "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" + "description": "Domain name.", + "x-example": "example.com" }, - "userId": { + "organizationId": { "type": "string", - "description": "ID of the User.", + "description": "Team ID that owns the domain.", "x-example": "5e5ea5c16897e" }, - "teamId": { + "status": { "type": "string", - "description": "ID of the Team.", - "x-example": "5e5ea5c16897e" + "description": "Domain purchase status.", + "x-example": "pending", + "enum": [ + "pending", + "succeeded", + "failed", + "cancelled" + ], + "x-enum-name": "DomainPurchaseStatus" }, - "credits": { - "type": "number", - "description": "Provided credit amount", - "x-example": 50, - "format": "double" + "clientSecret": { + "type": "string", + "description": "Stripe client secret for 3DS; empty when not applicable.", + "x-example": "" }, - "total": { + "amount": { "type": "number", - "description": "Provided credit amount", - "x-example": 50, + "description": "Purchase amount.", + "x-example": 25.99, "format": "double" }, - "expiration": { - "type": "string", - "description": "Credit expiration time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "status": { + "currency": { "type": "string", - "description": "Status of the credit. Can be one of `disabled`, `active` or `expired`.", - "x-example": "disabled" + "description": "Currency code.", + "x-example": "USD" } }, "required": [ "$id", "$createdAt", "$updatedAt", - "$permissions", - "couponId", - "userId", - "teamId", - "credits", - "total", - "expiration", - "status" + "domainId", + "domain", + "organizationId", + "status", + "clientSecret", + "amount", + "currency" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "couponId": "NEWBONUS", - "userId": "5e5ea5c16897e", - "teamId": "5e5ea5c16897e", - "credits": 50, - "total": 50, - "expiration": "2020-10-15T06:38:00.000+00:00", - "status": "disabled" + "domainId": "5e5ea5c16897e", + "domain": "example.com", + "organizationId": "5e5ea5c16897e", + "status": "pending", + "clientSecret": "", + "amount": 25.99, + "currency": "USD" } }, - "creditAvailable": { - "description": "CreditAvailable", + "domainSuggestion": { + "description": "DomainSuggestion", "type": "object", "properties": { + "domain": { + "type": "string", + "description": "Domain suggestion.", + "x-example": "example.com" + }, + "premium": { + "type": "boolean", + "description": "Is the domain premium?", + "x-example": true + }, + "price": { + "type": "number", + "description": "Domain price.", + "x-example": 25.99, + "format": "double", + "nullable": true + }, "available": { - "type": "integer", - "description": "Total available credits for the organization.", - "x-example": 100, - "format": "int32" + "type": "boolean", + "description": "Is the domain available?", + "x-example": true + } + }, + "required": [ + "domain", + "premium", + "available" + ], + "example": { + "domain": "example.com", + "premium": true, + "price": 25.99, + "available": true + } + }, + "domainTransferOut": { + "description": "domainTransferOut", + "type": "object", + "properties": { + "authCode": { + "type": "string", + "description": "Domain transfer authorization code.", + "x-example": "mock_1a2b3c4d" } }, "required": [ - "available" + "authCode" ], "example": { - "available": 100 + "authCode": "mock_1a2b3c4d" } }, - "creditList": { - "description": "CreditList", + "domainTransferStatus": { + "description": "domainTransferStatus", "type": "object", "properties": { - "credits": { - "type": "array", - "description": "Credits", - "items": { - "$ref": "#\/components\/schemas\/credit" - }, - "x-example": 5 + "status": { + "type": "string", + "description": "Transfer status.", + "x-example": "pending_registry", + "enum": [ + "transferrable", + "not_transferrable", + "pending_owner", + "pending_admin", + "pending_registry", + "completed", + "cancelled", + "service_unavailable" + ], + "x-enum-name": "DomainTransferStatusEnum" }, - "total": { - "type": "integer", - "description": "Total number of credits", - "x-example": 5, - "format": "int32" + "reason": { + "type": "string", + "description": "Additional transfer status information.", + "x-example": "Transfer in progress" }, - "available": { - "type": "number", - "description": "Total available credit balance in USD", - "x-example": 5, - "format": "double" + "timestamp": { + "type": "string", + "description": "Transfer status timestamp in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" } }, "required": [ - "credits", - "total", - "available" + "status", + "reason", + "timestamp" ], "example": { - "credits": 5, - "total": 5, - "available": 5 + "status": "pending_registry", + "reason": "Transfer in progress", + "timestamp": "2020-10-15T06:38:00.000+00:00" } }, "downgradeFeedback": { @@ -95629,6 +102481,387 @@ "version": "1.8.0" } }, + "estimation": { + "description": "Estimation", + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "Total amount", + "x-example": 50, + "format": "double" + }, + "grossAmount": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" + }, + "discount": { + "type": "number", + "description": "Discount amount", + "x-example": 50, + "format": "double" + }, + "credits": { + "type": "number", + "description": "Credits amount", + "x-example": 50, + "format": "double" + }, + "items": { + "type": "array", + "description": "Estimation items", + "items": { + "$ref": "#\/components\/schemas\/estimation_item" + }, + "x-example": [] + }, + "discounts": { + "type": "array", + "description": "Estimation discount items", + "items": { + "$ref": "#\/components\/schemas\/estimation_item" + }, + "x-example": [] + }, + "trialDays": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" + }, + "trialEndDate": { + "type": "string", + "description": "Trial end date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + } + }, + "required": [ + "amount", + "grossAmount", + "discount", + "credits", + "items", + "discounts", + "trialDays" + ], + "example": { + "amount": 50, + "grossAmount": 50, + "discount": 50, + "credits": 50, + "items": [], + "discounts": [], + "trialDays": 14, + "trialEndDate": "2020-10-15T06:38:00.000+00:00" + } + }, + "estimationDeleteOrganization": { + "description": "DeleteOrganization", + "type": "object", + "properties": { + "unpaidInvoices": { + "type": "array", + "description": "List of unpaid invoices", + "items": { + "$ref": "#\/components\/schemas\/invoice" + }, + "x-example": [] + } + }, + "required": [ + "unpaidInvoices" + ], + "example": { + "unpaidInvoices": [] + } + }, + "estimation_item": { + "description": "Item", + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label", + "x-example": "Plan name" + }, + "value": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" + } + }, + "required": [ + "label", + "value" + ], + "example": { + "label": "Plan name", + "value": 50 + } + }, + "estimationPlanChange": { + "description": "EstimationPlanChange", + "type": "object", + "properties": { + "currentBillingPlanId": { + "type": "string", + "description": "Current billing plan ID", + "x-example": "tier-2" + }, + "targetBillingPlanId": { + "type": "string", + "description": "Target billing plan ID", + "x-example": "tier-0" + }, + "direction": { + "type": "string", + "description": "Direction of plan change: upgrade, downgrade, or same", + "x-example": "downgrade" + }, + "estimation": { + "type": "object", + "description": "Cost estimation details", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/planChangeEstimationDetails" + } + }, + "limits": { + "type": "object", + "description": "Plan limits and compliance information", + "x-example": null, + "items": { + "$ref": "#\/components\/schemas\/planChangeLimits" + } + } + }, + "required": [ + "currentBillingPlanId", + "targetBillingPlanId", + "direction", + "estimation", + "limits" + ], + "example": { + "currentBillingPlanId": "tier-2", + "targetBillingPlanId": "tier-0", + "direction": "downgrade", + "estimation": null, + "limits": null + } + }, + "estimationUpdatePlan": { + "description": "UpdatePlan", + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "Total amount", + "x-example": 50, + "format": "double" + }, + "grossAmount": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" + }, + "discount": { + "type": "number", + "description": "Discount amount", + "x-example": 50, + "format": "double" + }, + "credits": { + "type": "number", + "description": "Credits amount", + "x-example": 50, + "format": "double" + }, + "items": { + "type": "array", + "description": "Estimation items", + "items": { + "$ref": "#\/components\/schemas\/estimation_item" + }, + "x-example": [] + }, + "discounts": { + "type": "array", + "description": "Estimation discount items", + "items": { + "$ref": "#\/components\/schemas\/estimation_item" + }, + "x-example": [] + }, + "trialDays": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" + }, + "trialEndDate": { + "type": "string", + "description": "Trial end date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "organizationCredits": { + "type": "number", + "description": "Organization's existing credits", + "x-example": 0, + "format": "double" + } + }, + "required": [ + "amount", + "grossAmount", + "discount", + "credits", + "items", + "discounts", + "trialDays", + "organizationCredits" + ], + "example": { + "amount": 50, + "grossAmount": 50, + "discount": 50, + "credits": 50, + "items": [], + "discounts": [], + "trialDays": 14, + "trialEndDate": "2020-10-15T06:38:00.000+00:00", + "organizationCredits": 0 + } + }, + "dedicatedDatabaseExtensions": { + "description": "Extensions", + "type": "object", + "properties": { + "installed": { + "type": "array", + "description": "List of installed extensions.", + "items": { + "type": "string" + }, + "x-example": [ + "pgvector", + "uuid-ossp" + ] + }, + "available": { + "type": "array", + "description": "List of available extensions that can be installed.", + "items": { + "type": "string" + }, + "x-example": [ + "postgis", + "pg_trgm" + ] + } + }, + "required": [ + "installed", + "available" + ], + "example": { + "installed": [ + "pgvector", + "uuid-ossp" + ], + "available": [ + "postgis", + "pg_trgm" + ] + } + }, + "dedicatedDatabaseHAReplica": { + "description": "HAReplica", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Replica identifier.", + "x-example": "replica-1" + }, + "role": { + "type": "string", + "description": "Replica role. Possible values: primary (accepts reads and writes), replica (read-only follower).", + "x-example": "replica" + }, + "status": { + "type": "string", + "description": "Replica health status. Possible values: healthy (fully synced), degraded (lagging behind primary), unhealthy (replication broken or unreachable).", + "x-example": "healthy" + }, + "lagSeconds": { + "type": "number", + "description": "Replication lag in seconds.", + "x-example": 0.5, + "format": "double" + } + }, + "required": [ + "$id", + "role", + "status", + "lagSeconds" + ], + "example": { + "$id": "replica-1", + "role": "replica", + "status": "healthy", + "lagSeconds": 0.5 + } + }, + "dedicatedDatabaseHAStatus": { + "description": "HAStatus", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether high availability is enabled.", + "x-example": true + }, + "replicaCount": { + "type": "integer", + "description": "Number of configured replicas.", + "x-example": 2, + "format": "int32" + }, + "syncMode": { + "type": "string", + "description": "Replication sync mode. Possible values: async (asynchronous, fastest), sync (synchronous, strong consistency), quorum (quorum-based, majority of replicas must confirm).", + "x-example": "async" + }, + "replicas": { + "type": "array", + "description": "List of replica statuses.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseHAReplica" + }, + "x-example": [] + } + }, + "required": [ + "enabled", + "replicaCount", + "syncMode", + "replicas" + ], + "example": { + "enabled": true, + "replicaCount": 2, + "syncMode": "async", + "replicas": [] + } + }, "invoice": { "description": "Invoice", "type": "object", @@ -95991,7 +103224,8 @@ "x-example": "", "items": { "$ref": "#\/components\/schemas\/billingLimits" - } + }, + "nullable": true }, "billingPlanDowngrade": { "type": "string", @@ -96052,7 +103286,6 @@ "programManagerCalendar", "programDiscordChannelName", "programDiscordChannelUrl", - "billingLimits", "billingPlanDowngrade", "billingTaxId", "markedForDeletion", @@ -96249,1205 +103482,1240 @@ "description": "True when it's the default payment method.", "x-example": false }, - "expired": { - "type": "boolean", - "description": "True when payment method has expired.", - "x-example": false - }, - "failed": { - "type": "boolean", - "description": "True when payment method has failed to process multiple times.", - "x-example": false - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "providerMethodId", - "clientSecret", - "providerUserId", - "userId", - "expiryMonth", - "expiryYear", - "last4", - "brand", - "name", - "mandateId", - "country", - "state", - "lastError", - "default", - "expired", - "failed" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "providerMethodId": "abdk3ed3sdkfj", - "clientSecret": "seti_ddfe", - "providerUserId": "abdk3ed3sdkfj", - "userId": "5e5ea5c16897e", - "expiryMonth": 2, - "expiryYear": 2024, - "last4": "4242", - "brand": "visa", - "name": "John Doe", - "mandateId": "yxc", - "country": "de", - "state": "", - "lastError": "Your card has insufficient funds.", - "default": false, - "expired": false, - "failed": false - } - }, - "backupPolicy": { - "description": "backup", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Backup policy ID.", - "x-example": "5e5ea5c16897e" - }, - "name": { - "type": "string", - "description": "Backup policy name.", - "x-example": "Hourly backups" - }, - "$createdAt": { - "type": "string", - "description": "Policy creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Policy update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "services": { - "type": "array", - "description": "The services that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" - }, - "resources": { - "type": "array", - "description": "The resources that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" - }, - "resourceId": { - "type": "string", - "description": "The resource ID to backup. Set only if this policy should backup a single resource.", - "x-example": "DB1", - "nullable": true - }, - "resourceType": { - "type": "string", - "description": "The resource type to backup. Set only if this policy should backup a single resource.", - "x-example": "database", - "nullable": true - }, - "retention": { - "type": "integer", - "description": "How many days to keep the backup before it will be automatically deleted.", - "x-example": 7, - "format": "int32" - }, - "schedule": { - "type": "string", - "description": "Policy backup schedule in CRON format.", - "x-example": "0 * * * *" + "expired": { + "type": "boolean", + "description": "True when payment method has expired.", + "x-example": false }, - "enabled": { + "failed": { "type": "boolean", - "description": "Is this policy enabled.", - "x-example": true + "description": "True when payment method has failed to process multiple times.", + "x-example": false } }, "required": [ "$id", - "name", "$createdAt", "$updatedAt", - "services", - "resources", - "retention", - "schedule", - "enabled" + "$permissions", + "providerMethodId", + "clientSecret", + "providerUserId", + "userId", + "expiryMonth", + "expiryYear", + "last4", + "brand", + "name", + "mandateId", + "country", + "state", + "lastError", + "default", + "expired", + "failed" ], "example": { "$id": "5e5ea5c16897e", - "name": "Hourly backups", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "resourceId": "DB1", - "resourceType": "database", - "retention": 7, - "schedule": "0 * * * *", - "enabled": true + "$permissions": [ + "read(\"any\")" + ], + "providerMethodId": "abdk3ed3sdkfj", + "clientSecret": "seti_ddfe", + "providerUserId": "abdk3ed3sdkfj", + "userId": "5e5ea5c16897e", + "expiryMonth": 2, + "expiryYear": 2024, + "last4": "4242", + "brand": "visa", + "name": "John Doe", + "mandateId": "yxc", + "country": "de", + "state": "", + "lastError": "Your card has insufficient funds.", + "default": false, + "expired": false, + "failed": false } }, - "consoleRegion": { - "description": "Region", + "dedicatedDatabasePerformanceInsights": { + "description": "PerformanceInsights", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Region ID", - "x-example": "eu-fr" - }, - "name": { - "type": "string", - "description": "Region name", - "x-example": "EU (Frankfurt)" + "topQueries": { + "type": "array", + "description": "Top queries by total execution time.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabasePerformanceInsightsQuery" + }, + "x-example": [] }, - "available": { - "type": "boolean", - "description": "Does the organization have access to this region.", - "x-example": false + "waitEvents": { + "type": "array", + "description": "Active wait events.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabasePerformanceInsightsWaitEvent" + }, + "x-example": [] }, - "disabled": { - "type": "boolean", - "description": "Does the backend support this region.", - "x-example": false + "totalCalls": { + "type": "integer", + "description": "Total number of query calls.", + "x-example": 150000, + "format": "int32" }, - "default": { - "type": "boolean", - "description": "Is this the region default.", - "x-example": true + "totalTimeMs": { + "type": "number", + "description": "Total query execution time in milliseconds.", + "x-example": 85432.12, + "format": "double" }, - "flag": { - "type": "string", - "description": "Region flag code.", - "x-example": "fr" + "avgTimeMs": { + "type": "number", + "description": "Average query execution time in milliseconds.", + "x-example": 0.57, + "format": "double" } }, "required": [ - "$id", - "name", - "available", - "disabled", - "default", - "flag" + "topQueries", + "waitEvents", + "totalCalls", + "totalTimeMs", + "avgTimeMs" ], "example": { - "$id": "eu-fr", - "name": "EU (Frankfurt)", - "available": false, - "disabled": false, - "default": true, - "flag": "fr" + "topQueries": [], + "waitEvents": [], + "totalCalls": 150000, + "totalTimeMs": 85432.12, + "avgTimeMs": 0.57 } }, - "backupRestoration": { - "description": "Restoration", + "dedicatedDatabasePerformanceInsightsQuery": { + "description": "PerformanceInsightsQuery", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Restoration ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Restoration creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Restoration update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "archiveId": { - "type": "string", - "description": "Backup archive ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "policyId": { - "type": "string", - "description": "Backup policy ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "status": { - "type": "string", - "description": "The status of the restoration. Possible values: pending, downloading, processing, completed, failed.", - "x-example": "completed" - }, - "startedAt": { + "query": { "type": "string", - "description": "The backup start time.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "The SQL query text.", + "x-example": "SELECT * FROM users WHERE email = $1" }, - "migrationId": { - "type": "string", - "description": "Migration ID.", - "x-example": "did8jx6ws45jana098ab7" + "calls": { + "type": "integer", + "description": "Number of times this query has been executed.", + "x-example": 42, + "format": "int32" }, - "services": { - "type": "array", - "description": "The services that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" + "totalTimeMs": { + "type": "number", + "description": "Total execution time in milliseconds.", + "x-example": 1523.4, + "format": "double" }, - "resources": { - "type": "array", - "description": "The resources that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" + "meanTimeMs": { + "type": "number", + "description": "Mean execution time in milliseconds.", + "x-example": 36.27, + "format": "double" }, - "options": { - "type": "string", - "description": "Optional data in key-value object. ", - "x-example": "{databases.database[{oldId, newId, newName}]}" + "rows": { + "type": "integer", + "description": "Total rows returned or affected.", + "x-example": 1250, + "format": "int32" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "archiveId", - "policyId", - "status", - "startedAt", - "migrationId", - "services", - "resources", - "options" + "query", + "calls", + "totalTimeMs", + "meanTimeMs", + "rows" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "archiveId": "did8jx6ws45jana098ab7", - "policyId": "did8jx6ws45jana098ab7", - "status": "completed", - "startedAt": "2020-10-15T06:38:00.000+00:00", - "migrationId": "did8jx6ws45jana098ab7", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "options": "{databases.database[{oldId, newId, newName}]}" + "query": "SELECT * FROM users WHERE email = $1", + "calls": 42, + "totalTimeMs": 1523.4, + "meanTimeMs": 36.27, + "rows": 1250 } }, - "review": { - "description": "Review", + "dedicatedDatabasePerformanceInsightsWaitEvent": { + "description": "PerformanceInsightsWaitEvent", "type": "object", "properties": { - "name": { + "event": { "type": "string", - "description": "Name of user", - "x-example": "" + "description": "Wait event name.", + "x-example": "DataFileRead" }, - "image": { + "type": { "type": "string", - "description": "Reviewer image", - "x-example": "" + "description": "Wait event type or category.", + "x-example": "IO" }, - "description": { - "type": "string", - "description": "Reviewer description", - "x-example": "" + "count": { + "type": "integer", + "description": "Number of occurrences.", + "x-example": 15, + "format": "int32" }, - "review": { - "type": "string", - "description": "Review", - "x-example": "" + "totalWaitMs": { + "type": "number", + "description": "Total wait time in milliseconds.", + "x-example": 234.5, + "format": "double" } }, "required": [ - "name", - "image", - "description", - "review" + "event", + "type", + "count", + "totalWaitMs" ], "example": { - "name": "", - "image": "", - "description": "", - "review": "" + "event": "DataFileRead", + "type": "IO", + "count": 15, + "totalWaitMs": 234.5 } }, - "roles": { - "description": "Roles", + "dedicatedDatabasePITRWindows": { + "description": "PITRWindows", "type": "object", "properties": { - "scopes": { - "type": "array", - "description": "Array of scopes accessible to current user.", - "items": { - "type": "string" - }, - "x-example": "users.read" + "earliest": { + "type": "string", + "description": "Earliest available recovery point.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "roles": { - "type": "array", - "description": "Array of roles assigned to current user.", - "items": { - "type": "string" - }, - "x-example": "developer" + "latest": { + "type": "string", + "description": "Latest available recovery point.", + "x-example": "2020-10-15T06:38:00.000+00:00" } }, "required": [ - "scopes", - "roles" + "earliest", + "latest" ], "example": { - "scopes": "users.read", - "roles": "developer" + "earliest": "2020-10-15T06:38:00.000+00:00", + "latest": "2020-10-15T06:38:00.000+00:00" } }, - "usageOrganization": { - "description": "UsageOrganization", + "planChangeEstimationDetails": { + "description": "PlanChangeEstimationDetails", "type": "object", "properties": { - "bandwidth": { - "type": "array", - "description": "Aggregated stats for number of requests.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "currency": { + "type": "string", + "description": "Currency code", + "x-example": "USD" }, - "users": { - "type": "array", - "description": "Aggregated stats for consumed bandwidth.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "grossAmount": { + "type": "number", + "description": "Gross amount after all discounts and credits", + "x-example": 15, + "format": "double" }, - "executions": { - "type": "array", - "description": "Aggregated stats for function executions.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "credits": { + "type": "number", + "description": "Credits applied from coupon", + "x-example": 0, + "format": "double" }, - "databasesReads": { - "type": "array", - "description": "Aggregated stats for database reads.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "organizationCredits": { + "type": "number", + "description": "Organization's existing credits applied", + "x-example": 5, + "format": "double" }, - "databasesWrites": { - "type": "array", - "description": "Aggregated stats for database writes.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "discount": { + "type": "number", + "description": "Discount amount from prorated invoices", + "x-example": 0, + "format": "double" }, - "imageTransformations": { - "type": "array", - "description": "Aggregated stats for file transformations.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "amount": { + "type": "number", + "description": "Total amount before discounts and credits", + "x-example": 20, + "format": "double" }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "nextInvoiceDate": { + "type": "string", + "description": "Next invoice date", + "x-example": "2025-12-01T00:00:00.000Z" }, - "screenshotsGenerated": { + "items": { "type": "array", - "description": "Aggregated stats for file transformations.", + "description": "Line items breakdown", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "object" }, - "x-example": [] - }, - "screenshotsGeneratedTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "x-example": [ + { + "label": "Starter plan", + "value": 0 + }, + { + "label": "Additional seats", + "value": 10 + } + ] }, - "imagineCredits": { + "discounts": { "type": "array", - "description": "Aggregated stats for imagine credits.", + "description": "Applied discounts breakdown", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "object" }, - "x-example": [] - }, - "imagineCreditsTotal": { - "type": "integer", - "description": "Aggregated stats for total imagine credits.", - "x-example": 0, - "format": "int32" - }, - "usersTotal": { - "type": "integer", - "description": "Aggregated stats for total users.", - "x-example": 0, - "format": "int32" - }, - "executionsTotal": { - "type": "integer", - "description": "Aggregated stats for total executions.", - "x-example": 0, - "format": "int32" - }, - "executionsMBSecondsTotal": { - "type": "integer", - "description": "Aggregated stats for function executions in mb seconds.", - "x-example": 0, - "format": "int32" - }, - "buildsMBSecondsTotal": { - "type": "integer", - "description": "Aggregated stats for function builds in mb seconds.", - "x-example": 0, - "format": "int32" - }, - "filesStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total file storage.", - "x-example": 0, - "format": "int32" - }, - "buildsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total builds storage.", - "x-example": 0, - "format": "int32" - }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total deployments storage.", - "x-example": 0, - "format": "int32" - }, - "databasesStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total databases storage.", - "x-example": 0, - "format": "int32" - }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" - }, - "databasesWritesTotal": { - "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, - "format": "int32" - }, - "backupsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total backups storage.", - "x-example": 0, - "format": "int32" - }, - "storageTotal": { - "type": "integer", - "description": "Aggregated stats for total storage.", - "x-example": 0, - "format": "int32" - }, - "authPhoneTotal": { + "x-example": [ + { + "label": "Organization credits", + "value": 5 + } + ] + } + }, + "required": [ + "currency", + "grossAmount", + "credits", + "organizationCredits", + "discount", + "amount", + "nextInvoiceDate", + "items", + "discounts" + ], + "example": { + "currency": "USD", + "grossAmount": 15, + "credits": 0, + "organizationCredits": 5, + "discount": 0, + "amount": 20, + "nextInvoiceDate": "2025-12-01T00:00:00.000Z", + "items": [ + { + "label": "Starter plan", + "value": 0 + }, + { + "label": "Additional seats", + "value": 10 + } + ], + "discounts": [ + { + "label": "Organization credits", + "value": 5 + } + ] + } + }, + "planChangeLimits": { + "description": "PlanChangeLimits", + "type": "object", + "properties": { + "totalProjects": { "type": "integer", - "description": "Aggregated stats for total auth phone.", - "x-example": 0, + "description": "Total number of projects in the organization", + "x-example": 5, "format": "int32" }, - "authPhoneEstimate": { + "nonCompliantProjects": { "type": "integer", - "description": "Aggregated stats for total auth phone estimation.", - "x-example": 0, + "description": "Number of projects exceeding target plan limits", + "x-example": 2, "format": "int32" }, + "canChangePlan": { + "type": "boolean", + "description": "Whether the plan change is allowed", + "x-example": false + }, "projects": { "type": "array", - "description": "Aggregated stats for each projects.", + "description": "Project compliance details", "items": { - "$ref": "#\/components\/schemas\/usageOrganizationProject" + "$ref": "#\/components\/schemas\/planChangeProjectCompliance" }, "x-example": [] }, - "realtimeConnections": { + "unsupportedAddons": { "type": "array", - "description": "Aggregated stats for realtime connections.", + "description": "Active addon keys that the target plan does not support. When non-empty, `canChangePlan` is false.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "baa" + ] + } + }, + "required": [ + "totalProjects", + "nonCompliantProjects", + "canChangePlan", + "projects", + "unsupportedAddons" + ], + "example": { + "totalProjects": 5, + "nonCompliantProjects": 2, + "canChangePlan": false, + "projects": [], + "unsupportedAddons": [ + "baa" + ] + } + }, + "planChangeProjectCompliance": { + "description": "PlanChangeProjectCompliance", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Project ID", + "x-example": "proj_a" }, - "realtimeConnectionsTotal": { - "type": "integer", - "description": "Aggregated stats for total realtime connections.", - "x-example": 0, - "format": "int32" + "name": { + "type": "string", + "description": "Project name", + "x-example": "Marketing Site" }, - "realtimeMessages": { + "isCompliant": { + "type": "boolean", + "description": "Whether the project complies with target plan limits", + "x-example": false + }, + "resources": { "type": "array", - "description": "Aggregated stats for realtime messages.", + "description": "Resource compliance details", "items": { - "$ref": "#\/components\/schemas\/metric" + "$ref": "#\/components\/schemas\/planChangeResourceCompliance" }, "x-example": [] }, - "realtimeMessagesTotal": { + "error": { + "type": "string", + "description": "Failure reason when compliance could not be evaluated. Present only when the project DB or Regions API was unreachable; in that case `isCompliant` is false (fail closed) and `resources` is empty.", + "x-example": "Failed to get project compliance from Regions API. Status: 500", + "nullable": true + } + }, + "required": [ + "$id", + "name", + "isCompliant", + "resources" + ], + "example": { + "$id": "proj_a", + "name": "Marketing Site", + "isCompliant": false, + "resources": [], + "error": "Failed to get project compliance from Regions API. Status: 500" + } + }, + "planChangeResourceCompliance": { + "description": "PlanChangeResourceCompliance", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Resource type", + "x-example": "databases" + }, + "currentUsage": { "type": "integer", - "description": "Aggregated stats for total realtime messages.", - "x-example": 0, + "description": "Current usage count", + "x-example": 3, "format": "int32" }, - "realtimeBandwidth": { - "type": "array", - "description": "Aggregated stats for realtime bandwidth.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "limit": { + "type": "integer", + "description": "Allowed limit in target plan", + "x-example": 1, + "format": "int32" }, - "realtimeBandwidthTotal": { + "status": { + "type": "string", + "description": "Compliance status", + "x-example": "over_limit" + }, + "excess": { "type": "integer", - "description": "Aggregated stats for total realtime bandwidth.", - "x-example": 0, + "description": "Number of resources exceeding the limit", + "x-example": 2, "format": "int32" + }, + "resolutionHint": { + "type": "string", + "description": "Suggestion for resolving the compliance issue", + "x-example": "Delete or migrate 2 databases." } }, "required": [ - "bandwidth", - "users", - "executions", - "databasesReads", - "databasesWrites", - "imageTransformations", - "imageTransformationsTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "imagineCreditsTotal", - "usersTotal", - "executionsTotal", - "executionsMBSecondsTotal", - "buildsMBSecondsTotal", - "filesStorageTotal", - "buildsStorageTotal", - "deploymentsStorageTotal", - "databasesStorageTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "backupsStorageTotal", - "storageTotal", - "authPhoneTotal", - "authPhoneEstimate", - "projects", - "realtimeConnections", - "realtimeConnectionsTotal", - "realtimeMessages", - "realtimeMessagesTotal", - "realtimeBandwidth", - "realtimeBandwidthTotal" + "type", + "currentUsage", + "limit", + "status", + "excess", + "resolutionHint" ], "example": { - "bandwidth": [], - "users": [], - "executions": [], - "databasesReads": [], - "databasesWrites": [], - "imageTransformations": [], - "imageTransformationsTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": [], - "imagineCreditsTotal": 0, - "usersTotal": 0, - "executionsTotal": 0, - "executionsMBSecondsTotal": 0, - "buildsMBSecondsTotal": 0, - "filesStorageTotal": 0, - "buildsStorageTotal": 0, - "deploymentsStorageTotal": 0, - "databasesStorageTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "backupsStorageTotal": 0, - "storageTotal": 0, - "authPhoneTotal": 0, - "authPhoneEstimate": 0, - "projects": [], - "realtimeConnections": [], - "realtimeConnectionsTotal": 0, - "realtimeMessages": [], - "realtimeMessagesTotal": 0, - "realtimeBandwidth": [], - "realtimeBandwidthTotal": 0 + "type": "databases", + "currentUsage": 3, + "limit": 1, + "status": "over_limit", + "excess": 2, + "resolutionHint": "Delete or migrate 2 databases." } }, - "usageOrganizationProject": { - "description": "UsageOrganizationProject", + "backupPolicy": { + "description": "backup", "type": "object", "properties": { - "projectId": { + "$id": { "type": "string", - "description": "projectId", + "description": "Backup policy ID.", "x-example": "5e5ea5c16897e" }, - "bandwidth": { - "type": "array", - "description": "Aggregated stats for number of requests.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "name": { + "type": "string", + "description": "Backup policy name.", + "x-example": "Hourly backups" }, - "users": { - "type": "array", - "description": "Aggregated stats for consumed bandwidth.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Policy creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "executions": { - "type": "integer", - "description": "Aggregated stats for function executions.", - "x-example": [], - "format": "int32" + "$updatedAt": { + "type": "string", + "description": "Policy update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "databasesReads": { + "services": { "type": "array", - "description": "Aggregated stats for database reads.", + "description": "The services that are backed up by this policy.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": "['databases', 'storage']" }, - "databasesWrites": { + "resources": { "type": "array", - "description": "Aggregated stats for database writes.", + "description": "The resources that are backed up by this policy.", "items": { - "$ref": "#\/components\/schemas\/metric" + "type": "string" }, - "x-example": [] + "x-example": "['databases', 'collections', 'attributes', 'indexes']" }, - "executionsMBSeconds": { + "resourceId": { + "type": "string", + "description": "The resource ID to backup. Set only if this policy should backup a single resource.", + "x-example": "DB1", + "nullable": true + }, + "resourceType": { + "type": "string", + "description": "The resource type to backup. Set only if this policy should backup a single resource.", + "x-example": "database", + "nullable": true + }, + "retention": { "type": "integer", - "description": "Aggregated stats for function executions in mb seconds.", - "x-example": 0, + "description": "How many days to keep the backup before it will be automatically deleted.", + "x-example": 7, "format": "int32" }, - "buildsMBSeconds": { + "schedule": { + "type": "string", + "description": "Policy backup schedule in CRON format.", + "x-example": "0 * * * *" + }, + "enabled": { + "type": "boolean", + "description": "Is this policy enabled.", + "x-example": true + } + }, + "required": [ + "$id", + "name", + "$createdAt", + "$updatedAt", + "services", + "resources", + "retention", + "schedule", + "enabled" + ], + "example": { + "$id": "5e5ea5c16897e", + "name": "Hourly backups", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "resourceId": "DB1", + "resourceType": "database", + "retention": 7, + "schedule": "0 * * * *", + "enabled": true + } + }, + "dedicatedDatabasePooler": { + "description": "PoolerConfig", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether connection pooling is enabled.", + "x-example": true + }, + "mode": { + "type": "string", + "description": "Connection pool mode. Possible values: transaction (releases connections back to pool after each transaction), session (holds connections for the entire client session).", + "x-example": "transaction" + }, + "maxConnections": { "type": "integer", - "description": "Aggregated stats for function builds in mb seconds.", - "x-example": 0, + "description": "Maximum number of pooled connections.", + "x-example": 200, "format": "int32" }, - "storage": { + "defaultPoolSize": { "type": "integer", - "description": "Aggregated stats for number of documents.", - "x-example": [], + "description": "Default pool size per user.", + "x-example": 25, "format": "int32" }, - "authPhoneTotal": { + "port": { "type": "integer", - "description": "Aggregated stats for phone authentication.", - "x-example": [], + "description": "Pooler listening port.", + "x-example": 6432, "format": "int32" }, - "authPhoneEstimate": { - "type": "number", - "description": "Aggregated stats for phone authentication estimated cost.", - "x-example": [], - "format": "double" + "readWriteSplitting": { + "type": "boolean", + "description": "Whether SELECTs are routed to HA replicas while writes and locked reads stay on the primary. Active only when HA is enabled.", + "x-example": true }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" + "poolerCpuRequest": { + "type": "string", + "description": "Effective CPU request applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (5% of DB CPU, floor 100m) unless overridden.", + "x-example": "100m" }, - "databasesWritesTotal": { - "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, - "format": "int32" + "poolerCpuLimit": { + "type": "string", + "description": "Effective CPU limit applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (10% of DB CPU, floor 200m) unless overridden.", + "x-example": "200m" }, - "imageTransformations": { - "type": "array", - "description": "Aggregated stats for file transformations.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "poolerMemoryRequest": { + "type": "string", + "description": "Effective memory request applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (7.5% of DB memory, floor 64Mi) unless overridden.", + "x-example": "64Mi" }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "poolerMemoryLimit": { + "type": "string", + "description": "Effective memory limit applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (15% of DB memory, floor 128Mi) unless overridden.", + "x-example": "128Mi" + } + }, + "required": [ + "enabled", + "mode", + "maxConnections", + "defaultPoolSize", + "port", + "readWriteSplitting", + "poolerCpuRequest", + "poolerCpuLimit", + "poolerMemoryRequest", + "poolerMemoryLimit" + ], + "example": { + "enabled": true, + "mode": "transaction", + "maxConnections": 200, + "defaultPoolSize": 25, + "port": 6432, + "readWriteSplitting": true, + "poolerCpuRequest": "100m", + "poolerCpuLimit": "200m", + "poolerMemoryRequest": "64Mi", + "poolerMemoryLimit": "128Mi" + } + }, + "program": { + "description": "Program", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Program ID", + "x-example": "" }, - "screenshotsGenerated": { - "type": "array", - "description": "Aggregated stats for file transformations.", - "items": { - "$ref": "#\/components\/schemas\/metric" - }, - "x-example": [] + "title": { + "type": "string", + "description": "Program title", + "x-example": "" }, - "screenshotsGeneratedTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "description": { + "type": "string", + "description": "Program description", + "x-example": "" }, - "imagineCredits": { - "type": "integer", - "description": "Aggregated stats for imagine credits.", - "x-example": 0, - "format": "int32" + "tag": { + "type": "string", + "description": "Program tag for highlighting on console", + "x-example": null }, - "realtimeConnections": { - "type": "integer", - "description": "Aggregated stats for realtime connections.", - "x-example": 0, - "format": "int32" + "icon": { + "type": "string", + "description": "Program icon for highlighting on console", + "x-example": null }, - "realtimeMessages": { - "type": "integer", - "description": "Aggregated stats for realtime messages.", - "x-example": 0, - "format": "int32" + "url": { + "type": "string", + "description": "URL for more information on this program", + "x-example": "" }, - "realtimeBandwidth": { - "type": "integer", - "description": "Aggregated stats for realtime bandwidth.", - "x-example": 0, - "format": "int32" + "active": { + "type": "boolean", + "description": "Whether this program is active", + "x-example": false + }, + "external": { + "type": "boolean", + "description": "Whether this program is external", + "x-example": false + }, + "billingPlanId": { + "type": "string", + "description": "Billing plan ID that this is program is associated with.", + "x-example": "" } }, "required": [ - "projectId", - "bandwidth", - "users", - "executions", - "databasesReads", - "databasesWrites", - "executionsMBSeconds", - "buildsMBSeconds", - "storage", - "authPhoneTotal", - "authPhoneEstimate", - "databasesReadsTotal", - "databasesWritesTotal", - "imageTransformations", - "imageTransformationsTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "realtimeConnections", - "realtimeMessages", - "realtimeBandwidth" + "$id", + "title", + "description", + "tag", + "icon", + "url", + "active", + "external", + "billingPlanId" + ], + "example": { + "$id": "", + "title": "", + "description": "", + "tag": null, + "icon": null, + "url": "", + "active": false, + "external": false, + "billingPlanId": "" + } + }, + "dedicatedDatabaseQueryExplanation": { + "description": "QueryExplanation", + "type": "object", + "properties": { + "plan": { + "type": "array", + "description": "Structured query execution plan. Contents are engine-specific.", + "items": { + "$ref": "#\/components\/schemas\/any" + }, + "x-example": [] + }, + "raw": { + "type": "string", + "description": "Raw EXPLAIN output from the database engine.", + "x-example": "Seq Scan on users (cost=0.00..35.50 rows=2550 width=36)" + } + }, + "required": [ + "plan", + "raw" ], "example": { - "projectId": "5e5ea5c16897e", - "bandwidth": [], - "users": [], - "executions": [], - "databasesReads": [], - "databasesWrites": [], - "executionsMBSeconds": 0, - "buildsMBSeconds": 0, - "storage": [], - "authPhoneTotal": [], - "authPhoneEstimate": [], - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "imageTransformations": [], - "imageTransformationsTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": 0, - "realtimeConnections": 0, - "realtimeMessages": 0, - "realtimeBandwidth": 0 + "plan": [], + "raw": "Seq Scan on users (cost=0.00..35.50 rows=2550 width=36)" } }, - "domain": { - "description": "Domain", + "consoleRegion": { + "description": "Region", "type": "object", "properties": { "$id": { "type": "string", - "description": "Domain ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Domain creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Domain update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "domain": { - "type": "string", - "description": "Domain name.", - "x-example": "example.com" - }, - "registrar": { - "type": "string", - "description": "Domain registrar (e.g. \"appwrite\" or \"third_party\").", - "x-example": "appwrite" + "description": "Region ID", + "x-example": "eu-fr" }, - "nameservers": { + "name": { "type": "string", - "description": "Nameservers setting. \"Appwrite\" or empty string.", - "x-example": "Appwrite" + "description": "Region name", + "x-example": "EU (Frankfurt)" }, - "expire": { - "type": "string", - "description": "Domain expiry date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "available": { + "type": "boolean", + "description": "Does the organization have access to this region.", + "x-example": false }, - "renewal": { - "type": "string", - "description": "Domain renewal date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "disabled": { + "type": "boolean", + "description": "Does the backend support this region.", + "x-example": false }, - "autoRenewal": { + "default": { "type": "boolean", - "description": "If set to true, the domain will automatically renew.", + "description": "Is this the region default.", "x-example": true }, - "renewalPrice": { - "type": "integer", - "description": "Renewal price (in cents).", - "x-example": 2599, - "format": "int32" - }, - "transferStatus": { - "type": "string", - "description": "Transfer status for domains being transferred in.", - "x-example": "pending_registry", - "enum": [ - "transferrable", - "not_transferrable", - "pending_owner", - "pending_admin", - "pending_registry", - "completed", - "cancelled", - "service_unavailable" - ], - "x-enum-name": "DomainTransferStatusEnum" - }, - "teamId": { + "flag": { "type": "string", - "description": "Team ID.", - "x-example": "5e5ea5c16897e" - }, - "dnsRecords": { - "type": "array", - "description": "Dns records", - "items": { - "$ref": "#\/components\/schemas\/dnsRecord" - }, - "x-example": [] + "description": "Region flag code.", + "x-example": "fr" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "domain", - "registrar", - "nameservers", - "expire", - "renewal", - "autoRenewal", - "renewalPrice", - "transferStatus", - "teamId", - "dnsRecords" + "name", + "available", + "disabled", + "default", + "flag" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domain": "example.com", - "registrar": "appwrite", - "nameservers": "Appwrite", - "expire": "2020-10-15T06:38:00.000+00:00", - "renewal": "2020-10-15T06:38:00.000+00:00", - "autoRenewal": true, - "renewalPrice": 2599, - "transferStatus": "pending_registry", - "teamId": "5e5ea5c16897e", - "dnsRecords": [] + "$id": "eu-fr", + "name": "EU (Frankfurt)", + "available": false, + "disabled": false, + "default": true, + "flag": "fr" } }, - "domainPurchase": { - "description": "DomainPurchase", + "backupRestoration": { + "description": "Restoration", "type": "object", "properties": { "$id": { "type": "string", - "description": "Purchase\/invoice ID.", + "description": "Restoration ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Purchase creation time in ISO 8601 format.", + "description": "Restoration creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Purchase update date in ISO 8601 format.", + "description": "Restoration update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "domainId": { + "archiveId": { "type": "string", - "description": "Domain document ID.", - "x-example": "5e5ea5c16897e" + "description": "Backup archive ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "domain": { + "policyId": { "type": "string", - "description": "Domain name.", - "x-example": "example.com" + "description": "Backup policy ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "organizationId": { + "status": { "type": "string", - "description": "Team ID that owns the domain.", - "x-example": "5e5ea5c16897e" + "description": "The status of the restoration. Possible values: pending, downloading, processing, completed, failed.", + "x-example": "completed" }, - "status": { + "startedAt": { "type": "string", - "description": "Domain purchase status.", - "x-example": "pending", - "enum": [ - "pending", - "succeeded", - "failed", - "cancelled" - ], - "x-enum-name": "DomainPurchaseStatus" + "description": "The backup start time.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientSecret": { + "migrationId": { "type": "string", - "description": "Stripe client secret for 3DS; empty when not applicable.", - "x-example": "" + "description": "Migration ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "amount": { - "type": "number", - "description": "Purchase amount.", - "x-example": 25.99, - "format": "double" + "services": { + "type": "array", + "description": "The services that are backed up by this policy.", + "items": { + "type": "string" + }, + "x-example": "['databases', 'storage']" }, - "currency": { + "resources": { + "type": "array", + "description": "The resources that are backed up by this policy.", + "items": { + "type": "string" + }, + "x-example": "['databases', 'collections', 'attributes', 'indexes']" + }, + "options": { "type": "string", - "description": "Currency code.", - "x-example": "USD" + "description": "Optional data in key-value object. ", + "x-example": "{databases.database[{oldId, newId, newName}]}" } }, "required": [ "$id", "$createdAt", "$updatedAt", - "domainId", - "domain", - "organizationId", + "archiveId", + "policyId", "status", - "clientSecret", - "amount", - "currency" + "startedAt", + "migrationId", + "services", + "resources", + "options" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domainId": "5e5ea5c16897e", - "domain": "example.com", - "organizationId": "5e5ea5c16897e", - "status": "pending", - "clientSecret": "", - "amount": 25.99, - "currency": "USD" + "archiveId": "did8jx6ws45jana098ab7", + "policyId": "did8jx6ws45jana098ab7", + "status": "completed", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "migrationId": "did8jx6ws45jana098ab7", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "options": "{databases.database[{oldId, newId, newName}]}" } }, - "dnsRecord": { - "description": "DNSRecord", + "dedicatedDatabaseRestorationList": { + "description": "Dedicated database restorations list", "type": "object", "properties": { - "$id": { + "total": { + "type": "integer", + "description": "Total number of restorations that matched your query.", + "x-example": 5, + "format": "int32" + }, + "restorations": { + "type": "array", + "description": "List of restorations.", + "items": { + "$ref": "#\/components\/schemas\/dedicatedDatabaseRestoration" + }, + "x-example": "" + } + }, + "required": [ + "total", + "restorations" + ], + "example": { + "total": 5, + "restorations": "" + } + }, + "review": { + "description": "Review", + "type": "object", + "properties": { + "name": { "type": "string", - "description": "DNS Record ID.", - "x-example": "5f40a6e10c65e" + "description": "Name of user", + "x-example": "" }, - "$createdAt": { + "image": { "type": "string", - "description": "DNS Record creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Reviewer image", + "x-example": "" }, - "$updatedAt": { + "description": { "type": "string", - "description": "DNS Record update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Reviewer description", + "x-example": "" }, - "type": { + "review": { "type": "string", - "description": "DNS record type (e.g. A, CNAME, MX).", - "x-example": "A" + "description": "Review", + "x-example": "" + } + }, + "required": [ + "name", + "image", + "description", + "review" + ], + "example": { + "name": "", + "image": "", + "description": "", + "review": "" + } + }, + "roles": { + "description": "Roles", + "type": "object", + "properties": { + "scopes": { + "type": "array", + "description": "Array of scopes accessible to current user.", + "items": { + "type": "string" + }, + "x-example": "users.read" }, - "name": { + "roles": { + "type": "array", + "description": "Array of roles assigned to current user.", + "items": { + "type": "string" + }, + "x-example": "developer" + } + }, + "required": [ + "scopes", + "roles" + ], + "example": { + "scopes": "users.read", + "roles": "developer" + } + }, + "dedicatedDatabaseSchema": { + "description": "Schema", + "type": "object", + "properties": { + "tables": { + "type": "array", + "description": "List of tables with columns, types, and constraints.", + "items": { + "$ref": "#\/components\/schemas\/any" + }, + "x-example": [] + }, + "indexes": { + "type": "array", + "description": "List of indexes across all tables.", + "items": { + "$ref": "#\/components\/schemas\/any" + }, + "x-example": [] + } + }, + "required": [ + "tables", + "indexes" + ], + "example": { + "tables": [], + "indexes": [] + } + }, + "dedicatedDatabaseSchemaPreview": { + "description": "SchemaPreview", + "type": "object", + "properties": { + "supportsTransactionalDDL": { + "type": "boolean", + "description": "Whether the engine supports transactional DDL for safe preview.", + "x-example": true + }, + "preview": { "type": "string", - "description": "Record name or subdomain.", - "x-example": "mail" + "description": "Schema change preview output.", + "x-example": "ALTER TABLE users ADD COLUMN age INTEGER" }, - "value": { + "tables": { + "type": "array", + "description": "List of tables in the database after the change.", + "items": { + "type": "string" + }, + "x-example": [ + "users", + "orders" + ] + } + }, + "required": [ + "supportsTransactionalDDL", + "preview", + "tables" + ], + "example": { + "supportsTransactionalDDL": true, + "preview": "ALTER TABLE users ADD COLUMN age INTEGER", + "tables": [ + "users", + "orders" + ] + } + }, + "dedicatedDatabaseSlowQuery": { + "description": "SlowQuery", + "type": "object", + "properties": { + "query": { "type": "string", - "description": "Value of the record (IP address, domain, etc.).", - "x-example": "192.0.2.1" + "description": "The SQL query text.", + "x-example": "SELECT * FROM users WHERE email = $1" }, - "ttl": { - "type": "integer", - "description": "Time to live (in seconds).", - "x-example": 86400, - "format": "int32" + "durationMs": { + "type": "number", + "description": "Query duration in milliseconds.", + "x-example": 523.4, + "format": "double" }, - "priority": { + "calls": { "type": "integer", - "description": "Record priority (commonly used for MX).", - "x-example": 10, + "description": "Number of times this query has been executed.", + "x-example": 42, "format": "int32" }, - "lock": { - "type": "boolean", - "description": "Whether this record is locked (read-only).", - "x-example": false + "user": { + "type": "string", + "description": "Database user that executed the query.", + "x-example": "appwrite" }, - "weight": { + "database": { + "type": "string", + "description": "Database name.", + "x-example": "appwrite" + } + }, + "required": [ + "query", + "durationMs", + "calls", + "user", + "database" + ], + "example": { + "query": "SELECT * FROM users WHERE email = $1", + "durationMs": 523.4, + "calls": 42, + "user": "appwrite", + "database": "appwrite" + } + }, + "databaseStatusConnections": { + "description": "Connections", + "type": "object", + "properties": { + "current": { "type": "integer", - "description": "Record weight (used for SRV records).", - "x-example": 10, + "description": "Current number of active connections.", + "x-example": 12, "format": "int32" }, - "port": { + "max": { "type": "integer", - "description": "Target port (used for SRV records).", - "x-example": 443, + "description": "Maximum allowed connections.", + "x-example": 100, "format": "int32" - }, - "comment": { - "type": "string", - "description": "Comment for the DNS record.", - "x-example": "Mail server record" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "type", - "name", - "value", - "ttl", - "priority", - "lock", - "weight", - "port", - "comment" + "current", + "max" ], "example": { - "$id": "5f40a6e10c65e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "type": "A", - "name": "mail", - "value": "192.0.2.1", - "ttl": 86400, - "priority": 10, - "lock": false, - "weight": 10, - "port": 443, - "comment": "Mail server record" + "current": 12, + "max": 100 } }, - "usageResources": { - "description": "UsageResource", + "databaseStatusReplica": { + "description": "Replica", "type": "object", "properties": { - "name": { - "type": "string", - "description": "Invoice name", - "x-example": "" - }, - "value": { + "index": { "type": "integer", - "description": "Invoice value", + "description": "StatefulSet pod index (0 = primary, 1+ = replicas).", "x-example": 0, "format": "int32" }, - "amount": { - "type": "number", - "description": "Invoice amount", - "x-example": 500, - "format": "double" + "role": { + "type": "string", + "description": "Replica role: primary or replica.", + "x-example": "primary" }, - "rate": { + "healthy": { + "type": "boolean", + "description": "Whether the replica is healthy.", + "x-example": true + }, + "lagSeconds": { "type": "number", - "description": "Invoice rate", - "x-example": 12.5, - "format": "double" + "description": "Replication lag in seconds (null for primary).", + "x-example": 0.2, + "format": "double", + "nullable": true + } + }, + "required": [ + "index", + "role", + "healthy" + ], + "example": { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": 0.2 + } + }, + "databaseStatusVolume": { + "description": "Volume", + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Mount path of the volume.", + "x-example": "\/var\/lib\/postgresql\/data" }, - "desc": { + "usedPercent": { "type": "string", - "description": "Invoice description", - "x-example": "Your monthly recurring Pro plan." + "description": "Percentage of storage used.", + "x-example": "45%" }, - "resourceId": { + "available": { "type": "string", - "description": "Resource ID", - "x-example": "" + "description": "Available storage space.", + "x-example": "55GB" + }, + "mounted": { + "type": "boolean", + "description": "Whether the volume is mounted.", + "x-example": true } }, "required": [ - "name", - "value", - "amount", - "rate", - "desc", - "resourceId" + "path", + "usedPercent", + "available", + "mounted" ], "example": { - "name": "", - "value": 0, - "amount": 500, - "rate": 12.5, - "desc": "Your monthly recurring Pro plan.", - "resourceId": "" + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true } }, "usageBillingPlan": { @@ -97570,901 +104838,961 @@ "credits": null } }, - "estimation": { - "description": "Estimation", + "dedicatedDatabaseUsage": { + "description": "DedicatedDatabase", "type": "object", "properties": { - "amount": { + "$id": { + "type": "string", + "description": "Database ID.", + "x-example": "5e5ea5c16897e" + }, + "range": { + "type": "string", + "description": "The time range of the usage stats.", + "x-example": "30d" + }, + "provisionedCpu": { "type": "number", - "description": "Total amount", - "x-example": 50, + "description": "Provisioned CPU cores for the database specification.", + "x-example": 2, "format": "double" }, - "grossAmount": { + "provisionedMemoryBytes": { + "type": "integer", + "description": "Provisioned memory in bytes for the database specification.", + "x-example": 4294967296, + "format": "int32" + }, + "provisionedStorageBytes": { + "type": "integer", + "description": "Provisioned storage in bytes for the database specification.", + "x-example": 107374182400, + "format": "int32" + }, + "provisionedConnections": { + "type": "integer", + "description": "Maximum concurrent connections allowed by the database specification.", + "x-example": 200, + "format": "int32" + }, + "computeTotal": { + "type": "integer", + "description": "Total aggregated compute time in milliseconds.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Total aggregated storage used in bytes.", + "x-example": 0, + "format": "int32" + }, + "inboundTotal": { + "type": "integer", + "description": "Total aggregated inbound network traffic in bytes.", + "x-example": 0, + "format": "int32" + }, + "outboundTotal": { + "type": "integer", + "description": "Total aggregated outbound network traffic in bytes.", + "x-example": 0, + "format": "int32" + }, + "connectionsTotal": { + "type": "integer", + "description": "Total aggregated number of database connections.", + "x-example": 0, + "format": "int32" + }, + "coldStartsTotal": { + "type": "integer", + "description": "Total aggregated number of cold starts.", + "x-example": 0, + "format": "int32" + }, + "cpuTotal": { "type": "number", - "description": "Gross payable amount", - "x-example": 50, + "description": "Latest CPU usage percent (0-100).", + "x-example": 45.2, "format": "double" }, - "discount": { + "memoryTotal": { "type": "number", - "description": "Discount amount", - "x-example": 50, + "description": "Latest memory usage percent (0-100).", + "x-example": 62.1, "format": "double" }, - "credits": { + "qpsTotal": { "type": "number", - "description": "Credits amount", - "x-example": 50, + "description": "Latest queries per second.", + "x-example": 230.7, "format": "double" }, - "items": { + "iopsReadTotal": { + "type": "number", + "description": "Latest read IOPS.", + "x-example": 125.5, + "format": "double" + }, + "iopsWriteTotal": { + "type": "number", + "description": "Latest write IOPS.", + "x-example": 45.3, + "format": "double" + }, + "compute": { "type": "array", - "description": "Estimation items", + "description": "Aggregated compute time per period in milliseconds.", "items": { - "$ref": "#\/components\/schemas\/estimation_item" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "discounts": { + "storage": { "type": "array", - "description": "Estimation discount items", + "description": "Aggregated storage used per period in bytes.", "items": { - "$ref": "#\/components\/schemas\/estimation_item" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "trialDays": { - "type": "integer", - "description": "Trial days", - "x-example": 14, - "format": "int32" - }, - "trialEndDate": { - "type": "string", - "description": "Trial end date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "nullable": true - } - }, - "required": [ - "amount", - "grossAmount", - "discount", - "credits", - "items", - "discounts", - "trialDays" - ], - "example": { - "amount": 50, - "grossAmount": 50, - "discount": 50, - "credits": 50, - "items": [], - "discounts": [], - "trialDays": 14, - "trialEndDate": "2020-10-15T06:38:00.000+00:00" - } - }, - "estimationUpdatePlan": { - "description": "EstimationUpdatePlan", - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Total amount", - "x-example": 50, - "format": "double" + "inbound": { + "type": "array", + "description": "Aggregated inbound network traffic per period in bytes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "grossAmount": { - "type": "number", - "description": "Gross payable amount", - "x-example": 50, - "format": "double" + "outbound": { + "type": "array", + "description": "Aggregated outbound network traffic per period in bytes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "discount": { - "type": "number", - "description": "Discount amount", - "x-example": 50, - "format": "double" + "connections": { + "type": "array", + "description": "Aggregated number of database connections per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "credits": { - "type": "number", - "description": "Credits amount", - "x-example": 50, - "format": "double" + "coldStarts": { + "type": "array", + "description": "Aggregated number of cold starts per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "items": { + "cpu": { "type": "array", - "description": "Estimation items", + "description": "CPU usage percent per period.", "items": { - "$ref": "#\/components\/schemas\/estimation_item" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "discounts": { + "memory": { "type": "array", - "description": "Estimation discount items", + "description": "Memory usage percent per period.", "items": { - "$ref": "#\/components\/schemas\/estimation_item" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "trialDays": { - "type": "integer", - "description": "Trial days", - "x-example": 14, - "format": "int32" + "qps": { + "type": "array", + "description": "Queries per second per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "trialEndDate": { - "type": "string", - "description": "Trial end date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "nullable": true + "iopsRead": { + "type": "array", + "description": "Read IOPS per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "organizationCredits": { - "type": "number", - "description": "Organization's existing credits", - "x-example": 0, - "format": "double" + "iopsWrite": { + "type": "array", + "description": "Write IOPS per period.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] } }, "required": [ - "amount", - "grossAmount", - "discount", - "credits", - "items", - "discounts", - "trialDays", - "organizationCredits" + "$id", + "range", + "provisionedCpu", + "provisionedMemoryBytes", + "provisionedStorageBytes", + "provisionedConnections", + "computeTotal", + "storageTotal", + "inboundTotal", + "outboundTotal", + "connectionsTotal", + "coldStartsTotal", + "cpuTotal", + "memoryTotal", + "qpsTotal", + "iopsReadTotal", + "iopsWriteTotal", + "compute", + "storage", + "inbound", + "outbound", + "connections", + "coldStarts", + "cpu", + "memory", + "qps", + "iopsRead", + "iopsWrite" ], "example": { - "amount": 50, - "grossAmount": 50, - "discount": 50, - "credits": 50, - "items": [], - "discounts": [], - "trialDays": 14, - "trialEndDate": "2020-10-15T06:38:00.000+00:00", - "organizationCredits": 0 + "$id": "5e5ea5c16897e", + "range": "30d", + "provisionedCpu": 2, + "provisionedMemoryBytes": 4294967296, + "provisionedStorageBytes": 107374182400, + "provisionedConnections": 200, + "computeTotal": 0, + "storageTotal": 0, + "inboundTotal": 0, + "outboundTotal": 0, + "connectionsTotal": 0, + "coldStartsTotal": 0, + "cpuTotal": 45.2, + "memoryTotal": 62.1, + "qpsTotal": 230.7, + "iopsReadTotal": 125.5, + "iopsWriteTotal": 45.3, + "compute": [], + "storage": [], + "inbound": [], + "outbound": [], + "connections": [], + "coldStarts": [], + "cpu": [], + "memory": [], + "qps": [], + "iopsRead": [], + "iopsWrite": [] } }, - "estimationPlanChange": { - "description": "EstimationPlanChange", + "usageEvent": { + "description": "usageEvent", "type": "object", "properties": { - "currentBillingPlanId": { + "metric": { "type": "string", - "description": "Current billing plan ID", - "x-example": "tier-2" + "description": "The metric key.", + "x-example": "bandwidth" }, - "targetBillingPlanId": { + "value": { + "type": "integer", + "description": "The metric value.", + "x-example": 5000, + "format": "int32" + }, + "time": { "type": "string", - "description": "Target billing plan ID", - "x-example": "tier-0" + "description": "The event timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" }, - "direction": { + "path": { "type": "string", - "description": "Direction of plan change: upgrade, downgrade, or same", - "x-example": "downgrade" + "description": "The API endpoint path.", + "x-example": "\/v1\/storage\/files" }, - "estimation": { - "type": "object", - "description": "Cost estimation details", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/planChangeEstimationDetails" - } + "method": { + "type": "string", + "description": "The HTTP method.", + "x-example": "POST" }, - "limits": { - "type": "object", - "description": "Plan limits and compliance information", - "x-example": null, - "items": { - "$ref": "#\/components\/schemas\/planChangeLimits" - } + "status": { + "type": "string", + "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", + "x-example": "201" + }, + "resourceType": { + "type": "string", + "description": "The resource type.", + "x-example": "bucket" + }, + "resourceId": { + "type": "string", + "description": "The resource ID.", + "x-example": "abc123" + }, + "countryCode": { + "type": "string", + "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", + "x-example": "US" + }, + "userAgent": { + "type": "string", + "description": "The user agent string.", + "x-example": "AppwriteSDK\/1.0" } }, "required": [ - "currentBillingPlanId", - "targetBillingPlanId", - "direction", - "estimation", - "limits" + "metric", + "value", + "time", + "path", + "method", + "status", + "resourceType", + "resourceId", + "countryCode", + "userAgent" ], "example": { - "currentBillingPlanId": "tier-2", - "targetBillingPlanId": "tier-0", - "direction": "downgrade", - "estimation": null, - "limits": null + "metric": "bandwidth", + "value": 5000, + "time": "2026-04-09T12:00:00.000+00:00", + "path": "\/v1\/storage\/files", + "method": "POST", + "status": "201", + "resourceType": "bucket", + "resourceId": "abc123", + "countryCode": "US", + "userAgent": "AppwriteSDK\/1.0" } }, - "planChangeEstimationDetails": { - "description": "PlanChangeEstimationDetails", + "usageGauge": { + "description": "usageGauge", "type": "object", "properties": { - "currency": { + "metric": { "type": "string", - "description": "Currency code", - "x-example": "USD" + "description": "The metric key.", + "x-example": "users" }, - "grossAmount": { - "type": "number", - "description": "Gross amount after all discounts and credits", - "x-example": 15, - "format": "double" + "value": { + "type": "integer", + "description": "The current snapshot value.", + "x-example": 1500, + "format": "int32" }, - "credits": { - "type": "number", - "description": "Credits applied from coupon", + "time": { + "type": "string", + "description": "The snapshot timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" + } + }, + "required": [ + "metric", + "value", + "time" + ], + "example": { + "metric": "users", + "value": 1500, + "time": "2026-04-09T12:00:00.000+00:00" + } + }, + "usageOrganization": { + "description": "Organization", + "type": "object", + "properties": { + "bandwidth": { + "type": "array", + "description": "Aggregated stats for number of requests.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "users": { + "type": "array", + "description": "Aggregated stats for consumed bandwidth.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated stats for function executions.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databasesReads": { + "type": "array", + "description": "Aggregated stats for database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "databasesWrites": { + "type": "array", + "description": "Aggregated stats for database writes.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "imageTransformations": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] + }, + "imageTransformationsTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", "x-example": 0, - "format": "double" + "format": "int32" }, - "organizationCredits": { - "type": "number", - "description": "Organization's existing credits applied", - "x-example": 5, - "format": "double" + "screenshotsGenerated": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "discount": { - "type": "number", - "description": "Discount amount from prorated invoices", + "screenshotsGeneratedTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", "x-example": 0, - "format": "double" + "format": "int32" }, - "amount": { - "type": "number", - "description": "Total amount before discounts and credits", - "x-example": 20, - "format": "double" + "imagineCredits": { + "type": "array", + "description": "Aggregated stats for imagine credits.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "nextInvoiceDate": { - "type": "string", - "description": "Next invoice date", - "x-example": "2025-12-01T00:00:00.000Z" + "imagineCreditsTotal": { + "type": "integer", + "description": "Aggregated stats for total imagine credits.", + "x-example": 0, + "format": "int32" + }, + "usersTotal": { + "type": "integer", + "description": "Aggregated stats for total users.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Aggregated stats for total executions.", + "x-example": 0, + "format": "int32" + }, + "executionsMBSecondsTotal": { + "type": "integer", + "description": "Aggregated stats for function executions in mb seconds.", + "x-example": 0, + "format": "int32" + }, + "buildsMBSecondsTotal": { + "type": "integer", + "description": "Aggregated stats for function builds in mb seconds.", + "x-example": 0, + "format": "int32" + }, + "filesStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total file storage.", + "x-example": 0, + "format": "int32" + }, + "buildsStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total builds storage.", + "x-example": 0, + "format": "int32" + }, + "deploymentsStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total deployments storage.", + "x-example": 0, + "format": "int32" + }, + "databasesStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total databases storage.", + "x-example": 0, + "format": "int32" + }, + "databasesReadsTotal": { + "type": "integer", + "description": "Aggregated stats for total databases reads.", + "x-example": 0, + "format": "int32" + }, + "databasesWritesTotal": { + "type": "integer", + "description": "Aggregated stats for total databases writes.", + "x-example": 0, + "format": "int32" + }, + "backupsStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total backups storage.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Aggregated stats for total storage.", + "x-example": 0, + "format": "int32" + }, + "authPhoneTotal": { + "type": "integer", + "description": "Aggregated stats for total auth phone.", + "x-example": 0, + "format": "int32" + }, + "authPhoneEstimate": { + "type": "integer", + "description": "Aggregated stats for total auth phone estimation.", + "x-example": 0, + "format": "int32" }, - "items": { + "projects": { "type": "array", - "description": "Line items breakdown", + "description": "Aggregated stats for each projects.", "items": { - "type": "object" + "$ref": "#\/components\/schemas\/usageOrganizationProject" }, - "x-example": [ - { - "label": "Starter plan", - "value": 0 - }, - { - "label": "Additional seats", - "value": 10 - } - ] + "x-example": [] }, - "discounts": { + "realtimeConnections": { "type": "array", - "description": "Applied discounts breakdown", + "description": "Aggregated stats for realtime connections.", "items": { - "type": "object" - }, - "x-example": [ - { - "label": "Organization credits", - "value": 5 - } - ] - } - }, - "required": [ - "currency", - "grossAmount", - "credits", - "organizationCredits", - "discount", - "amount", - "nextInvoiceDate", - "items", - "discounts" - ], - "example": { - "currency": "USD", - "grossAmount": 15, - "credits": 0, - "organizationCredits": 5, - "discount": 0, - "amount": 20, - "nextInvoiceDate": "2025-12-01T00:00:00.000Z", - "items": [ - { - "label": "Starter plan", - "value": 0 + "$ref": "#\/components\/schemas\/metric" }, - { - "label": "Additional seats", - "value": 10 - } - ], - "discounts": [ - { - "label": "Organization credits", - "value": 5 - } - ] - } - }, - "planChangeLimits": { - "description": "PlanChangeLimits", - "type": "object", - "properties": { - "totalProjects": { - "type": "integer", - "description": "Total number of projects in the organization", - "x-example": 5, - "format": "int32" + "x-example": [] }, - "nonCompliantProjects": { + "realtimeConnectionsTotal": { "type": "integer", - "description": "Number of projects exceeding target plan limits", - "x-example": 2, + "description": "Aggregated stats for total realtime connections.", + "x-example": 0, "format": "int32" }, - "canChangePlan": { - "type": "boolean", - "description": "Whether the plan change is allowed", - "x-example": false - }, - "projects": { + "realtimeMessages": { "type": "array", - "description": "Project compliance details", + "description": "Aggregated stats for realtime messages.", "items": { - "$ref": "#\/components\/schemas\/planChangeProjectCompliance" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "unsupportedAddons": { + "realtimeMessagesTotal": { + "type": "integer", + "description": "Aggregated stats for total realtime messages.", + "x-example": 0, + "format": "int32" + }, + "realtimeBandwidth": { "type": "array", - "description": "Active addon keys that the target plan does not support. When non-empty, `canChangePlan` is false.", + "description": "Aggregated stats for realtime bandwidth.", "items": { - "type": "string" + "$ref": "#\/components\/schemas\/metric" }, - "x-example": [ - "baa" - ] + "x-example": [] + }, + "realtimeBandwidthTotal": { + "type": "integer", + "description": "Aggregated stats for total realtime bandwidth.", + "x-example": 0, + "format": "int32" } }, "required": [ - "totalProjects", - "nonCompliantProjects", - "canChangePlan", + "bandwidth", + "users", + "executions", + "databasesReads", + "databasesWrites", + "imageTransformations", + "imageTransformationsTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "imagineCreditsTotal", + "usersTotal", + "executionsTotal", + "executionsMBSecondsTotal", + "buildsMBSecondsTotal", + "filesStorageTotal", + "buildsStorageTotal", + "deploymentsStorageTotal", + "databasesStorageTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "backupsStorageTotal", + "storageTotal", + "authPhoneTotal", + "authPhoneEstimate", "projects", - "unsupportedAddons" + "realtimeConnections", + "realtimeConnectionsTotal", + "realtimeMessages", + "realtimeMessagesTotal", + "realtimeBandwidth", + "realtimeBandwidthTotal" ], "example": { - "totalProjects": 5, - "nonCompliantProjects": 2, - "canChangePlan": false, + "bandwidth": [], + "users": [], + "executions": [], + "databasesReads": [], + "databasesWrites": [], + "imageTransformations": [], + "imageTransformationsTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": [], + "imagineCreditsTotal": 0, + "usersTotal": 0, + "executionsTotal": 0, + "executionsMBSecondsTotal": 0, + "buildsMBSecondsTotal": 0, + "filesStorageTotal": 0, + "buildsStorageTotal": 0, + "deploymentsStorageTotal": 0, + "databasesStorageTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "backupsStorageTotal": 0, + "storageTotal": 0, + "authPhoneTotal": 0, + "authPhoneEstimate": 0, "projects": [], - "unsupportedAddons": [ - "baa" - ] + "realtimeConnections": [], + "realtimeConnectionsTotal": 0, + "realtimeMessages": [], + "realtimeMessagesTotal": 0, + "realtimeBandwidth": [], + "realtimeBandwidthTotal": 0 } }, - "planChangeProjectCompliance": { - "description": "PlanChangeProjectCompliance", + "usageOrganizationProject": { + "description": "OrganizationProject", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Project ID", - "x-example": "proj_a" - }, - "name": { + "projectId": { "type": "string", - "description": "Project name", - "x-example": "Marketing Site" - }, - "isCompliant": { - "type": "boolean", - "description": "Whether the project complies with target plan limits", - "x-example": false + "description": "projectId", + "x-example": "5e5ea5c16897e" }, - "resources": { + "bandwidth": { "type": "array", - "description": "Resource compliance details", + "description": "Aggregated stats for number of requests.", "items": { - "$ref": "#\/components\/schemas\/planChangeResourceCompliance" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] }, - "error": { - "type": "string", - "description": "Failure reason when compliance could not be evaluated. Present only when the project DB or Regions API was unreachable; in that case `isCompliant` is false (fail closed) and `resources` is empty.", - "x-example": "Failed to get project compliance from Regions API. Status: 500", - "nullable": true - } - }, - "required": [ - "$id", - "name", - "isCompliant", - "resources" - ], - "example": { - "$id": "proj_a", - "name": "Marketing Site", - "isCompliant": false, - "resources": [], - "error": "Failed to get project compliance from Regions API. Status: 500" - } - }, - "planChangeResourceCompliance": { - "description": "PlanChangeResourceCompliance", - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Resource type", - "x-example": "databases" - }, - "currentUsage": { - "type": "integer", - "description": "Current usage count", - "x-example": 3, - "format": "int32" + "users": { + "type": "array", + "description": "Aggregated stats for consumed bandwidth.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "limit": { + "executions": { "type": "integer", - "description": "Allowed limit in target plan", - "x-example": 1, + "description": "Aggregated stats for function executions.", + "x-example": [], "format": "int32" }, - "status": { - "type": "string", - "description": "Compliance status", - "x-example": "over_limit" - }, - "excess": { - "type": "integer", - "description": "Number of resources exceeding the limit", - "x-example": 2, - "format": "int32" + "databasesReads": { + "type": "array", + "description": "Aggregated stats for database reads.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "resolutionHint": { - "type": "string", - "description": "Suggestion for resolving the compliance issue", - "x-example": "Delete or migrate 2 databases." - } - }, - "required": [ - "type", - "currentUsage", - "limit", - "status", - "excess", - "resolutionHint" - ], - "example": { - "type": "databases", - "currentUsage": 3, - "limit": 1, - "status": "over_limit", - "excess": 2, - "resolutionHint": "Delete or migrate 2 databases." - } - }, - "estimationDeleteOrganization": { - "description": "EstimationDeleteOrganization", - "type": "object", - "properties": { - "unpaidInvoices": { + "databasesWrites": { "type": "array", - "description": "List of unpaid invoices", + "description": "Aggregated stats for database writes.", "items": { - "$ref": "#\/components\/schemas\/invoice" + "$ref": "#\/components\/schemas\/metric" }, "x-example": [] - } - }, - "required": [ - "unpaidInvoices" - ], - "example": { - "unpaidInvoices": [] - } - }, - "estimation_item": { - "description": "EstimationItem", - "type": "object", - "properties": { - "label": { - "type": "string", - "description": "Label", - "x-example": "Plan name" }, - "value": { - "type": "number", - "description": "Gross payable amount", - "x-example": 50, - "format": "double" - } - }, - "required": [ - "label", - "value" - ], - "example": { - "label": "Plan name", - "value": 50 - } - }, - "domainPrice": { - "description": "DomainPrice", - "type": "object", - "properties": { - "domain": { - "type": "string", - "description": "Domain name.", - "x-example": "example.com" + "executionsMBSeconds": { + "type": "integer", + "description": "Aggregated stats for function executions in mb seconds.", + "x-example": 0, + "format": "int32" }, - "tld": { - "type": "string", - "description": "Top-level domain for the requested domain.", - "x-example": "com" + "buildsMBSeconds": { + "type": "integer", + "description": "Aggregated stats for function builds in mb seconds.", + "x-example": 0, + "format": "int32" }, - "available": { - "type": "boolean", - "description": "Whether the domain is currently available for registration.", - "x-example": true + "storage": { + "type": "integer", + "description": "Aggregated stats for number of documents.", + "x-example": [], + "format": "int32" }, - "price": { + "authPhoneTotal": { + "type": "integer", + "description": "Aggregated stats for phone authentication.", + "x-example": [], + "format": "int32" + }, + "authPhoneEstimate": { "type": "number", - "description": "Domain registration price.", - "x-example": 25.99, + "description": "Aggregated stats for phone authentication estimated cost.", + "x-example": [], "format": "double" }, - "periodYears": { + "databasesReadsTotal": { "type": "integer", - "description": "Price period in years.", - "x-example": 1, + "description": "Aggregated stats for total databases reads.", + "x-example": 0, "format": "int32" }, - "premium": { - "type": "boolean", - "description": "Whether the domain is a premium domain.", - "x-example": false - } - }, - "required": [ - "domain", - "tld", - "available", - "price", - "periodYears", - "premium" - ], - "example": { - "domain": "example.com", - "tld": "com", - "available": true, - "price": 25.99, - "periodYears": 1, - "premium": false - } - }, - "domainSuggestion": { - "description": "DomainSuggestion", - "type": "object", - "properties": { - "domain": { - "type": "string", - "description": "Domain suggestion.", - "x-example": "example.com" - }, - "premium": { - "type": "boolean", - "description": "Is the domain premium?", - "x-example": true - }, - "price": { - "type": "number", - "description": "Domain price.", - "x-example": 25.99, - "format": "double", - "nullable": true - }, - "available": { - "type": "boolean", - "description": "Is the domain available?", - "x-example": true - } - }, - "required": [ - "domain", - "premium", - "available" - ], - "example": { - "domain": "example.com", - "premium": true, - "price": 25.99, - "available": true - } - }, - "addon": { - "description": "Addon", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Addon ID.", - "x-example": "5e5ea5c16897e" + "databasesWritesTotal": { + "type": "integer", + "description": "Aggregated stats for total databases writes.", + "x-example": 0, + "format": "int32" }, - "$createdAt": { - "type": "string", - "description": "Addon creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "imageTransformations": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "$ref": "#\/components\/schemas\/metric" + }, + "x-example": [] }, - "$updatedAt": { - "type": "string", - "description": "Addon update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "imageTransformationsTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" }, - "$permissions": { + "screenshotsGenerated": { "type": "array", - "description": "Addon permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "Aggregated stats for file transformations.", "items": { - "type": "string" + "$ref": "#\/components\/schemas\/metric" }, - "x-example": [ - "read(\"any\")" - ] - }, - "key": { - "type": "string", - "description": "Addon key", - "x-example": "baa" + "x-example": [] }, - "resourceType": { - "type": "string", - "description": "Resource type (organization or project)", - "x-example": "organization" + "screenshotsGeneratedTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" }, - "resourceId": { - "type": "string", - "description": "Resource ID", - "x-example": "5e5ea5c16897e" + "imagineCredits": { + "type": "integer", + "description": "Aggregated stats for imagine credits.", + "x-example": 0, + "format": "int32" }, - "status": { - "type": "string", - "description": "Payment status. Possible values: pending (awaiting payment confirmation e.g. 3DS), active (payment confirmed and addon is running).", - "x-example": "active" + "realtimeConnections": { + "type": "integer", + "description": "Aggregated stats for realtime connections.", + "x-example": 0, + "format": "int32" }, - "currentValue": { + "realtimeMessages": { "type": "integer", - "description": "Current value for this billing cycle. For toggle addons: 1 (on) or 0 (off). For numeric addons: the active quantity.", - "x-example": 1, + "description": "Aggregated stats for realtime messages.", + "x-example": 0, "format": "int32" }, - "nextValue": { + "realtimeBandwidth": { "type": "integer", - "description": "Value to apply at the start of the next billing cycle. Null means no change is scheduled. For toggle addons, 0 means the addon will be removed at the next cycle.", - "x-example": null, - "format": "int32", - "nullable": true + "description": "Aggregated stats for realtime bandwidth.", + "x-example": 0, + "format": "int32" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "key", - "resourceType", - "resourceId", - "status", - "currentValue" + "projectId", + "bandwidth", + "users", + "executions", + "databasesReads", + "databasesWrites", + "executionsMBSeconds", + "buildsMBSeconds", + "storage", + "authPhoneTotal", + "authPhoneEstimate", + "databasesReadsTotal", + "databasesWritesTotal", + "imageTransformations", + "imageTransformationsTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "realtimeConnections", + "realtimeMessages", + "realtimeBandwidth" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "key": "baa", - "resourceType": "organization", - "resourceId": "5e5ea5c16897e", - "status": "active", - "currentValue": 1, - "nextValue": null + "projectId": "5e5ea5c16897e", + "bandwidth": [], + "users": [], + "executions": [], + "databasesReads": [], + "databasesWrites": [], + "executionsMBSeconds": 0, + "buildsMBSeconds": 0, + "storage": [], + "authPhoneTotal": [], + "authPhoneEstimate": [], + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "imageTransformations": [], + "imageTransformationsTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": 0, + "realtimeConnections": 0, + "realtimeMessages": 0, + "realtimeBandwidth": 0 } }, - "addonPrice": { - "description": "AddonPrice", + "usageResources": { + "description": "Resource", "type": "object", "properties": { - "addonKey": { - "type": "string", - "description": "Addon key.", - "x-example": "baa" - }, "name": { "type": "string", - "description": "Addon display name.", - "x-example": "HIPAA BAA" + "description": "Invoice name", + "x-example": "" }, - "monthlyPrice": { + "value": { + "type": "integer", + "description": "Invoice value", + "x-example": 0, + "format": "int32" + }, + "amount": { "type": "number", - "description": "Full monthly price of the addon.", - "x-example": 350, + "description": "Invoice amount", + "x-example": 500, "format": "double" }, - "proratedAmount": { + "rate": { "type": "number", - "description": "Calculated prorated amount for the current billing cycle.", - "x-example": 175.5, + "description": "Invoice rate", + "x-example": 12.5, "format": "double" }, - "remainingDays": { - "type": "integer", - "description": "Days remaining in the current billing cycle.", - "x-example": 15, - "format": "int32" - }, - "totalCycleDays": { - "type": "integer", - "description": "Total days in the billing cycle.", - "x-example": 30, - "format": "int32" - }, - "currency": { + "desc": { "type": "string", - "description": "Currency code.", - "x-example": "USD" + "description": "Invoice description", + "x-example": "Your monthly recurring Pro plan." }, - "billingCycleEnd": { + "resourceId": { "type": "string", - "description": "When the current billing cycle ends.", - "x-example": "2024-02-01T00:00:00.000+00:00" + "description": "Resource ID", + "x-example": "" } }, "required": [ - "addonKey", "name", - "monthlyPrice", - "proratedAmount", - "remainingDays", - "totalCycleDays", - "currency", - "billingCycleEnd" - ], - "example": { - "addonKey": "baa", - "name": "HIPAA BAA", - "monthlyPrice": 350, - "proratedAmount": 175.5, - "remainingDays": 15, - "totalCycleDays": 30, - "currency": "USD", - "billingCycleEnd": "2024-02-01T00:00:00.000+00:00" - } - }, - "domainTransferOut": { - "description": "domainTransferOut", - "type": "object", - "properties": { - "authCode": { - "type": "string", - "description": "Domain transfer authorization code.", - "x-example": "mock_1a2b3c4d" - } - }, - "required": [ - "authCode" - ], - "example": { - "authCode": "mock_1a2b3c4d" - } - }, - "domainTransferStatus": { - "description": "domainTransferStatus", - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Transfer status.", - "x-example": "pending_registry", - "enum": [ - "transferrable", - "not_transferrable", - "pending_owner", - "pending_admin", - "pending_registry", - "completed", - "cancelled", - "service_unavailable" - ], - "x-enum-name": "DomainTransferStatusEnum" - }, - "reason": { - "type": "string", - "description": "Additional transfer status information.", - "x-example": "Transfer in progress" - }, - "timestamp": { - "type": "string", - "description": "Transfer status timestamp in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "status", - "reason", - "timestamp" + "value", + "amount", + "rate", + "desc", + "resourceId" ], "example": { - "status": "pending_registry", - "reason": "Transfer in progress", - "timestamp": "2020-10-15T06:38:00.000+00:00" + "name": "", + "value": 0, + "amount": 500, + "rate": 12.5, + "desc": "Your monthly recurring Pro plan.", + "resourceId": "" } }, - "addonList": { - "description": "Addons list", + "activityEventList": { + "description": "Activity event list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of addons that matched your query.", + "description": "Total number of events that matched your query.", "x-example": 5, "format": "int32" }, - "addons": { + "events": { "type": "array", - "description": "List of addons.", + "description": "List of events.", "items": { - "$ref": "#\/components\/schemas\/addon" + "$ref": "#\/components\/schemas\/activityEvent" }, "x-example": "" } }, "required": [ "total", - "addons" + "events" ], "example": { "total": 5, - "addons": "" + "events": "" } }, - "activityEventList": { - "description": "Activity event list", + "addonList": { + "description": "Addons list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of events that matched your query.", + "description": "Total number of addons that matched your query.", "x-example": 5, "format": "int32" }, - "events": { + "addons": { "type": "array", - "description": "List of events.", + "description": "List of addons.", "items": { - "$ref": "#\/components\/schemas\/activityEvent" + "$ref": "#\/components\/schemas\/addon" }, "x-example": "" } }, "required": [ "total", - "events" + "addons" ], "example": { "total": 5, - "events": "" + "addons": "" } }, "aggregationTeamList": { @@ -98579,60 +105907,60 @@ "restorations": "" } }, - "invoiceList": { - "description": "Billing invoices list", + "billingAddressList": { + "description": "Billing address list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of invoices that matched your query.", + "description": "Total number of billingAddresses that matched your query.", "x-example": 5, "format": "int32" }, - "invoices": { + "billingAddresses": { "type": "array", - "description": "List of invoices.", + "description": "List of billingAddresses.", "items": { - "$ref": "#\/components\/schemas\/invoice" + "$ref": "#\/components\/schemas\/billingAddress" }, "x-example": "" } }, "required": [ "total", - "invoices" + "billingAddresses" ], "example": { "total": 5, - "invoices": "" + "billingAddresses": "" } }, - "billingAddressList": { - "description": "Billing address list", + "invoiceList": { + "description": "Billing invoices list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of billingAddresses that matched your query.", + "description": "Total number of invoices that matched your query.", "x-example": 5, "format": "int32" }, - "billingAddresses": { + "invoices": { "type": "array", - "description": "List of billingAddresses.", + "description": "List of invoices.", "items": { - "$ref": "#\/components\/schemas\/billingAddress" + "$ref": "#\/components\/schemas\/invoice" }, "x-example": "" } }, "required": [ "total", - "billingAddresses" + "invoices" ], "example": { "total": 5, - "billingAddresses": "" + "invoices": "" } }, "billingPlanList": { @@ -98663,144 +105991,144 @@ "plans": "" } }, - "organizationList": { - "description": "Organizations list", + "blockList": { + "description": "Blocks list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of teams that matched your query.", + "description": "Total number of blocks that matched your query.", "x-example": 5, "format": "int32" }, - "teams": { + "blocks": { "type": "array", - "description": "List of teams.", + "description": "List of blocks.", "items": { - "$ref": "#\/components\/schemas\/organization" + "$ref": "#\/components\/schemas\/block" }, "x-example": "" } }, "required": [ "total", - "teams" + "blocks" ], "example": { "total": 5, - "teams": "" + "blocks": "" } }, - "paymentMethodList": { - "description": "Payment methods list", + "dedicatedDatabaseAuditLogList": { + "description": "Dedicated database audit logs list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of paymentMethods that matched your query.", + "description": "Total number of auditLogs that matched your query.", "x-example": 5, "format": "int32" }, - "paymentMethods": { + "auditLogs": { "type": "array", - "description": "List of paymentMethods.", + "description": "List of auditLogs.", "items": { - "$ref": "#\/components\/schemas\/paymentMethod" + "$ref": "#\/components\/schemas\/dedicatedDatabaseAuditLog" }, "x-example": "" } }, "required": [ "total", - "paymentMethods" + "auditLogs" ], "example": { "total": 5, - "paymentMethods": "" + "auditLogs": "" } }, - "blockList": { - "description": "Blocks list", + "dedicatedDatabaseConnectionList": { + "description": "Dedicated database connections list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of blocks that matched your query.", + "description": "Total number of connections that matched your query.", "x-example": 5, "format": "int32" }, - "blocks": { + "connections": { "type": "array", - "description": "List of blocks.", + "description": "List of connections.", "items": { - "$ref": "#\/components\/schemas\/block" + "$ref": "#\/components\/schemas\/dedicatedDatabaseConnection" }, "x-example": "" } }, "required": [ "total", - "blocks" + "connections" ], "example": { "total": 5, - "blocks": "" + "connections": "" } }, - "consoleRegionList": { - "description": "Regions list", + "dedicatedDatabaseSlowQueryList": { + "description": "Dedicated database slow queries list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of regions that matched your query.", + "description": "Total number of slowQueries that matched your query.", "x-example": 5, "format": "int32" }, - "regions": { + "slowQueries": { "type": "array", - "description": "List of regions.", + "description": "List of slowQueries.", "items": { - "$ref": "#\/components\/schemas\/consoleRegion" + "$ref": "#\/components\/schemas\/dedicatedDatabaseSlowQuery" }, "x-example": "" } }, "required": [ "total", - "regions" + "slowQueries" ], "example": { "total": 5, - "regions": "" + "slowQueries": "" } }, - "domainsList": { - "description": "Domains list", + "dedicatedDatabaseList": { + "description": "Dedicated databases list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of domains that matched your query.", + "description": "Total number of databases that matched your query.", "x-example": 5, "format": "int32" }, - "domains": { + "databases": { "type": "array", - "description": "List of domains.", + "description": "List of databases.", "items": { - "$ref": "#\/components\/schemas\/domain" + "$ref": "#\/components\/schemas\/dedicatedDatabase" }, "x-example": "" } }, "required": [ "total", - "domains" + "databases" ], "example": { "total": 5, - "domains": "" + "databases": "" } }, "dnsRecordsList": { @@ -98858,6 +106186,174 @@ "total": 5, "suggestions": "" } + }, + "domainsList": { + "description": "Domains list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of domains that matched your query.", + "x-example": 5, + "format": "int32" + }, + "domains": { + "type": "array", + "description": "List of domains.", + "items": { + "$ref": "#\/components\/schemas\/domain" + }, + "x-example": "" + } + }, + "required": [ + "total", + "domains" + ], + "example": { + "total": 5, + "domains": "" + } + }, + "organizationList": { + "description": "Organizations list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of teams that matched your query.", + "x-example": 5, + "format": "int32" + }, + "teams": { + "type": "array", + "description": "List of teams.", + "items": { + "$ref": "#\/components\/schemas\/organization" + }, + "x-example": "" + } + }, + "required": [ + "total", + "teams" + ], + "example": { + "total": 5, + "teams": "" + } + }, + "paymentMethodList": { + "description": "Payment methods list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of paymentMethods that matched your query.", + "x-example": 5, + "format": "int32" + }, + "paymentMethods": { + "type": "array", + "description": "List of paymentMethods.", + "items": { + "$ref": "#\/components\/schemas\/paymentMethod" + }, + "x-example": "" + } + }, + "required": [ + "total", + "paymentMethods" + ], + "example": { + "total": 5, + "paymentMethods": "" + } + }, + "consoleRegionList": { + "description": "Regions list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of regions that matched your query.", + "x-example": 5, + "format": "int32" + }, + "regions": { + "type": "array", + "description": "List of regions.", + "items": { + "$ref": "#\/components\/schemas\/consoleRegion" + }, + "x-example": "" + } + }, + "required": [ + "total", + "regions" + ], + "example": { + "total": 5, + "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": "" + } } }, "securitySchemes": { 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 c74f684e6..943392246 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 @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,12 +17,23 @@ }, "servers": [ { - "url": "https:\/\/cloud.appwrite.io\/v1" + "url": "https:\/\/cloud.appwrite.io\/v1", + "description": "Appwrite Cloud endpoint." }, { - "url": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + "url": "https:\/\/{region}.cloud.appwrite.io\/v1", + "description": "Appwrite Cloud regional endpoint. Replace `{region}` with your project region.", + "variables": { + "region": { + "default": "fra", + "description": "Appwrite Cloud region." + } + } } ], + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "paths": { "\/account": { "get": { @@ -562,7 +573,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -635,7 +646,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -762,7 +773,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -905,7 +916,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -1032,7 +1043,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -1169,7 +1180,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -1310,7 +1321,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -1414,7 +1425,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -1516,7 +1527,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -1618,7 +1629,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -2540,6 +2551,149 @@ } } }, + "\/account\/sessions\/oauth2\/{provider}": { + "get": { + "summary": "Create OAuth2 session", + "operationId": "accountCreateOAuth2Session", + "tags": [ + "account" + ], + "description": "Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.\n\nIf there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", + "responses": { + "301": { + "description": "File" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createOAuth2Session", + "group": "sessions", + "weight": 19, + "cookies": false, + "type": "webAuth", + "demo": "account\/create-o-auth-2-session.md", + "rate-limit": 50, + "rate-time": 3600, + "rate-key": "ip:{ip}", + "scope": "sessions.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "provider", + "description": "OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, x, yahoo, yammer, yandex, zoho, zoom.", + "required": true, + "schema": { + "type": "string", + "x-example": "amazon", + "enum": [ + "amazon", + "apple", + "auth0", + "authentik", + "autodesk", + "bitbucket", + "bitly", + "box", + "dailymotion", + "discord", + "disqus", + "dropbox", + "etsy", + "facebook", + "figma", + "fusionauth", + "github", + "gitlab", + "google", + "keycloak", + "kick", + "linkedin", + "microsoft", + "notion", + "oidc", + "okta", + "paypal", + "paypalSandbox", + "podio", + "salesforce", + "slack", + "spotify", + "stripe", + "tradeshift", + "tradeshiftBox", + "twitch", + "wordpress", + "x", + "yahoo", + "yammer", + "yandex", + "zoho", + "zoom" + ], + "x-enum-name": "OAuthProvider", + "x-enum-keys": [] + }, + "in": "path" + }, + { + "name": "success", + "description": "URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "required": false, + "schema": { + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "" + }, + "in": "query" + }, + { + "name": "failure", + "description": "URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "required": false, + "schema": { + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "" + }, + "in": "query" + }, + { + "name": "scopes", + "description": "A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] + } + }, "\/account\/sessions\/phone": { "put": { "summary": "Update phone session", @@ -2943,6 +3097,232 @@ ] } }, + "\/account\/targets\/push": { + "post": { + "summary": "Create push target", + "operationId": "accountCreatePushTarget", + "tags": [ + "account" + ], + "description": "Use this endpoint to register a device for push notifications. Provide a target ID (custom or generated using ID.unique()), a device identifier (usually a device token), and optionally specify which provider should send notifications to this target. The target is automatically linked to the current session and includes device information like brand and model.", + "responses": { + "201": { + "description": "Target", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/target" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createPushTarget", + "group": "pushTargets", + "weight": 44, + "cookies": false, + "type": "", + "demo": "account\/create-push-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "targetId": { + "type": "string", + "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TARGET_ID>" + }, + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + }, + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>" + } + }, + "required": [ + "targetId", + "identifier" + ] + } + } + } + } + } + }, + "\/account\/targets\/{targetId}\/push": { + "put": { + "summary": "Update push target", + "operationId": "accountUpdatePushTarget", + "tags": [ + "account" + ], + "description": "Update the currently logged in user's push notification target. You can modify the target's identifier (device token) and provider ID (token, email, phone etc.). The target must exist and belong to the current user. If you change the provider ID, notifications will be sent through the new messaging provider instead.", + "responses": { + "200": { + "description": "Target", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/target" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePushTarget", + "group": "pushTargets", + "weight": 45, + "cookies": false, + "type": "", + "demo": "account\/update-push-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TARGET_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + } + }, + "required": [ + "identifier" + ] + } + } + } + } + }, + "delete": { + "summary": "Delete push target", + "operationId": "accountDeletePushTarget", + "tags": [ + "account" + ], + "description": "Delete a push notification target for the currently logged in user. After deletion, the device will no longer receive push notifications. The target must exist and belong to the current user.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deletePushTarget", + "group": "pushTargets", + "weight": 46, + "cookies": false, + "type": "", + "demo": "account\/delete-push-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<TARGET_ID>" + }, + "in": "path" + } + ] + } + }, "\/account\/tokens\/email": { "post": { "summary": "Create email token (OTP)", @@ -3772,7 +4152,7 @@ "x-appwrite": { "method": "listEvents", "group": null, - "weight": 1193, + "weight": 1258, "cookies": false, "type": "", "demo": "activities\/list-events.md", @@ -3836,7 +4216,7 @@ "x-appwrite": { "method": "getEvent", "group": "events", - "weight": 1194, + "weight": 1259, "cookies": false, "type": "", "demo": "activities\/get-event.md", @@ -3893,7 +4273,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -4023,7 +4403,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -4159,7 +4539,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -4221,7 +4601,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -4713,7 +5093,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -4799,7 +5179,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -4895,7 +5275,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -4991,7 +5371,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -5136,7 +5516,7 @@ "required": false, "schema": { "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -5559,8 +5939,7 @@ "utc" ], "x-enum-name": null, - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" }, @@ -5714,8 +6093,7 @@ "gif" ], "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" } @@ -5746,7 +6124,7 @@ "x-appwrite": { "method": "listArchives", "group": null, - "weight": 1064, + "weight": 1127, "cookies": false, "type": "", "demo": "backups\/list-archives.md", @@ -5811,7 +6189,7 @@ "x-appwrite": { "method": "createArchive", "group": null, - "weight": 1065, + "weight": 1128, "cookies": false, "type": "", "demo": "backups\/create-archive.md", @@ -5901,7 +6279,7 @@ "x-appwrite": { "method": "getArchive", "group": null, - "weight": 1063, + "weight": 1126, "cookies": false, "type": "", "demo": "backups\/get-archive.md", @@ -5956,7 +6334,7 @@ "x-appwrite": { "method": "deleteArchive", "group": null, - "weight": 1066, + "weight": 1129, "cookies": false, "type": "", "demo": "backups\/delete-archive.md", @@ -6020,7 +6398,7 @@ "x-appwrite": { "method": "listPolicies", "group": null, - "weight": 1059, + "weight": 1122, "cookies": false, "type": "", "demo": "backups\/list-policies.md", @@ -6088,7 +6466,7 @@ "x-appwrite": { "method": "createPolicy", "group": null, - "weight": 1060, + "weight": 1123, "cookies": false, "type": "", "demo": "backups\/create-policy.md", @@ -6210,7 +6588,7 @@ "x-appwrite": { "method": "getPolicy", "group": null, - "weight": 1058, + "weight": 1121, "cookies": false, "type": "", "demo": "backups\/get-policy.md", @@ -6275,7 +6653,7 @@ "x-appwrite": { "method": "updatePolicy", "group": null, - "weight": 1061, + "weight": 1124, "cookies": false, "type": "", "demo": "backups\/update-policy.md", @@ -6368,7 +6746,7 @@ "x-appwrite": { "method": "deletePolicy", "group": null, - "weight": 1062, + "weight": 1125, "cookies": false, "type": "", "demo": "backups\/delete-policy.md", @@ -6435,7 +6813,7 @@ "x-appwrite": { "method": "createRestoration", "group": null, - "weight": 1069, + "weight": 1132, "cookies": false, "type": "", "demo": "backups\/create-restoration.md", @@ -6535,7 +6913,7 @@ "x-appwrite": { "method": "listRestorations", "group": null, - "weight": 1068, + "weight": 1131, "cookies": false, "type": "", "demo": "backups\/list-restorations.md", @@ -6602,7 +6980,7 @@ "x-appwrite": { "method": "getRestoration", "group": null, - "weight": 1067, + "weight": 1130, "cookies": false, "type": "", "demo": "backups\/get-restoration.md", @@ -6666,7 +7044,7 @@ "x-appwrite": { "method": "list", "group": "databases", - "weight": 691, + "weight": 704, "cookies": false, "type": "", "demo": "databases\/list.md", @@ -6787,7 +7165,7 @@ "x-appwrite": { "method": "create", "group": "databases", - "weight": 687, + "weight": 700, "cookies": false, "type": "", "demo": "databases\/create.md", @@ -6906,7 +7284,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 761, + "weight": 774, "cookies": false, "type": "", "demo": "databases\/list-transactions.md", @@ -6975,7 +7353,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 757, + "weight": 770, "cookies": false, "type": "", "demo": "databases\/create-transaction.md", @@ -7048,7 +7426,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 758, + "weight": 771, "cookies": false, "type": "", "demo": "databases\/get-transaction.md", @@ -7114,7 +7492,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 759, + "weight": 772, "cookies": false, "type": "", "demo": "databases\/update-transaction.md", @@ -7194,7 +7572,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 760, + "weight": 773, "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", @@ -7262,7 +7640,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 762, + "weight": 775, "cookies": false, "type": "", "demo": "databases\/create-operations.md", @@ -7349,7 +7727,7 @@ "x-appwrite": { "method": "get", "group": "databases", - "weight": 688, + "weight": 701, "cookies": false, "type": "", "demo": "databases\/get.md", @@ -7445,7 +7823,7 @@ "x-appwrite": { "method": "update", "group": "databases", - "weight": 689, + "weight": 702, "cookies": false, "type": "", "demo": "databases\/update.md", @@ -7557,7 +7935,7 @@ "x-appwrite": { "method": "delete", "group": "databases", - "weight": 690, + "weight": 703, "cookies": false, "type": "", "demo": "databases\/delete.md", @@ -7654,7 +8032,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 699, + "weight": 712, "cookies": false, "type": "", "demo": "databases\/list-collections.md", @@ -7755,7 +8133,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 695, + "weight": 708, "cookies": false, "type": "", "demo": "databases\/create-collection.md", @@ -7883,7 +8261,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 696, + "weight": 709, "cookies": false, "type": "", "demo": "databases\/get-collection.md", @@ -7959,7 +8337,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 697, + "weight": 710, "cookies": false, "type": "", "demo": "databases\/update-collection.md", @@ -8068,7 +8446,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 698, + "weight": 711, "cookies": false, "type": "", "demo": "databases\/delete-collection.md", @@ -8146,7 +8524,7 @@ "x-appwrite": { "method": "listAttributes", "group": "attributes", - "weight": 716, + "weight": 729, "cookies": false, "type": "", "demo": "databases\/list-attributes.md", @@ -8248,7 +8626,7 @@ "x-appwrite": { "method": "createBigIntAttribute", "group": "attributes", - "weight": 729, + "weight": 742, "cookies": false, "type": "", "demo": "databases\/create-big-int-attribute.md", @@ -8377,7 +8755,7 @@ "x-appwrite": { "method": "updateBigIntAttribute", "group": "attributes", - "weight": 730, + "weight": 743, "cookies": false, "type": "", "demo": "databases\/update-big-int-attribute.md", @@ -8511,7 +8889,7 @@ "x-appwrite": { "method": "createBooleanAttribute", "group": "attributes", - "weight": 717, + "weight": 730, "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", @@ -8625,7 +9003,7 @@ "x-appwrite": { "method": "updateBooleanAttribute", "group": "attributes", - "weight": 718, + "weight": 731, "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", @@ -8744,7 +9122,7 @@ "x-appwrite": { "method": "createDatetimeAttribute", "group": "attributes", - "weight": 719, + "weight": 732, "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", @@ -8859,7 +9237,7 @@ "x-appwrite": { "method": "updateDatetimeAttribute", "group": "attributes", - "weight": 720, + "weight": 733, "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", @@ -8979,7 +9357,7 @@ "x-appwrite": { "method": "createEmailAttribute", "group": "attributes", - "weight": 721, + "weight": 734, "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", @@ -9094,7 +9472,7 @@ "x-appwrite": { "method": "updateEmailAttribute", "group": "attributes", - "weight": 722, + "weight": 735, "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", @@ -9214,7 +9592,7 @@ "x-appwrite": { "method": "createEnumAttribute", "group": "attributes", - "weight": 723, + "weight": 736, "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", @@ -9337,7 +9715,7 @@ "x-appwrite": { "method": "updateEnumAttribute", "group": "attributes", - "weight": 724, + "weight": 737, "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", @@ -9465,7 +9843,7 @@ "x-appwrite": { "method": "createFloatAttribute", "group": "attributes", - "weight": 725, + "weight": 738, "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", @@ -9594,7 +9972,7 @@ "x-appwrite": { "method": "updateFloatAttribute", "group": "attributes", - "weight": 726, + "weight": 739, "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", @@ -9728,7 +10106,7 @@ "x-appwrite": { "method": "createIntegerAttribute", "group": "attributes", - "weight": 727, + "weight": 740, "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", @@ -9857,7 +10235,7 @@ "x-appwrite": { "method": "updateIntegerAttribute", "group": "attributes", - "weight": 728, + "weight": 741, "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", @@ -9991,7 +10369,7 @@ "x-appwrite": { "method": "createIpAttribute", "group": "attributes", - "weight": 731, + "weight": 744, "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", @@ -10105,7 +10483,7 @@ "x-appwrite": { "method": "updateIpAttribute", "group": "attributes", - "weight": 732, + "weight": 745, "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", @@ -10224,7 +10602,7 @@ "x-appwrite": { "method": "createLineAttribute", "group": "attributes", - "weight": 733, + "weight": 746, "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", @@ -10340,7 +10718,7 @@ "x-appwrite": { "method": "updateLineAttribute", "group": "attributes", - "weight": 734, + "weight": 747, "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", @@ -10465,7 +10843,7 @@ "x-appwrite": { "method": "createLongtextAttribute", "group": "attributes", - "weight": 751, + "weight": 764, "cookies": false, "type": "", "demo": "databases\/create-longtext-attribute.md", @@ -10580,7 +10958,7 @@ "x-appwrite": { "method": "updateLongtextAttribute", "group": "attributes", - "weight": 752, + "weight": 765, "cookies": false, "type": "", "demo": "databases\/update-longtext-attribute.md", @@ -10695,7 +11073,7 @@ "x-appwrite": { "method": "createMediumtextAttribute", "group": "attributes", - "weight": 749, + "weight": 762, "cookies": false, "type": "", "demo": "databases\/create-mediumtext-attribute.md", @@ -10810,7 +11188,7 @@ "x-appwrite": { "method": "updateMediumtextAttribute", "group": "attributes", - "weight": 750, + "weight": 763, "cookies": false, "type": "", "demo": "databases\/update-mediumtext-attribute.md", @@ -10925,7 +11303,7 @@ "x-appwrite": { "method": "createPointAttribute", "group": "attributes", - "weight": 735, + "weight": 748, "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", @@ -11041,7 +11419,7 @@ "x-appwrite": { "method": "updatePointAttribute", "group": "attributes", - "weight": 736, + "weight": 749, "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", @@ -11166,7 +11544,7 @@ "x-appwrite": { "method": "createPolygonAttribute", "group": "attributes", - "weight": 737, + "weight": 750, "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", @@ -11282,7 +11660,7 @@ "x-appwrite": { "method": "updatePolygonAttribute", "group": "attributes", - "weight": 738, + "weight": 751, "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", @@ -11407,7 +11785,7 @@ "x-appwrite": { "method": "createRelationshipAttribute", "group": "attributes", - "weight": 739, + "weight": 752, "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", @@ -11547,7 +11925,7 @@ "x-appwrite": { "method": "updateRelationshipAttribute", "group": "attributes", - "weight": 740, + "weight": 753, "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", @@ -11663,7 +12041,7 @@ "x-appwrite": { "method": "createStringAttribute", "group": "attributes", - "weight": 741, + "weight": 754, "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", @@ -11789,7 +12167,7 @@ "x-appwrite": { "method": "updateStringAttribute", "group": "attributes", - "weight": 742, + "weight": 755, "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", @@ -11915,7 +12293,7 @@ "x-appwrite": { "method": "createTextAttribute", "group": "attributes", - "weight": 747, + "weight": 760, "cookies": false, "type": "", "demo": "databases\/create-text-attribute.md", @@ -12030,7 +12408,7 @@ "x-appwrite": { "method": "updateTextAttribute", "group": "attributes", - "weight": 748, + "weight": 761, "cookies": false, "type": "", "demo": "databases\/update-text-attribute.md", @@ -12145,7 +12523,7 @@ "x-appwrite": { "method": "createUrlAttribute", "group": "attributes", - "weight": 743, + "weight": 756, "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", @@ -12260,7 +12638,7 @@ "x-appwrite": { "method": "updateUrlAttribute", "group": "attributes", - "weight": 744, + "weight": 757, "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", @@ -12380,7 +12758,7 @@ "x-appwrite": { "method": "createVarcharAttribute", "group": "attributes", - "weight": 745, + "weight": 758, "cookies": false, "type": "", "demo": "databases\/create-varchar-attribute.md", @@ -12502,7 +12880,7 @@ "x-appwrite": { "method": "updateVarcharAttribute", "group": "attributes", - "weight": 746, + "weight": 759, "cookies": false, "type": "", "demo": "databases\/update-varchar-attribute.md", @@ -12706,7 +13084,7 @@ "x-appwrite": { "method": "getAttribute", "group": "attributes", - "weight": 714, + "weight": 727, "cookies": false, "type": "", "demo": "databases\/get-attribute.md", @@ -12784,7 +13162,7 @@ "x-appwrite": { "method": "deleteAttribute", "group": "attributes", - "weight": 715, + "weight": 728, "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", @@ -12871,7 +13249,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 905, + "weight": 918, "cookies": false, "type": "", "demo": "databases\/list-documents.md", @@ -12997,7 +13375,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 702, + "weight": 715, "cookies": false, "type": "", "demo": "databases\/create-document.md", @@ -13192,7 +13570,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 707, + "weight": 720, "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", @@ -13331,7 +13709,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 705, + "weight": 718, "cookies": false, "type": "", "demo": "databases\/update-documents.md", @@ -13437,7 +13815,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 709, + "weight": 722, "cookies": false, "type": "", "demo": "databases\/delete-documents.md", @@ -13540,7 +13918,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 703, + "weight": 716, "cookies": false, "type": "", "demo": "databases\/get-document.md", @@ -13653,7 +14031,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 706, + "weight": 719, "cookies": false, "type": "", "demo": "databases\/upsert-document.md", @@ -13811,7 +14189,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 704, + "weight": 717, "cookies": false, "type": "", "demo": "databases\/update-document.md", @@ -13925,7 +14303,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 708, + "weight": 721, "cookies": false, "type": "", "demo": "databases\/delete-document.md", @@ -14034,7 +14412,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 713, + "weight": 726, "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", @@ -14165,7 +14543,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 712, + "weight": 725, "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", @@ -14296,7 +14674,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 756, + "weight": 769, "cookies": false, "type": "", "demo": "databases\/list-indexes.md", @@ -14396,7 +14774,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 753, + "weight": 766, "cookies": false, "type": "", "demo": "databases\/create-index.md", @@ -14538,7 +14916,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 754, + "weight": 767, "cookies": false, "type": "", "demo": "databases\/get-index.md", @@ -14616,7 +14994,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 755, + "weight": 768, "cookies": false, "type": "", "demo": "databases\/delete-index.md", @@ -14703,7 +15081,7 @@ "x-appwrite": { "method": "list", "group": "documentsdb", - "weight": 842, + "weight": 920, "cookies": false, "type": "", "demo": "documentsdb\/list.md", @@ -14743,17 +15121,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -14790,7 +15157,7 @@ "x-appwrite": { "method": "create", "group": "documentsdb", - "weight": 838, + "weight": 922, "cookies": false, "type": "", "demo": "documentsdb\/create.md", @@ -14872,7 +15239,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 870, + "weight": 883, "cookies": false, "type": "", "demo": "documentsdb\/list-transactions.md", @@ -14941,7 +15308,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 866, + "weight": 879, "cookies": false, "type": "", "demo": "documentsdb\/create-transaction.md", @@ -15014,7 +15381,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 867, + "weight": 880, "cookies": false, "type": "", "demo": "documentsdb\/get-transaction.md", @@ -15080,7 +15447,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 868, + "weight": 881, "cookies": false, "type": "", "demo": "documentsdb\/update-transaction.md", @@ -15160,7 +15527,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 869, + "weight": 882, "cookies": false, "type": "", "demo": "documentsdb\/delete-transaction.md", @@ -15228,7 +15595,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 871, + "weight": 884, "cookies": false, "type": "", "demo": "documentsdb\/create-operations.md", @@ -15314,7 +15681,7 @@ "x-appwrite": { "method": "get", "group": "documentsdb", - "weight": 839, + "weight": 852, "cookies": false, "type": "", "demo": "documentsdb\/get.md", @@ -15376,7 +15743,7 @@ "x-appwrite": { "method": "update", "group": "documentsdb", - "weight": 840, + "weight": 853, "cookies": false, "type": "", "demo": "documentsdb\/update.md", @@ -15455,7 +15822,7 @@ "x-appwrite": { "method": "delete", "group": "documentsdb", - "weight": 841, + "weight": 923, "cookies": false, "type": "", "demo": "documentsdb\/delete.md", @@ -15519,7 +15886,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 849, + "weight": 862, "cookies": false, "type": "", "demo": "documentsdb\/list-collections.md", @@ -15616,7 +15983,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 845, + "weight": 858, "cookies": false, "type": "", "demo": "documentsdb\/create-collection.md", @@ -15740,7 +16107,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 846, + "weight": 859, "cookies": false, "type": "", "demo": "documentsdb\/get-collection.md", @@ -15812,7 +16179,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 847, + "weight": 860, "cookies": false, "type": "", "demo": "documentsdb\/update-collection.md", @@ -15919,7 +16286,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 848, + "weight": 861, "cookies": false, "type": "", "demo": "documentsdb\/delete-collection.md", @@ -15993,7 +16360,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 906, + "weight": 921, "cookies": false, "type": "", "demo": "documentsdb\/list-documents.md", @@ -16115,7 +16482,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 855, + "weight": 868, "cookies": false, "type": "", "demo": "documentsdb\/create-document.md", @@ -16294,7 +16661,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 860, + "weight": 873, "cookies": false, "type": "", "demo": "documentsdb\/upsert-documents.md", @@ -16424,7 +16791,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 858, + "weight": 871, "cookies": false, "type": "", "demo": "documentsdb\/update-documents.md", @@ -16525,7 +16892,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 862, + "weight": 875, "cookies": false, "type": "", "demo": "documentsdb\/delete-documents.md", @@ -16623,7 +16990,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 856, + "weight": 869, "cookies": false, "type": "", "demo": "documentsdb\/get-document.md", @@ -16732,7 +17099,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 859, + "weight": 872, "cookies": false, "type": "", "demo": "documentsdb\/upsert-document.md", @@ -16880,7 +17247,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 857, + "weight": 870, "cookies": false, "type": "", "demo": "documentsdb\/update-document.md", @@ -16988,7 +17355,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 861, + "weight": 874, "cookies": false, "type": "", "demo": "documentsdb\/delete-document.md", @@ -17092,7 +17459,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 865, + "weight": 878, "cookies": false, "type": "", "demo": "documentsdb\/decrement-document-attribute.md", @@ -17217,7 +17584,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 864, + "weight": 877, "cookies": false, "type": "", "demo": "documentsdb\/increment-document-attribute.md", @@ -17342,7 +17709,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 854, + "weight": 867, "cookies": false, "type": "", "demo": "documentsdb\/list-indexes.md", @@ -17438,7 +17805,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 851, + "weight": 864, "cookies": false, "type": "", "demo": "documentsdb\/create-index.md", @@ -17575,7 +17942,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 852, + "weight": 865, "cookies": false, "type": "", "demo": "documentsdb\/get-index.md", @@ -17649,7 +18016,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 853, + "weight": 866, "cookies": false, "type": "", "demo": "documentsdb\/delete-index.md", @@ -17732,7 +18099,7 @@ "x-appwrite": { "method": "list", "group": "functions", - "weight": 420, + "weight": 425, "cookies": false, "type": "", "demo": "functions\/list.md", @@ -17818,7 +18185,7 @@ "x-appwrite": { "method": "create", "group": "functions", - "weight": 908, + "weight": 969, "cookies": false, "type": "", "demo": "functions\/create.md", @@ -18092,6 +18459,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -18100,7 +18473,8 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], "x-enum-name": null, "x-enum-keys": [] @@ -18183,7 +18557,7 @@ "x-appwrite": { "method": "listRuntimes", "group": "runtimes", - "weight": 422, + "weight": 427, "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", @@ -18234,7 +18608,7 @@ "x-appwrite": { "method": "listSpecifications", "group": "runtimes", - "weight": 423, + "weight": 428, "cookies": false, "type": "", "demo": "functions\/list-specifications.md", @@ -18285,7 +18659,7 @@ "x-appwrite": { "method": "get", "group": "functions", - "weight": 418, + "weight": 423, "cookies": false, "type": "", "demo": "functions\/get.md", @@ -18346,7 +18720,7 @@ "x-appwrite": { "method": "update", "group": "functions", - "weight": 909, + "weight": 970, "cookies": false, "type": "", "demo": "functions\/update.md", @@ -18627,6 +19001,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -18635,7 +19015,8 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], "x-enum-name": null, "x-enum-keys": [] @@ -18708,7 +19089,7 @@ "x-appwrite": { "method": "delete", "group": "functions", - "weight": 421, + "weight": 426, "cookies": false, "type": "", "demo": "functions\/delete.md", @@ -18771,7 +19152,7 @@ "x-appwrite": { "method": "updateFunctionDeployment", "group": "functions", - "weight": 426, + "weight": 431, "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", @@ -18853,7 +19234,7 @@ "x-appwrite": { "method": "listDeployments", "group": "deployments", - "weight": 427, + "weight": 432, "cookies": false, "type": "", "demo": "functions\/list-deployments.md", @@ -18949,7 +19330,7 @@ "x-appwrite": { "method": "createDeployment", "group": "deployments", - "weight": 424, + "weight": 429, "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", @@ -19050,7 +19431,7 @@ "x-appwrite": { "method": "createDuplicateDeployment", "group": "deployments", - "weight": 432, + "weight": 437, "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", @@ -19137,7 +19518,7 @@ "x-appwrite": { "method": "createTemplateDeployment", "group": "deployments", - "weight": 429, + "weight": 434, "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", @@ -19255,7 +19636,7 @@ "x-appwrite": { "method": "createVcsDeployment", "group": "deployments", - "weight": 430, + "weight": 435, "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", @@ -19354,7 +19735,7 @@ "x-appwrite": { "method": "getDeployment", "group": "deployments", - "weight": 425, + "weight": 430, "cookies": false, "type": "", "demo": "functions\/get-deployment.md", @@ -19418,7 +19799,7 @@ "x-appwrite": { "method": "deleteDeployment", "group": "deployments", - "weight": 428, + "weight": 433, "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", @@ -19484,7 +19865,7 @@ "x-appwrite": { "method": "getDeploymentDownload", "group": "deployments", - "weight": 431, + "weight": 436, "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", @@ -19576,7 +19957,7 @@ "x-appwrite": { "method": "updateDeploymentStatus", "group": "deployments", - "weight": 433, + "weight": 438, "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", @@ -19649,7 +20030,7 @@ "x-appwrite": { "method": "listExecutions", "group": "executions", - "weight": 436, + "weight": 441, "cookies": false, "type": "", "demo": "functions\/list-executions.md", @@ -19741,7 +20122,7 @@ "x-appwrite": { "method": "createExecution", "group": "executions", - "weight": 434, + "weight": 439, "cookies": false, "type": "", "demo": "functions\/create-execution.md", @@ -19864,7 +20245,7 @@ "x-appwrite": { "method": "getExecution", "group": "executions", - "weight": 435, + "weight": 440, "cookies": false, "type": "", "demo": "functions\/get-execution.md", @@ -19935,7 +20316,7 @@ "x-appwrite": { "method": "deleteExecution", "group": "executions", - "weight": 437, + "weight": 442, "cookies": false, "type": "", "demo": "functions\/delete-execution.md", @@ -20011,7 +20392,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 442, + "weight": 447, "cookies": false, "type": "", "demo": "functions\/list-variables.md", @@ -20096,7 +20477,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 910, + "weight": 971, "cookies": false, "type": "", "demo": "functions\/create-variable.md", @@ -20195,7 +20576,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 441, + "weight": 446, "cookies": false, "type": "", "demo": "functions\/get-variable.md", @@ -20266,7 +20647,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 443, + "weight": 448, "cookies": false, "type": "", "demo": "functions\/update-variable.md", @@ -20359,7 +20740,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 444, + "weight": 449, "cookies": false, "type": "", "demo": "functions\/delete-variable.md", @@ -20432,7 +20813,7 @@ "x-appwrite": { "method": "query", "group": "graphql", - "weight": 117, + "weight": 116, "cookies": false, "type": "graphql", "demo": "graphql\/query.md", @@ -20488,7 +20869,7 @@ "x-appwrite": { "method": "mutation", "group": "graphql", - "weight": 116, + "weight": 115, "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", @@ -20544,7 +20925,7 @@ "x-appwrite": { "method": "get", "group": "health", - "weight": 447, + "weight": 452, "cookies": false, "type": "", "demo": "health\/get.md", @@ -20596,7 +20977,7 @@ "x-appwrite": { "method": "getAntivirus", "group": "health", - "weight": 456, + "weight": 461, "cookies": false, "type": "", "demo": "health\/get-antivirus.md", @@ -20648,7 +21029,7 @@ "x-appwrite": { "method": "getCache", "group": "health", - "weight": 450, + "weight": 455, "cookies": false, "type": "", "demo": "health\/get-cache.md", @@ -20700,7 +21081,7 @@ "x-appwrite": { "method": "getCertificate", "group": "health", - "weight": 453, + "weight": 458, "cookies": false, "type": "", "demo": "health\/get-certificate.md", @@ -20763,7 +21144,7 @@ "x-appwrite": { "method": "getConsolePausing", "group": null, - "weight": 1052, + "weight": 1115, "cookies": false, "type": "", "demo": "health\/get-console-pausing.md", @@ -20839,7 +21220,7 @@ "x-appwrite": { "method": "getDB", "group": "health", - "weight": 449, + "weight": 454, "cookies": false, "type": "", "demo": "health\/get-db.md", @@ -20891,7 +21272,7 @@ "x-appwrite": { "method": "getPubSub", "group": "health", - "weight": 451, + "weight": 456, "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", @@ -20943,7 +21324,7 @@ "x-appwrite": { "method": "getQueueAudits", "group": "queue", - "weight": 457, + "weight": 462, "cookies": false, "type": "", "demo": "health\/get-queue-audits.md", @@ -21008,7 +21389,7 @@ "x-appwrite": { "method": "getQueueBillingProjectAggregation", "group": null, - "weight": 1048, + "weight": 1111, "cookies": false, "type": "", "demo": "health\/get-queue-billing-project-aggregation.md", @@ -21073,7 +21454,7 @@ "x-appwrite": { "method": "getQueueBillingTeamAggregation", "group": null, - "weight": 1047, + "weight": 1110, "cookies": false, "type": "", "demo": "health\/get-queue-billing-team-aggregation.md", @@ -21138,7 +21519,7 @@ "x-appwrite": { "method": "getQueueBuilds", "group": "queue", - "weight": 461, + "weight": 466, "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", @@ -21203,7 +21584,7 @@ "x-appwrite": { "method": "getQueuePriorityBuilds", "group": null, - "weight": 1049, + "weight": 1112, "cookies": false, "type": "", "demo": "health\/get-queue-priority-builds.md", @@ -21268,7 +21649,7 @@ "x-appwrite": { "method": "getQueueCertificates", "group": "queue", - "weight": 460, + "weight": 465, "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", @@ -21333,7 +21714,7 @@ "x-appwrite": { "method": "getQueueDatabases", "group": "queue", - "weight": 462, + "weight": 467, "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", @@ -21409,7 +21790,7 @@ "x-appwrite": { "method": "getQueueDeletes", "group": "queue", - "weight": 463, + "weight": 468, "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", @@ -21474,7 +21855,7 @@ "x-appwrite": { "method": "getFailedJobs", "group": "queue", - "weight": 470, + "weight": 475, "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", @@ -21566,7 +21947,7 @@ "x-appwrite": { "method": "getQueueFunctions", "group": "queue", - "weight": 467, + "weight": 472, "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", @@ -21631,7 +22012,7 @@ "x-appwrite": { "method": "getQueueLogs", "group": "queue", - "weight": 459, + "weight": 464, "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", @@ -21696,7 +22077,7 @@ "x-appwrite": { "method": "getQueueMails", "group": "queue", - "weight": 464, + "weight": 469, "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", @@ -21761,7 +22142,7 @@ "x-appwrite": { "method": "getQueueMessaging", "group": "queue", - "weight": 465, + "weight": 470, "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", @@ -21826,7 +22207,7 @@ "x-appwrite": { "method": "getQueueMigrations", "group": "queue", - "weight": 466, + "weight": 471, "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", @@ -21891,7 +22272,7 @@ "x-appwrite": { "method": "getQueueRegionManager", "group": null, - "weight": 1050, + "weight": 1113, "cookies": false, "type": "", "demo": "health\/get-queue-region-manager.md", @@ -21956,7 +22337,7 @@ "x-appwrite": { "method": "getQueueStatsResources", "group": "queue", - "weight": 468, + "weight": 473, "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", @@ -22021,7 +22402,7 @@ "x-appwrite": { "method": "getQueueUsage", "group": "queue", - "weight": 469, + "weight": 474, "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", @@ -22086,7 +22467,7 @@ "x-appwrite": { "method": "getQueueThreats", "group": null, - "weight": 1051, + "weight": 1114, "cookies": false, "type": "", "demo": "health\/get-queue-threats.md", @@ -22151,7 +22532,7 @@ "x-appwrite": { "method": "getQueueWebhooks", "group": "queue", - "weight": 458, + "weight": 463, "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", @@ -22216,7 +22597,7 @@ "x-appwrite": { "method": "getStorage", "group": "storage", - "weight": 455, + "weight": 460, "cookies": false, "type": "", "demo": "health\/get-storage.md", @@ -22268,7 +22649,7 @@ "x-appwrite": { "method": "getStorageLocal", "group": "storage", - "weight": 454, + "weight": 459, "cookies": false, "type": "", "demo": "health\/get-storage-local.md", @@ -22320,7 +22701,7 @@ "x-appwrite": { "method": "getTime", "group": "health", - "weight": 452, + "weight": 457, "cookies": false, "type": "", "demo": "health\/get-time.md", @@ -22820,7 +23201,7 @@ "x-appwrite": { "method": "listMessages", "group": "messages", - "weight": 158, + "weight": 157, "cookies": false, "type": "", "demo": "messaging\/list-messages.md", @@ -22909,7 +23290,7 @@ "x-appwrite": { "method": "createEmail", "group": "messages", - "weight": 155, + "weight": 154, "cookies": false, "type": "", "demo": "messaging\/create-email.md", @@ -23057,7 +23438,7 @@ "x-appwrite": { "method": "updateEmail", "group": "messages", - "weight": 162, + "weight": 161, "cookies": false, "type": "", "demo": "messaging\/update-email.md", @@ -23217,7 +23598,7 @@ "x-appwrite": { "method": "createPush", "group": "messages", - "weight": 157, + "weight": 156, "cookies": false, "type": "", "demo": "messaging\/create-push.md", @@ -23397,7 +23778,7 @@ "x-appwrite": { "method": "updatePush", "group": "messages", - "weight": 164, + "weight": 163, "cookies": false, "type": "", "demo": "messaging\/update-push.md", @@ -23597,7 +23978,7 @@ "x-appwrite": { "method": "createSms", "group": "messages", - "weight": 156, + "weight": 155, "cookies": false, "type": "", "demo": "messaging\/create-sms.md", @@ -23782,7 +24163,7 @@ "x-appwrite": { "method": "updateSms", "group": "messages", - "weight": 163, + "weight": 162, "cookies": false, "type": "", "demo": "messaging\/update-sms.md", @@ -23973,7 +24354,7 @@ "x-appwrite": { "method": "getMessage", "group": "messages", - "weight": 161, + "weight": 160, "cookies": false, "type": "", "demo": "messaging\/get-message.md", @@ -24028,7 +24409,7 @@ "x-appwrite": { "method": "delete", "group": "messages", - "weight": 165, + "weight": 164, "cookies": false, "type": "", "demo": "messaging\/delete.md", @@ -24092,7 +24473,7 @@ "x-appwrite": { "method": "listMessageLogs", "group": "logs", - "weight": 159, + "weight": 158, "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", @@ -24180,7 +24561,7 @@ "x-appwrite": { "method": "listTargets", "group": "messages", - "weight": 160, + "weight": 159, "cookies": false, "type": "", "demo": "messaging\/list-targets.md", @@ -24268,7 +24649,7 @@ "x-appwrite": { "method": "listProviders", "group": "providers", - "weight": 129, + "weight": 128, "cookies": false, "type": "", "demo": "messaging\/list-providers.md", @@ -24357,7 +24738,7 @@ "x-appwrite": { "method": "createApnsProvider", "group": "providers", - "weight": 128, + "weight": 127, "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", @@ -24539,7 +24920,7 @@ "x-appwrite": { "method": "updateApnsProvider", "group": "providers", - "weight": 142, + "weight": 141, "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", @@ -24723,7 +25104,7 @@ "x-appwrite": { "method": "createFcmProvider", "group": "providers", - "weight": 127, + "weight": 126, "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", @@ -24878,7 +25259,7 @@ "x-appwrite": { "method": "updateFcmProvider", "group": "providers", - "weight": 141, + "weight": 140, "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", @@ -25034,7 +25415,7 @@ "x-appwrite": { "method": "createMailgunProvider", "group": "providers", - "weight": 118, + "weight": 117, "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", @@ -25155,7 +25536,7 @@ "x-appwrite": { "method": "updateMailgunProvider", "group": "providers", - "weight": 132, + "weight": 131, "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", @@ -25278,7 +25659,7 @@ "x-appwrite": { "method": "createMsg91Provider", "group": "providers", - "weight": 122, + "weight": 121, "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", @@ -25376,7 +25757,7 @@ "x-appwrite": { "method": "updateMsg91Provider", "group": "providers", - "weight": 136, + "weight": 135, "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", @@ -25477,7 +25858,7 @@ "x-appwrite": { "method": "createResendProvider", "group": "providers", - "weight": 120, + "weight": 119, "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", @@ -25587,7 +25968,7 @@ "x-appwrite": { "method": "updateResendProvider", "group": "providers", - "weight": 134, + "weight": 133, "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", @@ -25699,7 +26080,7 @@ "x-appwrite": { "method": "createSendgridProvider", "group": "providers", - "weight": 119, + "weight": 118, "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", @@ -25809,7 +26190,7 @@ "x-appwrite": { "method": "updateSendgridProvider", "group": "providers", - "weight": 133, + "weight": 132, "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", @@ -25921,7 +26302,7 @@ "x-appwrite": { "method": "createSmtpProvider", "group": "providers", - "weight": 121, + "weight": 120, "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", @@ -26158,7 +26539,7 @@ "x-appwrite": { "method": "updateSmtpProvider", "group": "providers", - "weight": 135, + "weight": 134, "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", @@ -26394,7 +26775,7 @@ "x-appwrite": { "method": "createTelesignProvider", "group": "providers", - "weight": 123, + "weight": 122, "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", @@ -26493,7 +26874,7 @@ "x-appwrite": { "method": "updateTelesignProvider", "group": "providers", - "weight": 137, + "weight": 136, "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", @@ -26594,7 +26975,7 @@ "x-appwrite": { "method": "createTextmagicProvider", "group": "providers", - "weight": 124, + "weight": 123, "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", @@ -26693,7 +27074,7 @@ "x-appwrite": { "method": "updateTextmagicProvider", "group": "providers", - "weight": 138, + "weight": 137, "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", @@ -26794,7 +27175,7 @@ "x-appwrite": { "method": "createTwilioProvider", "group": "providers", - "weight": 125, + "weight": 124, "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", @@ -26893,7 +27274,7 @@ "x-appwrite": { "method": "updateTwilioProvider", "group": "providers", - "weight": 139, + "weight": 138, "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", @@ -26994,7 +27375,7 @@ "x-appwrite": { "method": "createVonageProvider", "group": "providers", - "weight": 126, + "weight": 125, "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", @@ -27093,7 +27474,7 @@ "x-appwrite": { "method": "updateVonageProvider", "group": "providers", - "weight": 140, + "weight": 139, "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", @@ -27194,7 +27575,7 @@ "x-appwrite": { "method": "getProvider", "group": "providers", - "weight": 131, + "weight": 130, "cookies": false, "type": "", "demo": "messaging\/get-provider.md", @@ -27249,7 +27630,7 @@ "x-appwrite": { "method": "deleteProvider", "group": "providers", - "weight": 143, + "weight": 142, "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", @@ -27313,7 +27694,7 @@ "x-appwrite": { "method": "listProviderLogs", "group": "providers", - "weight": 130, + "weight": 129, "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", @@ -27401,7 +27782,7 @@ "x-appwrite": { "method": "listSubscriberLogs", "group": "subscribers", - "weight": 152, + "weight": 151, "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", @@ -27489,7 +27870,7 @@ "x-appwrite": { "method": "listTopics", "group": "topics", - "weight": 145, + "weight": 144, "cookies": false, "type": "", "demo": "messaging\/list-topics.md", @@ -27576,7 +27957,7 @@ "x-appwrite": { "method": "createTopic", "group": "topics", - "weight": 144, + "weight": 143, "cookies": false, "type": "", "demo": "messaging\/create-topic.md", @@ -27661,7 +28042,7 @@ "x-appwrite": { "method": "getTopic", "group": "topics", - "weight": 147, + "weight": 146, "cookies": false, "type": "", "demo": "messaging\/get-topic.md", @@ -27723,7 +28104,7 @@ "x-appwrite": { "method": "updateTopic", "group": "topics", - "weight": 148, + "weight": 147, "cookies": false, "type": "", "demo": "messaging\/update-topic.md", @@ -27804,7 +28185,7 @@ "x-appwrite": { "method": "deleteTopic", "group": "topics", - "weight": 149, + "weight": 148, "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", @@ -27868,7 +28249,7 @@ "x-appwrite": { "method": "listTopicLogs", "group": "topics", - "weight": 146, + "weight": 145, "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", @@ -27956,7 +28337,7 @@ "x-appwrite": { "method": "listSubscribers", "group": "subscribers", - "weight": 151, + "weight": 150, "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", @@ -28053,7 +28434,7 @@ "x-appwrite": { "method": "createSubscriber", "group": "subscribers", - "weight": 150, + "weight": 149, "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", @@ -28146,7 +28527,7 @@ "x-appwrite": { "method": "getSubscriber", "group": "subscribers", - "weight": 153, + "weight": 152, "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", @@ -28211,7 +28592,7 @@ "x-appwrite": { "method": "deleteSubscriber", "group": "subscribers", - "weight": 154, + "weight": 153, "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", @@ -28265,7 +28646,553 @@ ] } }, + "\/presences": { + "get": { + "summary": "List presences", + "operationId": "presencesList", + "tags": [ + "presences" + ], + "description": "List presence logs. Expired entries are filtered out automatically.\n", + "responses": { + "200": { + "description": "Presences List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/presenceList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": "presences", + "weight": 419, + "cookies": false, + "type": "", + "demo": "presences\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 + }, + "in": "query" + } + ] + } + }, + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", + "tags": [ + "presences" + ], + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", + "responses": { + "200": { + "description": "Presence", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/presence" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "presences", + "weight": 418, + "cookies": false, + "type": "", + "demo": "presences\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ] + }, + "put": { + "summary": "Upsert presence", + "operationId": "presencesUpsert", + "tags": [ + "presences" + ], + "description": "Create or update a presence log by its user ID.\n", + "responses": { + "200": { + "description": "Presence", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/presence" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsert", + "group": "presences", + "weight": 416, + "cookies": false, + "type": "", + "demo": "presences\/upsert.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [], + "Key": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "userId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" + } + }, + "required": [ + "status" + ] + } + } + } + } + }, + "patch": { + "summary": "Update presence", + "operationId": "presencesUpdate", + "tags": [ + "presences" + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "responses": { + "200": { + "description": "Presence", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/presence" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": "presences", + "weight": 420, + "cookies": false, + "type": "", + "demo": "presences\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "updatePresence", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [], + "Key": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId", + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update-presence.md", + "public": true + } + ], + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { + "type": "boolean", + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false + } + } + } + } + } + } + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", + "tags": [ + "presences" + ], + "description": "Delete a presence log by its unique ID.\n", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "presences", + "weight": 421, + "cookies": false, + "type": "", + "demo": "presences\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "console", + "server", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<PRESENCE_ID>" + }, + "in": "path" + } + ] + } + }, "\/project": { + "get": { + "summary": "Get project", + "operationId": "projectGet", + "tags": [ + "project" + ], + "description": "Get a project.", + "responses": { + "200": { + "description": "Project", + "content": { + "": { + "schema": { + "$ref": "#\/components\/schemas\/project" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "weight": 1161, + "cookies": false, + "type": "", + "demo": "project\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "project.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ] + }, "delete": { "summary": "Delete project", "operationId": "projectDelete", @@ -28282,7 +29209,7 @@ "x-appwrite": { "method": "delete", "group": null, - "weight": 1096, + "weight": 1160, "cookies": false, "type": "", "demo": "project\/delete.md", @@ -28311,7 +29238,7 @@ }, "\/project\/auth-methods\/{methodId}": { "patch": { - "summary": "Update project auth method status. Use this endpoint to enable or disable a given auth method for this project.", + "summary": "Update project auth method status", "operationId": "projectUpdateAuthMethod", "tags": [ "project" @@ -28333,7 +29260,7 @@ "x-appwrite": { "method": "updateAuthMethod", "group": null, - "weight": 1145, + "weight": 1210, "cookies": false, "type": "", "demo": "project\/update-auth-method.md", @@ -28375,7 +29302,7 @@ "jwt", "phone" ], - "x-enum-name": "AuthMethod", + "x-enum-name": "ProjectAuthMethodId", "x-enum-keys": [] }, "in": "path" @@ -28426,7 +29353,7 @@ "x-appwrite": { "method": "listKeys", "group": "keys", - "weight": 1112, + "weight": 1177, "cookies": false, "type": "", "demo": "project\/list-keys.md", @@ -28501,7 +29428,7 @@ "x-appwrite": { "method": "createKey", "group": "keys", - "weight": 1110, + "weight": 1175, "cookies": false, "type": "", "demo": "project\/create-key.md", @@ -28627,6 +29554,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -28635,9 +29568,10 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, @@ -28684,7 +29618,7 @@ "x-appwrite": { "method": "createEphemeralKey", "group": "keys", - "weight": 1111, + "weight": 1176, "cookies": false, "type": "", "demo": "project\/create-ephemeral-key.md", @@ -28800,6 +29734,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -28808,9 +29748,10 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, @@ -28855,7 +29796,7 @@ "x-appwrite": { "method": "getKey", "group": "keys", - "weight": 1113, + "weight": 1178, "cookies": false, "type": "", "demo": "project\/get-key.md", @@ -28916,7 +29857,7 @@ "x-appwrite": { "method": "updateKey", "group": "keys", - "weight": 1115, + "weight": 1180, "cookies": false, "type": "", "demo": "project\/update-key.md", @@ -29049,6 +29990,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -29057,9 +30004,10 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, @@ -29096,7 +30044,7 @@ "x-appwrite": { "method": "deleteKey", "group": "keys", - "weight": 1114, + "weight": 1179, "cookies": false, "type": "", "demo": "project\/delete-key.md", @@ -29159,7 +30107,7 @@ "x-appwrite": { "method": "updateLabels", "group": null, - "weight": 1097, + "weight": 1162, "cookies": false, "type": "", "demo": "project\/update-labels.md", @@ -29232,7 +30180,7 @@ "x-appwrite": { "method": "listMockPhones", "group": "mocks", - "weight": 1130, + "weight": 1195, "cookies": false, "type": "", "demo": "project\/list-mock-phones.md", @@ -29307,7 +30255,7 @@ "x-appwrite": { "method": "createMockPhone", "group": "mocks", - "weight": 1129, + "weight": 1194, "cookies": false, "type": "", "demo": "project\/create-mock-phone.md", @@ -29384,7 +30332,7 @@ "x-appwrite": { "method": "getMockPhone", "group": "mocks", - "weight": 1131, + "weight": 1196, "cookies": false, "type": "", "demo": "project\/get-mock-phone.md", @@ -29446,7 +30394,7 @@ "x-appwrite": { "method": "updateMockPhone", "group": "mocks", - "weight": 1132, + "weight": 1197, "cookies": false, "type": "", "demo": "project\/update-mock-phone.md", @@ -29520,7 +30468,7 @@ "x-appwrite": { "method": "deleteMockPhone", "group": "mocks", - "weight": 1133, + "weight": 1198, "cookies": false, "type": "", "demo": "project\/delete-mock-phone.md", @@ -29584,7 +30532,7 @@ "x-appwrite": { "method": "listOAuth2Providers", "group": "oauth2", - "weight": 1146, + "weight": 1211, "cookies": false, "type": "", "demo": "project\/list-o-auth-2-providers.md", @@ -29661,7 +30609,7 @@ "x-appwrite": { "method": "updateOAuth2Amazon", "group": "oauth2", - "weight": 1173, + "weight": 1238, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-amazon.md", @@ -29741,7 +30689,7 @@ "x-appwrite": { "method": "updateOAuth2Apple", "group": "oauth2", - "weight": 1188, + "weight": 1253, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-apple.md", @@ -29833,7 +30781,7 @@ "x-appwrite": { "method": "updateOAuth2Auth0", "group": "oauth2", - "weight": 1182, + "weight": 1247, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-auth-0.md", @@ -29919,7 +30867,7 @@ "x-appwrite": { "method": "updateOAuth2Authentik", "group": "oauth2", - "weight": 1181, + "weight": 1246, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-authentik.md", @@ -30005,7 +30953,7 @@ "x-appwrite": { "method": "updateOAuth2Autodesk", "group": "oauth2", - "weight": 1156, + "weight": 1221, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-autodesk.md", @@ -30085,7 +31033,7 @@ "x-appwrite": { "method": "updateOAuth2Bitbucket", "group": "oauth2", - "weight": 1153, + "weight": 1218, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-bitbucket.md", @@ -30165,7 +31113,7 @@ "x-appwrite": { "method": "updateOAuth2Bitly", "group": "oauth2", - "weight": 1154, + "weight": 1219, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-bitly.md", @@ -30245,7 +31193,7 @@ "x-appwrite": { "method": "updateOAuth2Box", "group": "oauth2", - "weight": 1155, + "weight": 1220, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-box.md", @@ -30325,7 +31273,7 @@ "x-appwrite": { "method": "updateOAuth2Dailymotion", "group": "oauth2", - "weight": 1152, + "weight": 1217, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-dailymotion.md", @@ -30405,7 +31353,7 @@ "x-appwrite": { "method": "updateOAuth2Discord", "group": "oauth2", - "weight": 1149, + "weight": 1214, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-discord.md", @@ -30485,7 +31433,7 @@ "x-appwrite": { "method": "updateOAuth2Disqus", "group": "oauth2", - "weight": 1172, + "weight": 1237, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-disqus.md", @@ -30565,7 +31513,7 @@ "x-appwrite": { "method": "updateOAuth2Dropbox", "group": "oauth2", - "weight": 1151, + "weight": 1216, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-dropbox.md", @@ -30645,7 +31593,7 @@ "x-appwrite": { "method": "updateOAuth2Etsy", "group": "oauth2", - "weight": 1174, + "weight": 1239, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-etsy.md", @@ -30725,7 +31673,7 @@ "x-appwrite": { "method": "updateOAuth2Facebook", "group": "oauth2", - "weight": 1175, + "weight": 1240, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-facebook.md", @@ -30805,7 +31753,7 @@ "x-appwrite": { "method": "updateOAuth2Figma", "group": "oauth2", - "weight": 1150, + "weight": 1215, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-figma.md", @@ -30885,7 +31833,7 @@ "x-appwrite": { "method": "updateOAuth2FusionAuth", "group": "oauth2", - "weight": 1183, + "weight": 1248, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-fusion-auth.md", @@ -30971,7 +31919,7 @@ "x-appwrite": { "method": "updateOAuth2GitHub", "group": "oauth2", - "weight": 1148, + "weight": 1213, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-git-hub.md", @@ -31051,7 +31999,7 @@ "x-appwrite": { "method": "updateOAuth2Gitlab", "group": "oauth2", - "weight": 1180, + "weight": 1245, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-gitlab.md", @@ -31138,7 +32086,7 @@ "x-appwrite": { "method": "updateOAuth2Google", "group": "oauth2", - "weight": 1157, + "weight": 1222, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-google.md", @@ -31192,7 +32140,7 @@ "consent", "select_account" ], - "x-enum-name": null, + "x-enum-name": "ProjectOAuth2GooglePrompt", "x-enum-keys": [] }, "x-nullable": true @@ -31234,7 +32182,7 @@ "x-appwrite": { "method": "updateOAuth2Keycloak", "group": "oauth2", - "weight": 1184, + "weight": 1249, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-keycloak.md", @@ -31326,7 +32274,7 @@ "x-appwrite": { "method": "updateOAuth2Kick", "group": "oauth2", - "weight": 1187, + "weight": 1252, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-kick.md", @@ -31406,7 +32354,7 @@ "x-appwrite": { "method": "updateOAuth2Linkedin", "group": "oauth2", - "weight": 1171, + "weight": 1236, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-linkedin.md", @@ -31486,7 +32434,7 @@ "x-appwrite": { "method": "updateOAuth2Microsoft", "group": "oauth2", - "weight": 1189, + "weight": 1254, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-microsoft.md", @@ -31572,7 +32520,7 @@ "x-appwrite": { "method": "updateOAuth2Notion", "group": "oauth2", - "weight": 1168, + "weight": 1233, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-notion.md", @@ -31652,7 +32600,7 @@ "x-appwrite": { "method": "updateOAuth2Oidc", "group": "oauth2", - "weight": 1185, + "weight": 1250, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-oidc.md", @@ -31760,7 +32708,7 @@ "x-appwrite": { "method": "updateOAuth2Okta", "group": "oauth2", - "weight": 1186, + "weight": 1251, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-okta.md", @@ -31852,7 +32800,7 @@ "x-appwrite": { "method": "updateOAuth2Paypal", "group": "oauth2", - "weight": 1178, + "weight": 1243, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-paypal.md", @@ -31932,7 +32880,7 @@ "x-appwrite": { "method": "updateOAuth2PaypalSandbox", "group": "oauth2", - "weight": 1179, + "weight": 1244, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-paypal-sandbox.md", @@ -32012,7 +32960,7 @@ "x-appwrite": { "method": "updateOAuth2Podio", "group": "oauth2", - "weight": 1167, + "weight": 1232, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-podio.md", @@ -32092,7 +33040,7 @@ "x-appwrite": { "method": "updateOAuth2Salesforce", "group": "oauth2", - "weight": 1169, + "weight": 1234, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-salesforce.md", @@ -32172,7 +33120,7 @@ "x-appwrite": { "method": "updateOAuth2Slack", "group": "oauth2", - "weight": 1166, + "weight": 1231, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-slack.md", @@ -32252,7 +33200,7 @@ "x-appwrite": { "method": "updateOAuth2Spotify", "group": "oauth2", - "weight": 1165, + "weight": 1230, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-spotify.md", @@ -32332,7 +33280,7 @@ "x-appwrite": { "method": "updateOAuth2Stripe", "group": "oauth2", - "weight": 1164, + "weight": 1229, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-stripe.md", @@ -32412,7 +33360,7 @@ "x-appwrite": { "method": "updateOAuth2Tradeshift", "group": "oauth2", - "weight": 1176, + "weight": 1241, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-tradeshift.md", @@ -32492,7 +33440,7 @@ "x-appwrite": { "method": "updateOAuth2TradeshiftSandbox", "group": "oauth2", - "weight": 1177, + "weight": 1242, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", @@ -32572,7 +33520,7 @@ "x-appwrite": { "method": "updateOAuth2Twitch", "group": "oauth2", - "weight": 1163, + "weight": 1228, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-twitch.md", @@ -32652,7 +33600,7 @@ "x-appwrite": { "method": "updateOAuth2WordPress", "group": "oauth2", - "weight": 1162, + "weight": 1227, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-word-press.md", @@ -32732,7 +33680,7 @@ "x-appwrite": { "method": "updateOAuth2X", "group": "oauth2", - "weight": 1161, + "weight": 1226, "cookies": false, "type": "", "demo": "project\/update-o-auth-2x.md", @@ -32812,7 +33760,7 @@ "x-appwrite": { "method": "updateOAuth2Yahoo", "group": "oauth2", - "weight": 1170, + "weight": 1235, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-yahoo.md", @@ -32892,7 +33840,7 @@ "x-appwrite": { "method": "updateOAuth2Yandex", "group": "oauth2", - "weight": 1160, + "weight": 1225, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-yandex.md", @@ -32972,7 +33920,7 @@ "x-appwrite": { "method": "updateOAuth2Zoho", "group": "oauth2", - "weight": 1159, + "weight": 1224, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-zoho.md", @@ -33052,7 +34000,7 @@ "x-appwrite": { "method": "updateOAuth2Zoom", "group": "oauth2", - "weight": 1158, + "weight": 1223, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-zoom.md", @@ -33300,7 +34248,7 @@ "x-appwrite": { "method": "getOAuth2Provider", "group": "oauth2", - "weight": 1147, + "weight": 1212, "cookies": false, "type": "", "demo": "project\/get-o-auth-2-provider.md", @@ -33380,7 +34328,7 @@ "githubImagine", "googleImagine" ], - "x-enum-name": "OAuthProvider", + "x-enum-name": "ProjectOAuthProviderId", "x-enum-keys": [] }, "in": "path" @@ -33412,7 +34360,7 @@ "x-appwrite": { "method": "listPlatforms", "group": "platforms", - "weight": 1128, + "weight": 1181, "cookies": false, "type": "", "demo": "project\/list-platforms.md", @@ -33489,7 +34437,7 @@ "x-appwrite": { "method": "createAndroidPlatform", "group": "platforms", - "weight": 1124, + "weight": 1185, "cookies": false, "type": "", "demo": "project\/create-android-platform.md", @@ -33571,7 +34519,7 @@ "x-appwrite": { "method": "updateAndroidPlatform", "group": "platforms", - "weight": 1119, + "weight": 1190, "cookies": false, "type": "", "demo": "project\/update-android-platform.md", @@ -33659,7 +34607,7 @@ "x-appwrite": { "method": "createApplePlatform", "group": "platforms", - "weight": 1123, + "weight": 1184, "cookies": false, "type": "", "demo": "project\/create-apple-platform.md", @@ -33741,7 +34689,7 @@ "x-appwrite": { "method": "updateApplePlatform", "group": "platforms", - "weight": 1118, + "weight": 1189, "cookies": false, "type": "", "demo": "project\/update-apple-platform.md", @@ -33829,7 +34777,7 @@ "x-appwrite": { "method": "createLinuxPlatform", "group": "platforms", - "weight": 1126, + "weight": 1187, "cookies": false, "type": "", "demo": "project\/create-linux-platform.md", @@ -33911,7 +34859,7 @@ "x-appwrite": { "method": "updateLinuxPlatform", "group": "platforms", - "weight": 1121, + "weight": 1192, "cookies": false, "type": "", "demo": "project\/update-linux-platform.md", @@ -33999,7 +34947,7 @@ "x-appwrite": { "method": "createWebPlatform", "group": "platforms", - "weight": 1122, + "weight": 1183, "cookies": false, "type": "", "demo": "project\/create-web-platform.md", @@ -34081,7 +35029,7 @@ "x-appwrite": { "method": "updateWebPlatform", "group": "platforms", - "weight": 1117, + "weight": 1188, "cookies": false, "type": "", "demo": "project\/update-web-platform.md", @@ -34169,7 +35117,7 @@ "x-appwrite": { "method": "createWindowsPlatform", "group": "platforms", - "weight": 1125, + "weight": 1186, "cookies": false, "type": "", "demo": "project\/create-windows-platform.md", @@ -34251,7 +35199,7 @@ "x-appwrite": { "method": "updateWindowsPlatform", "group": "platforms", - "weight": 1120, + "weight": 1191, "cookies": false, "type": "", "demo": "project\/update-windows-platform.md", @@ -34365,7 +35313,7 @@ "x-appwrite": { "method": "getPlatform", "group": "platforms", - "weight": 1127, + "weight": 1182, "cookies": false, "type": "", "demo": "project\/get-platform.md", @@ -34419,7 +35367,7 @@ "x-appwrite": { "method": "deletePlatform", "group": "platforms", - "weight": 1116, + "weight": 1193, "cookies": false, "type": "", "demo": "project\/delete-platform.md", @@ -34482,7 +35430,7 @@ "x-appwrite": { "method": "listPolicies", "group": "policies", - "weight": 1134, + "weight": 1199, "cookies": false, "type": "", "demo": "project\/list-policies.md", @@ -34538,14 +35486,14 @@ ] } }, - "\/project\/policies\/deny-canonical-email": { + "\/project\/policies\/deny-aliased-email": { "patch": { - "summary": "Update deny canonical email policy", - "operationId": "projectUpdateDenyCanonicalEmailPolicy", + "summary": "Update deny aliased email policy", + "operationId": "projectUpdateDenyAliasedEmailPolicy", "tags": [ "project" ], - "description": "Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", + "description": "Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", "responses": { "200": { "description": "Project", @@ -34560,12 +35508,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyCanonicalEmailPolicy", + "method": "updateDenyAliasedEmailPolicy", "group": "policies", - "weight": 1190, + "weight": 1255, "cookies": false, "type": "", - "demo": "project\/update-deny-canonical-email-policy.md", + "demo": "project\/update-deny-aliased-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34598,7 +35546,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Set whether or not to block email aliases during signup and email updates.", + "description": "Set whether or not to block aliased emails during signup and email updates.", "x-example": false } }, @@ -34635,7 +35583,7 @@ "x-appwrite": { "method": "updateDenyDisposableEmailPolicy", "group": "policies", - "weight": 1191, + "weight": 1256, "cookies": false, "type": "", "demo": "project\/update-deny-disposable-email-policy.md", @@ -34708,7 +35656,7 @@ "x-appwrite": { "method": "updateDenyFreeEmailPolicy", "group": "policies", - "weight": 1192, + "weight": 1257, "cookies": false, "type": "", "demo": "project\/update-deny-free-email-policy.md", @@ -34781,7 +35729,7 @@ "x-appwrite": { "method": "updateMembershipPrivacyPolicy", "group": "policies", - "weight": 1136, + "weight": 1201, "cookies": false, "type": "", "demo": "project\/update-membership-privacy-policy.md", @@ -34871,7 +35819,7 @@ "x-appwrite": { "method": "updatePasswordDictionaryPolicy", "group": "policies", - "weight": 1137, + "weight": 1202, "cookies": false, "type": "", "demo": "project\/update-password-dictionary-policy.md", @@ -34944,7 +35892,7 @@ "x-appwrite": { "method": "updatePasswordHistoryPolicy", "group": "policies", - "weight": 1138, + "weight": 1203, "cookies": false, "type": "", "demo": "project\/update-password-history-policy.md", @@ -35019,7 +35967,7 @@ "x-appwrite": { "method": "updatePasswordPersonalDataPolicy", "group": "policies", - "weight": 1139, + "weight": 1204, "cookies": false, "type": "", "demo": "project\/update-password-personal-data-policy.md", @@ -35092,7 +36040,7 @@ "x-appwrite": { "method": "updateSessionAlertPolicy", "group": "policies", - "weight": 1140, + "weight": 1205, "cookies": false, "type": "", "demo": "project\/update-session-alert-policy.md", @@ -35165,7 +36113,7 @@ "x-appwrite": { "method": "updateSessionDurationPolicy", "group": "policies", - "weight": 1141, + "weight": 1206, "cookies": false, "type": "", "demo": "project\/update-session-duration-policy.md", @@ -35239,7 +36187,7 @@ "x-appwrite": { "method": "updateSessionInvalidationPolicy", "group": "policies", - "weight": 1142, + "weight": 1207, "cookies": false, "type": "", "demo": "project\/update-session-invalidation-policy.md", @@ -35312,7 +36260,7 @@ "x-appwrite": { "method": "updateSessionLimitPolicy", "group": "policies", - "weight": 1143, + "weight": 1208, "cookies": false, "type": "", "demo": "project\/update-session-limit-policy.md", @@ -35387,7 +36335,7 @@ "x-appwrite": { "method": "updateUserLimitPolicy", "group": "policies", - "weight": 1144, + "weight": 1209, "cookies": false, "type": "", "demo": "project\/update-user-limit-policy.md", @@ -35504,7 +36452,7 @@ "x-appwrite": { "method": "getPolicy", "group": "policies", - "weight": 1135, + "weight": 1200, "cookies": false, "type": "", "demo": "project\/get-policy.md", @@ -35551,7 +36499,7 @@ "user-limit", "membership-privacy" ], - "x-enum-name": "ProjectPolicy", + "x-enum-name": "ProjectPolicyId", "x-enum-keys": [] }, "in": "path" @@ -35583,7 +36531,7 @@ "x-appwrite": { "method": "updateProtocol", "group": null, - "weight": 1098, + "weight": 1163, "cookies": false, "type": "", "demo": "project\/update-protocol.md", @@ -35621,7 +36569,7 @@ "graphql", "websocket" ], - "x-enum-name": null, + "x-enum-name": "ProjectProtocolId", "x-enum-keys": [] }, "in": "path" @@ -35672,7 +36620,7 @@ "x-appwrite": { "method": "updateService", "group": null, - "weight": 1099, + "weight": 1164, "cookies": false, "type": "", "demo": "project\/update-service.md", @@ -35700,7 +36648,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", + "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", "required": true, "schema": { "type": "string", @@ -35722,9 +36670,10 @@ "proxy", "graphql", "migrations", - "messaging" + "messaging", + "advisor" ], - "x-enum-name": null, + "x-enum-name": "ProjectServiceId", "x-enum-keys": [] }, "in": "path" @@ -35775,7 +36724,7 @@ "x-appwrite": { "method": "updateSMTP", "group": "smtp", - "weight": 1100, + "weight": 1165, "cookies": false, "type": "", "demo": "project\/update-smtp.md", @@ -35821,39 +36770,39 @@ }, "username": { "type": "string", - "description": "SMTP server username. Leave empty for no authorization.", + "description": "SMTP server username. Pass an empty string to clear a previously set value.", "x-example": "<USERNAME>", "x-nullable": true }, "password": { "type": "string", - "description": "SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).", + "description": "SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).", "x-example": "<PASSWORD>", "x-nullable": true }, "senderEmail": { "type": "string", - "description": "Email address shown in inbox as the sender of the email.", + "description": "Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "senderName": { "type": "string", - "description": "Name shown in inbox as the sender of the email.", + "description": "Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", "x-example": "<SENDER_NAME>", "x-nullable": true }, "replyToEmail": { "type": "string", - "description": "Email used when user replies to the email.", + "description": "Email used when user replies to the email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "replyToName": { "type": "string", - "description": "Name used when user replies to the email.", + "description": "Name used when user replies to the email. Pass an empty string to clear a previously set value.", "x-example": "<REPLY_TO_NAME>", "x-nullable": true }, @@ -35865,7 +36814,7 @@ "tls", "ssl" ], - "x-enum-name": null, + "x-enum-name": "ProjectSMTPSecure", "x-enum-keys": [], "x-nullable": true }, @@ -35899,7 +36848,7 @@ "x-appwrite": { "method": "createSMTPTest", "group": "smtp", - "weight": 1101, + "weight": 1166, "cookies": false, "type": "", "demo": "project\/create-smtp-test.md", @@ -35972,7 +36921,7 @@ "x-appwrite": { "method": "listEmailTemplates", "group": "templates", - "weight": 1102, + "weight": 1167, "cookies": false, "type": "", "demo": "project\/list-email-templates.md", @@ -36047,7 +36996,7 @@ "x-appwrite": { "method": "updateEmailTemplate", "group": "templates", - "weight": 1104, + "weight": 1169, "cookies": false, "type": "", "demo": "project\/update-email-template.md", @@ -36091,7 +37040,7 @@ "sessionAlert", "otpSession" ], - "x-enum-name": "EmailTemplateType", + "x-enum-name": "ProjectEmailTemplateId", "x-enum-keys": [] }, "locale": { @@ -36231,7 +37180,7 @@ "zh-tw", "zu" ], - "x-enum-name": "EmailTemplateLocale", + "x-enum-name": "ProjectEmailTemplateLocale", "x-enum-keys": [] }, "subject": { @@ -36254,14 +37203,14 @@ }, "senderEmail": { "type": "string", - "description": "Email of the sender.", + "description": "Email of the sender. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "replyToEmail": { "type": "string", - "description": "Reply to email.", + "description": "Reply to email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -36306,7 +37255,7 @@ "x-appwrite": { "method": "getEmailTemplate", "group": "templates", - "weight": 1103, + "weight": 1168, "cookies": false, "type": "", "demo": "project\/get-email-template.md", @@ -36348,7 +37297,7 @@ "sessionAlert", "otpSession" ], - "x-enum-name": "EmailTemplateType", + "x-enum-name": "ProjectEmailTemplateId", "x-enum-keys": [] }, "in": "path" @@ -36493,9 +37442,8 @@ "zh-tw", "zu" ], - "x-enum-name": "EmailTemplateLocale", - "x-enum-keys": [], - "default": "" + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [] }, "in": "query" } @@ -36526,7 +37474,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 1106, + "weight": 1171, "cookies": false, "type": "", "demo": "project\/list-variables.md", @@ -36601,7 +37549,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 1105, + "weight": 1170, "cookies": false, "type": "", "demo": "project\/create-variable.md", @@ -36688,7 +37636,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 1107, + "weight": 1172, "cookies": false, "type": "", "demo": "project\/get-variable.md", @@ -36749,7 +37697,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 1109, + "weight": 1174, "cookies": false, "type": "", "demo": "project\/update-variable.md", @@ -36832,7 +37780,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 1108, + "weight": 1173, "cookies": false, "type": "", "demo": "project\/delete-variable.md", @@ -36895,7 +37843,7 @@ "x-appwrite": { "method": "listRules", "group": "rules", - "weight": 1202, + "weight": 1267, "cookies": false, "type": "", "demo": "proxy\/list-rules.md", @@ -36972,7 +37920,7 @@ "x-appwrite": { "method": "createAPIRule", "group": "rules", - "weight": 1197, + "weight": 1262, "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", @@ -37042,7 +37990,7 @@ "x-appwrite": { "method": "createFunctionRule", "group": "rules", - "weight": 1199, + "weight": 1264, "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", @@ -37123,7 +38071,7 @@ "x-appwrite": { "method": "createRedirectRule", "group": "rules", - "weight": 1200, + "weight": 1265, "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", @@ -37240,7 +38188,7 @@ "x-appwrite": { "method": "createSiteRule", "group": "rules", - "weight": 1198, + "weight": 1263, "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", @@ -37321,7 +38269,7 @@ "x-appwrite": { "method": "getRule", "group": "rules", - "weight": 1201, + "weight": 1266, "cookies": false, "type": "", "demo": "proxy\/get-rule.md", @@ -37360,12 +38308,271 @@ ] }, "delete": { - "summary": "Delete rule", - "operationId": "proxyDeleteRule", + "summary": "Delete rule", + "operationId": "proxyDeleteRule", + "tags": [ + "proxy" + ], + "description": "Delete a proxy rule by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteRule", + "group": "rules", + "weight": 1268, + "cookies": false, + "type": "", + "demo": "proxy\/delete-rule.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rules.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "ruleId", + "description": "Rule ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RULE_ID>" + }, + "in": "path" + } + ] + } + }, + "\/proxy\/rules\/{ruleId}\/status": { + "patch": { + "summary": "Update rule status", + "operationId": "proxyUpdateRuleStatus", + "tags": [ + "proxy" + ], + "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "responses": { + "200": { + "description": "Rule", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/proxyRule" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateRuleStatus", + "group": "rules", + "weight": 1269, + "cookies": false, + "type": "", + "demo": "proxy\/update-rule-status.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rules.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "ruleId", + "description": "Rule ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<RULE_ID>" + }, + "in": "path" + } + ] + } + }, + "\/reports": { + "get": { + "summary": "List reports", + "operationId": "advisorListReports", + "tags": [ + "advisor" + ], + "description": "Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n", + "responses": { + "200": { + "description": "Reports List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/reportList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listReports", + "group": "reports", + "weight": 695, + "cookies": false, + "type": "", + "demo": "advisor\/list-reports.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "reports.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-reports.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + } + }, + "\/reports\/{reportId}": { + "get": { + "summary": "Get report", + "operationId": "advisorGetReport", + "tags": [ + "advisor" + ], + "description": "Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n", + "responses": { + "200": { + "description": "Report", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/report" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getReport", + "group": "reports", + "weight": 694, + "cookies": false, + "type": "", + "demo": "advisor\/get-report.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "reports.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-report.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "reportId", + "description": "Report ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<REPORT_ID>" + }, + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete report", + "operationId": "advisorDeleteReport", "tags": [ - "proxy" + "advisor" ], - "description": "Delete a proxy rule by its unique ID.", + "description": "Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n", "responses": { "204": { "description": "No content" @@ -37373,22 +38580,87 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteRule", - "group": "rules", - "weight": 1203, + "method": "deleteReport", + "group": "reports", + "weight": 696, "cookies": false, "type": "", - "demo": "proxy\/delete-rule.md", + "demo": "advisor\/delete-report.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{projectId},userId:{userId}", + "scope": "reports.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/delete-report.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "reportId", + "description": "Report ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<REPORT_ID>" + }, + "in": "path" + } + ] + } + }, + "\/reports\/{reportId}\/insights": { + "get": { + "summary": "List insights", + "operationId": "advisorListInsights", + "tags": [ + "advisor" + ], + "description": "List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n", + "responses": { + "200": { + "description": "Insights List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/insightList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listInsights", + "group": "insights", + "weight": 698, + "cookies": false, + "type": "", + "demo": "advisor\/list-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-insights.md", "auth": { "Project": [], "Key": [] @@ -37402,33 +38674,57 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "schema": { "type": "string", - "x-example": "<RULE_ID>" + "x-example": "<REPORT_ID>" }, "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" } ] } }, - "\/proxy\/rules\/{ruleId}\/status": { - "patch": { - "summary": "Update rule status", - "operationId": "proxyUpdateRuleStatus", + "\/reports\/{reportId}\/insights\/{insightId}": { + "get": { + "summary": "Get insight", + "operationId": "advisorGetInsight", "tags": [ - "proxy" + "advisor" ], - "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "description": "Get an insight by its unique ID, scoped to its parent report.\n", "responses": { "200": { - "description": "Rule", + "description": "Insight", "content": { "application\/json": { "schema": { - "$ref": "#\/components\/schemas\/proxyRule" + "$ref": "#\/components\/schemas\/insight" } } } @@ -37436,22 +38732,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateRuleStatus", - "group": "rules", - "weight": 1204, + "method": "getInsight", + "group": "insights", + "weight": 697, "cookies": false, "type": "", - "demo": "proxy\/update-rule-status.md", + "demo": "advisor\/get-insight.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-insight.md", "auth": { "Project": [], "Key": [] @@ -37465,12 +38762,22 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "schema": { "type": "string", - "x-example": "<RULE_ID>" + "x-example": "<REPORT_ID>" + }, + "in": "path" + }, + { + "name": "insightId", + "description": "Insight ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "<INSIGHT_ID>" }, "in": "path" } @@ -37501,7 +38808,7 @@ "x-appwrite": { "method": "list", "group": "sites", - "weight": 474, + "weight": 479, "cookies": false, "type": "", "demo": "sites\/list.md", @@ -37587,7 +38894,7 @@ "x-appwrite": { "method": "create", "group": "sites", - "weight": 911, + "weight": 972, "cookies": false, "type": "", "demo": "sites\/create.md", @@ -37883,7 +39190,7 @@ "x-appwrite": { "method": "listFrameworks", "group": "frameworks", - "weight": 477, + "weight": 482, "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", @@ -37934,7 +39241,7 @@ "x-appwrite": { "method": "listSpecifications", "group": "frameworks", - "weight": 500, + "weight": 505, "cookies": false, "type": "", "demo": "sites\/list-specifications.md", @@ -37985,7 +39292,7 @@ "x-appwrite": { "method": "get", "group": "sites", - "weight": 473, + "weight": 478, "cookies": false, "type": "", "demo": "sites\/get.md", @@ -38046,7 +39353,7 @@ "x-appwrite": { "method": "update", "group": "sites", - "weight": 912, + "weight": 973, "cookies": false, "type": "", "demo": "sites\/update.md", @@ -38338,7 +39645,7 @@ "x-appwrite": { "method": "delete", "group": "sites", - "weight": 476, + "weight": 481, "cookies": false, "type": "", "demo": "sites\/delete.md", @@ -38401,7 +39708,7 @@ "x-appwrite": { "method": "updateSiteDeployment", "group": "sites", - "weight": 483, + "weight": 488, "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", @@ -38483,7 +39790,7 @@ "x-appwrite": { "method": "listDeployments", "group": "deployments", - "weight": 482, + "weight": 487, "cookies": false, "type": "", "demo": "sites\/list-deployments.md", @@ -38579,7 +39886,7 @@ "x-appwrite": { "method": "createDeployment", "group": "deployments", - "weight": 478, + "weight": 483, "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", @@ -38685,7 +39992,7 @@ "x-appwrite": { "method": "createDuplicateDeployment", "group": "deployments", - "weight": 486, + "weight": 491, "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", @@ -38767,7 +40074,7 @@ "x-appwrite": { "method": "createTemplateDeployment", "group": "deployments", - "weight": 479, + "weight": 484, "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", @@ -38885,7 +40192,7 @@ "x-appwrite": { "method": "createVcsDeployment", "group": "deployments", - "weight": 480, + "weight": 485, "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", @@ -38985,7 +40292,7 @@ "x-appwrite": { "method": "getDeployment", "group": "deployments", - "weight": 481, + "weight": 486, "cookies": false, "type": "", "demo": "sites\/get-deployment.md", @@ -39049,7 +40356,7 @@ "x-appwrite": { "method": "deleteDeployment", "group": "deployments", - "weight": 484, + "weight": 489, "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", @@ -39115,7 +40422,7 @@ "x-appwrite": { "method": "getDeploymentDownload", "group": "deployments", - "weight": 485, + "weight": 490, "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", @@ -39207,7 +40514,7 @@ "x-appwrite": { "method": "updateDeploymentStatus", "group": "deployments", - "weight": 487, + "weight": 492, "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", @@ -39280,7 +40587,7 @@ "x-appwrite": { "method": "listLogs", "group": "logs", - "weight": 489, + "weight": 494, "cookies": false, "type": "", "demo": "sites\/list-logs.md", @@ -39367,7 +40674,7 @@ "x-appwrite": { "method": "getLog", "group": "logs", - "weight": 488, + "weight": 493, "cookies": false, "type": "", "demo": "sites\/get-log.md", @@ -39431,7 +40738,7 @@ "x-appwrite": { "method": "deleteLog", "group": "logs", - "weight": 490, + "weight": 495, "cookies": false, "type": "", "demo": "sites\/delete-log.md", @@ -39504,7 +40811,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 493, + "weight": 498, "cookies": false, "type": "", "demo": "sites\/list-variables.md", @@ -39589,7 +40896,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 913, + "weight": 974, "cookies": false, "type": "", "demo": "sites\/create-variable.md", @@ -39688,7 +40995,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 492, + "weight": 497, "cookies": false, "type": "", "demo": "sites\/get-variable.md", @@ -39759,7 +41066,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 494, + "weight": 499, "cookies": false, "type": "", "demo": "sites\/update-variable.md", @@ -39852,7 +41159,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 495, + "weight": 500, "cookies": false, "type": "", "demo": "sites\/delete-variable.md", @@ -39925,7 +41232,7 @@ "x-appwrite": { "method": "listBuckets", "group": "buckets", - "weight": 543, + "weight": 550, "cookies": false, "type": "", "demo": "storage\/list-buckets.md", @@ -40012,7 +41319,7 @@ "x-appwrite": { "method": "createBucket", "group": "buckets", - "weight": 541, + "weight": 548, "cookies": false, "type": "", "demo": "storage\/create-bucket.md", @@ -40149,7 +41456,7 @@ "x-appwrite": { "method": "getBucket", "group": "buckets", - "weight": 542, + "weight": 549, "cookies": false, "type": "", "demo": "storage\/get-bucket.md", @@ -40211,7 +41518,7 @@ "x-appwrite": { "method": "updateBucket", "group": "buckets", - "weight": 544, + "weight": 551, "cookies": false, "type": "", "demo": "storage\/update-bucket.md", @@ -40345,7 +41652,7 @@ "x-appwrite": { "method": "deleteBucket", "group": "buckets", - "weight": 545, + "weight": 552, "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", @@ -40409,7 +41716,7 @@ "x-appwrite": { "method": "listFiles", "group": "files", - "weight": 548, + "weight": 555, "cookies": false, "type": "", "demo": "storage\/list-files.md", @@ -40510,7 +41817,7 @@ "x-appwrite": { "method": "createFile", "group": "files", - "weight": 1195, + "weight": 1260, "cookies": false, "type": "upload", "demo": "storage\/create-file.md", @@ -40614,7 +41921,7 @@ "x-appwrite": { "method": "getFile", "group": "files", - "weight": 547, + "weight": 554, "cookies": false, "type": "", "demo": "storage\/get-file.md", @@ -40690,7 +41997,7 @@ "x-appwrite": { "method": "updateFile", "group": "files", - "weight": 549, + "weight": 556, "cookies": false, "type": "", "demo": "storage\/update-file.md", @@ -40784,7 +42091,7 @@ "x-appwrite": { "method": "deleteFile", "group": "files", - "weight": 550, + "weight": 557, "cookies": false, "type": "", "demo": "storage\/delete-file.md", @@ -40855,7 +42162,7 @@ "x-appwrite": { "method": "getFileDownload", "group": "files", - "weight": 552, + "weight": 559, "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", @@ -40937,7 +42244,7 @@ "x-appwrite": { "method": "getFilePreview", "group": "files", - "weight": 551, + "weight": 558, "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", @@ -41133,8 +42440,7 @@ "gif" ], "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "" + "x-enum-keys": [] }, "in": "query" }, @@ -41169,7 +42475,7 @@ "x-appwrite": { "method": "getFileView", "group": "files", - "weight": 553, + "weight": 560, "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", @@ -41258,7 +42564,7 @@ "x-appwrite": { "method": "list", "group": "tablesdb", - "weight": 767, + "weight": 780, "cookies": false, "type": "", "demo": "tablesdb\/list.md", @@ -41345,7 +42651,7 @@ "x-appwrite": { "method": "create", "group": "tablesdb", - "weight": 763, + "weight": 776, "cookies": false, "type": "", "demo": "tablesdb\/create.md", @@ -41427,7 +42733,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 836, + "weight": 849, "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", @@ -41499,7 +42805,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 832, + "weight": 845, "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", @@ -41575,7 +42881,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 833, + "weight": 846, "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", @@ -41644,7 +42950,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 834, + "weight": 847, "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", @@ -41727,7 +43033,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 835, + "weight": 848, "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", @@ -41798,7 +43104,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 837, + "weight": 850, "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", @@ -41888,7 +43194,7 @@ "x-appwrite": { "method": "get", "group": "tablesdb", - "weight": 764, + "weight": 777, "cookies": false, "type": "", "demo": "tablesdb\/get.md", @@ -41950,7 +43256,7 @@ "x-appwrite": { "method": "update", "group": "tablesdb", - "weight": 765, + "weight": 778, "cookies": false, "type": "", "demo": "tablesdb\/update.md", @@ -42026,7 +43332,7 @@ "x-appwrite": { "method": "delete", "group": "tablesdb", - "weight": 766, + "weight": 779, "cookies": false, "type": "", "demo": "tablesdb\/delete.md", @@ -42090,7 +43396,7 @@ "x-appwrite": { "method": "listTables", "group": "tables", - "weight": 774, + "weight": 787, "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", @@ -42190,7 +43496,7 @@ "x-appwrite": { "method": "createTable", "group": "tables", - "weight": 770, + "weight": 783, "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", @@ -42317,7 +43623,7 @@ "x-appwrite": { "method": "getTable", "group": "tables", - "weight": 771, + "weight": 784, "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", @@ -42392,7 +43698,7 @@ "x-appwrite": { "method": "updateTable", "group": "tables", - "weight": 772, + "weight": 785, "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", @@ -42500,7 +43806,7 @@ "x-appwrite": { "method": "deleteTable", "group": "tables", - "weight": 773, + "weight": 786, "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", @@ -42577,7 +43883,7 @@ "x-appwrite": { "method": "listColumns", "group": "columns", - "weight": 779, + "weight": 792, "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", @@ -42680,7 +43986,7 @@ "x-appwrite": { "method": "createBigIntColumn", "group": "columns", - "weight": 792, + "weight": 805, "cookies": false, "type": "", "demo": "tablesdb\/create-big-int-column.md", @@ -42810,7 +44116,7 @@ "x-appwrite": { "method": "updateBigIntColumn", "group": "columns", - "weight": 793, + "weight": 806, "cookies": false, "type": "", "demo": "tablesdb\/update-big-int-column.md", @@ -42945,7 +44251,7 @@ "x-appwrite": { "method": "createBooleanColumn", "group": "columns", - "weight": 780, + "weight": 793, "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", @@ -43060,7 +44366,7 @@ "x-appwrite": { "method": "updateBooleanColumn", "group": "columns", - "weight": 781, + "weight": 794, "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", @@ -43180,7 +44486,7 @@ "x-appwrite": { "method": "createDatetimeColumn", "group": "columns", - "weight": 782, + "weight": 795, "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", @@ -43296,7 +44602,7 @@ "x-appwrite": { "method": "updateDatetimeColumn", "group": "columns", - "weight": 783, + "weight": 796, "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", @@ -43417,7 +44723,7 @@ "x-appwrite": { "method": "createEmailColumn", "group": "columns", - "weight": 784, + "weight": 797, "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", @@ -43533,7 +44839,7 @@ "x-appwrite": { "method": "updateEmailColumn", "group": "columns", - "weight": 785, + "weight": 798, "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", @@ -43654,7 +44960,7 @@ "x-appwrite": { "method": "createEnumColumn", "group": "columns", - "weight": 786, + "weight": 799, "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", @@ -43778,7 +45084,7 @@ "x-appwrite": { "method": "updateEnumColumn", "group": "columns", - "weight": 787, + "weight": 800, "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", @@ -43907,7 +45213,7 @@ "x-appwrite": { "method": "createFloatColumn", "group": "columns", - "weight": 788, + "weight": 801, "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", @@ -44037,7 +45343,7 @@ "x-appwrite": { "method": "updateFloatColumn", "group": "columns", - "weight": 789, + "weight": 802, "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", @@ -44172,7 +45478,7 @@ "x-appwrite": { "method": "createIntegerColumn", "group": "columns", - "weight": 790, + "weight": 803, "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", @@ -44302,7 +45608,7 @@ "x-appwrite": { "method": "updateIntegerColumn", "group": "columns", - "weight": 791, + "weight": 804, "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", @@ -44437,7 +45743,7 @@ "x-appwrite": { "method": "createIpColumn", "group": "columns", - "weight": 794, + "weight": 807, "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", @@ -44552,7 +45858,7 @@ "x-appwrite": { "method": "updateIpColumn", "group": "columns", - "weight": 795, + "weight": 808, "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", @@ -44672,7 +45978,7 @@ "x-appwrite": { "method": "createLineColumn", "group": "columns", - "weight": 796, + "weight": 809, "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", @@ -44789,7 +46095,7 @@ "x-appwrite": { "method": "updateLineColumn", "group": "columns", - "weight": 797, + "weight": 810, "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", @@ -44915,7 +46221,7 @@ "x-appwrite": { "method": "createLongtextColumn", "group": "columns", - "weight": 814, + "weight": 827, "cookies": false, "type": "", "demo": "tablesdb\/create-longtext-column.md", @@ -45035,7 +46341,7 @@ "x-appwrite": { "method": "updateLongtextColumn", "group": "columns", - "weight": 815, + "weight": 828, "cookies": false, "type": "", "demo": "tablesdb\/update-longtext-column.md", @@ -45155,7 +46461,7 @@ "x-appwrite": { "method": "createMediumtextColumn", "group": "columns", - "weight": 812, + "weight": 825, "cookies": false, "type": "", "demo": "tablesdb\/create-mediumtext-column.md", @@ -45275,7 +46581,7 @@ "x-appwrite": { "method": "updateMediumtextColumn", "group": "columns", - "weight": 813, + "weight": 826, "cookies": false, "type": "", "demo": "tablesdb\/update-mediumtext-column.md", @@ -45395,7 +46701,7 @@ "x-appwrite": { "method": "createPointColumn", "group": "columns", - "weight": 798, + "weight": 811, "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", @@ -45512,7 +46818,7 @@ "x-appwrite": { "method": "updatePointColumn", "group": "columns", - "weight": 799, + "weight": 812, "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", @@ -45638,7 +46944,7 @@ "x-appwrite": { "method": "createPolygonColumn", "group": "columns", - "weight": 800, + "weight": 813, "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", @@ -45755,7 +47061,7 @@ "x-appwrite": { "method": "updatePolygonColumn", "group": "columns", - "weight": 801, + "weight": 814, "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", @@ -45881,7 +47187,7 @@ "x-appwrite": { "method": "createRelationshipColumn", "group": "columns", - "weight": 802, + "weight": 815, "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", @@ -46022,7 +47328,7 @@ "x-appwrite": { "method": "createStringColumn", "group": "columns", - "weight": 804, + "weight": 817, "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", @@ -46153,7 +47459,7 @@ "x-appwrite": { "method": "updateStringColumn", "group": "columns", - "weight": 805, + "weight": 818, "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", @@ -46284,7 +47590,7 @@ "x-appwrite": { "method": "createTextColumn", "group": "columns", - "weight": 810, + "weight": 823, "cookies": false, "type": "", "demo": "tablesdb\/create-text-column.md", @@ -46404,7 +47710,7 @@ "x-appwrite": { "method": "updateTextColumn", "group": "columns", - "weight": 811, + "weight": 824, "cookies": false, "type": "", "demo": "tablesdb\/update-text-column.md", @@ -46524,7 +47830,7 @@ "x-appwrite": { "method": "createUrlColumn", "group": "columns", - "weight": 806, + "weight": 819, "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", @@ -46640,7 +47946,7 @@ "x-appwrite": { "method": "updateUrlColumn", "group": "columns", - "weight": 807, + "weight": 820, "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", @@ -46761,7 +48067,7 @@ "x-appwrite": { "method": "createVarcharColumn", "group": "columns", - "weight": 808, + "weight": 821, "cookies": false, "type": "", "demo": "tablesdb\/create-varchar-column.md", @@ -46888,7 +48194,7 @@ "x-appwrite": { "method": "updateVarcharColumn", "group": "columns", - "weight": 809, + "weight": 822, "cookies": false, "type": "", "demo": "tablesdb\/update-varchar-column.md", @@ -47097,7 +48403,7 @@ "x-appwrite": { "method": "getColumn", "group": "columns", - "weight": 777, + "weight": 790, "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", @@ -47176,7 +48482,7 @@ "x-appwrite": { "method": "deleteColumn", "group": "columns", - "weight": 778, + "weight": 791, "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", @@ -47264,7 +48570,7 @@ "x-appwrite": { "method": "updateRelationshipColumn", "group": "columns", - "weight": 803, + "weight": 816, "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", @@ -47382,7 +48688,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 819, + "weight": 832, "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", @@ -47482,7 +48788,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 816, + "weight": 829, "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", @@ -47624,7 +48930,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 817, + "weight": 830, "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", @@ -47702,7 +49008,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 818, + "weight": 831, "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", @@ -47789,7 +49095,7 @@ "x-appwrite": { "method": "listRows", "group": "rows", - "weight": 907, + "weight": 919, "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", @@ -47914,7 +49220,7 @@ "x-appwrite": { "method": "createRow", "group": "rows", - "weight": 820, + "weight": 833, "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", @@ -48100,7 +49406,7 @@ "x-appwrite": { "method": "upsertRows", "group": "rows", - "weight": 825, + "weight": 838, "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", @@ -48234,7 +49540,7 @@ "x-appwrite": { "method": "updateRows", "group": "rows", - "weight": 823, + "weight": 836, "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", @@ -48339,7 +49645,7 @@ "x-appwrite": { "method": "deleteRows", "group": "rows", - "weight": 827, + "weight": 840, "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", @@ -48441,7 +49747,7 @@ "x-appwrite": { "method": "getRow", "group": "rows", - "weight": 821, + "weight": 834, "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", @@ -48553,7 +49859,7 @@ "x-appwrite": { "method": "upsertRow", "group": "rows", - "weight": 824, + "weight": 837, "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", @@ -48706,7 +50012,7 @@ "x-appwrite": { "method": "updateRow", "group": "rows", - "weight": 822, + "weight": 835, "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", @@ -48819,7 +50125,7 @@ "x-appwrite": { "method": "deleteRow", "group": "rows", - "weight": 826, + "weight": 839, "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", @@ -48927,7 +50233,7 @@ "x-appwrite": { "method": "decrementRowColumn", "group": "rows", - "weight": 831, + "weight": 844, "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", @@ -49057,7 +50363,7 @@ "x-appwrite": { "method": "incrementRowColumn", "group": "rows", - "weight": 830, + "weight": 843, "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", @@ -49187,7 +50493,7 @@ "x-appwrite": { "method": "list", "group": "teams", - "weight": 524, + "weight": 531, "cookies": false, "type": "", "demo": "teams\/list.md", @@ -49278,7 +50584,7 @@ "x-appwrite": { "method": "create", "group": "teams", - "weight": 522, + "weight": 529, "cookies": false, "type": "", "demo": "teams\/create.md", @@ -49367,7 +50673,7 @@ "x-appwrite": { "method": "get", "group": "teams", - "weight": 523, + "weight": 530, "cookies": false, "type": "", "demo": "teams\/get.md", @@ -49433,7 +50739,7 @@ "x-appwrite": { "method": "updateName", "group": "teams", - "weight": 526, + "weight": 533, "cookies": false, "type": "", "demo": "teams\/update-name.md", @@ -49511,7 +50817,7 @@ "x-appwrite": { "method": "delete", "group": "teams", - "weight": 525, + "weight": 532, "cookies": false, "type": "", "demo": "teams\/delete.md", @@ -49579,7 +50885,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 531, + "weight": 538, "cookies": false, "type": "", "demo": "teams\/list-memberships.md", @@ -49680,7 +50986,7 @@ "x-appwrite": { "method": "createMembership", "group": "memberships", - "weight": 529, + "weight": 536, "cookies": false, "type": "", "demo": "teams\/create-membership.md", @@ -49798,7 +51104,7 @@ "x-appwrite": { "method": "getMembership", "group": "memberships", - "weight": 530, + "weight": 537, "cookies": false, "type": "", "demo": "teams\/get-membership.md", @@ -49874,7 +51180,7 @@ "x-appwrite": { "method": "updateMembership", "group": "memberships", - "weight": 532, + "weight": 539, "cookies": false, "type": "", "demo": "teams\/update-membership.md", @@ -49965,7 +51271,7 @@ "x-appwrite": { "method": "deleteMembership", "group": "memberships", - "weight": 1196, + "weight": 1261, "cookies": false, "type": "", "demo": "teams\/delete-membership.md", @@ -50043,7 +51349,7 @@ "x-appwrite": { "method": "updateMembershipStatus", "group": "memberships", - "weight": 534, + "weight": 541, "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", @@ -50144,7 +51450,7 @@ "x-appwrite": { "method": "getPrefs", "group": "teams", - "weight": 527, + "weight": 534, "cookies": false, "type": "", "demo": "teams\/get-prefs.md", @@ -50208,7 +51514,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "teams", - "weight": 528, + "weight": 535, "cookies": false, "type": "", "demo": "teams\/update-prefs.md", @@ -50293,7 +51599,7 @@ "x-appwrite": { "method": "list", "group": "files", - "weight": 538, + "weight": 545, "cookies": false, "type": "", "demo": "tokens\/list.md", @@ -50388,7 +51694,7 @@ "x-appwrite": { "method": "createFileToken", "group": "files", - "weight": 536, + "weight": 543, "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", @@ -50479,7 +51785,7 @@ "x-appwrite": { "method": "get", "group": "tokens", - "weight": 537, + "weight": 544, "cookies": false, "type": "", "demo": "tokens\/get.md", @@ -50540,7 +51846,7 @@ "x-appwrite": { "method": "update", "group": "tokens", - "weight": 539, + "weight": 546, "cookies": false, "type": "", "demo": "tokens\/update.md", @@ -50612,7 +51918,7 @@ "x-appwrite": { "method": "delete", "group": "tokens", - "weight": 540, + "weight": 547, "cookies": false, "type": "", "demo": "tokens\/delete.md", @@ -50651,6 +51957,160 @@ ] } }, + "\/usage\/events": { + "get": { + "summary": "List usage events", + "operationId": "usageListEvents", + "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.", + "responses": { + "200": { + "description": "Usage events list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageEventList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listEvents", + "group": "events", + "weight": 1273, + "cookies": false, + "type": "", + "demo": "usage\/list-events.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "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).", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + } + }, + "\/usage\/gauges": { + "get": { + "summary": "List usage gauges", + "operationId": "usageListGauges", + "tags": [ + "usage" + ], + "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, and timestamp. 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.", + "responses": { + "200": { + "description": "Usage gauges list", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/usageGaugeList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listGauges", + "group": "gauges", + "weight": 1274, + "cookies": false, + "type": "", + "demo": "usage\/list-gauges.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "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).", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "schema": { + "type": "boolean", + "x-example": false, + "default": true + }, + "in": "query" + } + ] + } + }, "\/users": { "get": { "summary": "List users", @@ -50675,7 +52135,7 @@ "x-appwrite": { "method": "list", "group": "users", - "weight": 71, + "weight": 70, "cookies": false, "type": "", "demo": "users\/list.md", @@ -50762,7 +52222,7 @@ "x-appwrite": { "method": "create", "group": "users", - "weight": 62, + "weight": 61, "cookies": false, "type": "", "demo": "users\/create.md", @@ -50857,7 +52317,7 @@ "x-appwrite": { "method": "createArgon2User", "group": "users", - "weight": 65, + "weight": 64, "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", @@ -50947,7 +52407,7 @@ "x-appwrite": { "method": "createBcryptUser", "group": "users", - "weight": 63, + "weight": 62, "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", @@ -51037,7 +52497,7 @@ "x-appwrite": { "method": "listIdentities", "group": "identities", - "weight": 79, + "weight": 78, "cookies": false, "type": "", "demo": "users\/list-identities.md", @@ -51119,7 +52579,7 @@ "x-appwrite": { "method": "deleteIdentity", "group": "identities", - "weight": 103, + "weight": 102, "cookies": false, "type": "", "demo": "users\/delete-identity.md", @@ -51183,7 +52643,7 @@ "x-appwrite": { "method": "createMD5User", "group": "users", - "weight": 64, + "weight": 63, "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", @@ -51273,7 +52733,7 @@ "x-appwrite": { "method": "createPHPassUser", "group": "users", - "weight": 67, + "weight": 66, "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", @@ -51363,7 +52823,7 @@ "x-appwrite": { "method": "createScryptUser", "group": "users", - "weight": 68, + "weight": 67, "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", @@ -51487,7 +52947,7 @@ "x-appwrite": { "method": "createScryptModifiedUser", "group": "users", - "weight": 69, + "weight": 68, "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", @@ -51595,7 +53055,7 @@ "x-appwrite": { "method": "createSHAUser", "group": "users", - "weight": 66, + "weight": 65, "cookies": false, "type": "", "demo": "users\/create-sha-user.md", @@ -51705,7 +53165,7 @@ "x-appwrite": { "method": "get", "group": "users", - "weight": 72, + "weight": 71, "cookies": false, "type": "", "demo": "users\/get.md", @@ -51760,7 +53220,7 @@ "x-appwrite": { "method": "delete", "group": "users", - "weight": 101, + "weight": 100, "cookies": false, "type": "", "demo": "users\/delete.md", @@ -51824,7 +53284,7 @@ "x-appwrite": { "method": "updateEmail", "group": "users", - "weight": 86, + "weight": 85, "cookies": false, "type": "", "demo": "users\/update-email.md", @@ -51908,7 +53368,7 @@ "x-appwrite": { "method": "updateImpersonator", "group": "users", - "weight": 82, + "weight": 81, "cookies": false, "type": "", "demo": "users\/update-impersonator.md", @@ -51991,7 +53451,7 @@ "x-appwrite": { "method": "createJWT", "group": "sessions", - "weight": 104, + "weight": 103, "cookies": false, "type": "", "demo": "users\/create-jwt.md", @@ -52077,7 +53537,7 @@ "x-appwrite": { "method": "updateLabels", "group": "users", - "weight": 81, + "weight": 80, "cookies": false, "type": "", "demo": "users\/update-labels.md", @@ -52163,7 +53623,7 @@ "x-appwrite": { "method": "listLogs", "group": "logs", - "weight": 77, + "weight": 76, "cookies": false, "type": "", "demo": "users\/list-logs.md", @@ -52251,7 +53711,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 76, + "weight": 75, "cookies": false, "type": "", "demo": "users\/list-memberships.md", @@ -52350,7 +53810,7 @@ "x-appwrite": { "method": "updateMfa", "group": "users", - "weight": 91, + "weight": 90, "cookies": false, "type": "", "demo": "users\/update-mfa.md", @@ -52488,7 +53948,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 96, + "weight": 95, "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", @@ -52627,7 +54087,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 92, + "weight": 91, "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", @@ -52749,7 +54209,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 93, + "weight": 92, "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", @@ -52869,7 +54329,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 95, + "weight": 94, "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", @@ -52989,7 +54449,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 94, + "weight": 93, "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", @@ -53111,7 +54571,7 @@ "x-appwrite": { "method": "updateName", "group": "users", - "weight": 84, + "weight": 83, "cookies": false, "type": "", "demo": "users\/update-name.md", @@ -53194,7 +54654,7 @@ "x-appwrite": { "method": "updatePassword", "group": "users", - "weight": 85, + "weight": 84, "cookies": false, "type": "", "demo": "users\/update-password.md", @@ -53277,7 +54737,7 @@ "x-appwrite": { "method": "updatePhone", "group": "users", - "weight": 87, + "weight": 86, "cookies": false, "type": "", "demo": "users\/update-phone.md", @@ -53361,7 +54821,7 @@ "x-appwrite": { "method": "getPrefs", "group": "users", - "weight": 73, + "weight": 72, "cookies": false, "type": "", "demo": "users\/get-prefs.md", @@ -53423,7 +54883,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "users", - "weight": 89, + "weight": 88, "cookies": false, "type": "", "demo": "users\/update-prefs.md", @@ -53506,7 +54966,7 @@ "x-appwrite": { "method": "listSessions", "group": "sessions", - "weight": 75, + "weight": 74, "cookies": false, "type": "", "demo": "users\/list-sessions.md", @@ -53582,7 +55042,7 @@ "x-appwrite": { "method": "createSession", "group": "sessions", - "weight": 97, + "weight": 96, "cookies": false, "type": "", "demo": "users\/create-session.md", @@ -53640,7 +55100,7 @@ "x-appwrite": { "method": "deleteSessions", "group": "sessions", - "weight": 100, + "weight": 99, "cookies": false, "type": "", "demo": "users\/delete-sessions.md", @@ -53700,7 +55160,7 @@ "x-appwrite": { "method": "deleteSession", "group": "sessions", - "weight": 99, + "weight": 98, "cookies": false, "type": "", "demo": "users\/delete-session.md", @@ -53777,7 +55237,7 @@ "x-appwrite": { "method": "updateStatus", "group": "users", - "weight": 80, + "weight": 79, "cookies": false, "type": "", "demo": "users\/update-status.md", @@ -53860,7 +55320,7 @@ "x-appwrite": { "method": "listTargets", "group": "targets", - "weight": 78, + "weight": 77, "cookies": false, "type": "", "demo": "users\/list-targets.md", @@ -53946,7 +55406,7 @@ "x-appwrite": { "method": "createTarget", "group": "targets", - "weight": 70, + "weight": 69, "cookies": false, "type": "", "demo": "users\/create-target.md", @@ -54058,7 +55518,7 @@ "x-appwrite": { "method": "getTarget", "group": "targets", - "weight": 74, + "weight": 73, "cookies": false, "type": "", "demo": "users\/get-target.md", @@ -54130,7 +55590,7 @@ "x-appwrite": { "method": "updateTarget", "group": "targets", - "weight": 90, + "weight": 89, "cookies": false, "type": "", "demo": "users\/update-target.md", @@ -54221,7 +55681,7 @@ "x-appwrite": { "method": "deleteTarget", "group": "targets", - "weight": 102, + "weight": 101, "cookies": false, "type": "", "demo": "users\/delete-target.md", @@ -54295,7 +55755,7 @@ "x-appwrite": { "method": "createToken", "group": "sessions", - "weight": 98, + "weight": 97, "cookies": false, "type": "", "demo": "users\/create-token.md", @@ -54382,7 +55842,7 @@ "x-appwrite": { "method": "updateEmailVerification", "group": "users", - "weight": 88, + "weight": 87, "cookies": false, "type": "", "demo": "users\/update-email-verification.md", @@ -54465,7 +55925,7 @@ "x-appwrite": { "method": "updatePhoneVerification", "group": "users", - "weight": 83, + "weight": 82, "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", @@ -54548,7 +56008,7 @@ "x-appwrite": { "method": "list", "group": "vectorsdb", - "weight": 876, + "weight": 924, "cookies": false, "type": "", "demo": "vectorsdb\/list.md", @@ -54588,17 +56048,6 @@ }, "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "schema": { - "type": "string", - "x-example": "<SEARCH>", - "default": "" - }, - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -54635,7 +56084,7 @@ "x-appwrite": { "method": "create", "group": "vectorsdb", - "weight": 872, + "weight": 925, "cookies": false, "type": "", "demo": "vectorsdb\/create.md", @@ -54717,7 +56166,7 @@ "x-appwrite": { "method": "createTextEmbeddings", "group": "documents", - "weight": 898, + "weight": 911, "cookies": false, "type": "", "demo": "vectorsdb\/create-text-embeddings.md", @@ -54830,7 +56279,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 903, + "weight": 916, "cookies": false, "type": "", "demo": "vectorsdb\/list-transactions.md", @@ -54899,7 +56348,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 899, + "weight": 912, "cookies": false, "type": "", "demo": "vectorsdb\/create-transaction.md", @@ -54972,7 +56421,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 900, + "weight": 913, "cookies": false, "type": "", "demo": "vectorsdb\/get-transaction.md", @@ -55038,7 +56487,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 901, + "weight": 914, "cookies": false, "type": "", "demo": "vectorsdb\/update-transaction.md", @@ -55118,7 +56567,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 902, + "weight": 915, "cookies": false, "type": "", "demo": "vectorsdb\/delete-transaction.md", @@ -55186,7 +56635,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 904, + "weight": 917, "cookies": false, "type": "", "demo": "vectorsdb\/create-operations.md", @@ -55273,7 +56722,7 @@ "x-appwrite": { "method": "get", "group": "vectorsdb", - "weight": 873, + "weight": 886, "cookies": false, "type": "", "demo": "vectorsdb\/get.md", @@ -55335,7 +56784,7 @@ "x-appwrite": { "method": "update", "group": "vectorsdb", - "weight": 874, + "weight": 887, "cookies": false, "type": "", "demo": "vectorsdb\/update.md", @@ -55414,7 +56863,7 @@ "x-appwrite": { "method": "delete", "group": "vectorsdb", - "weight": 875, + "weight": 926, "cookies": false, "type": "", "demo": "vectorsdb\/delete.md", @@ -55478,7 +56927,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 883, + "weight": 896, "cookies": false, "type": "", "demo": "vectorsdb\/list-collections.md", @@ -55575,7 +57024,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 879, + "weight": 892, "cookies": false, "type": "", "demo": "vectorsdb\/create-collection.md", @@ -55689,7 +57138,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 880, + "weight": 893, "cookies": false, "type": "", "demo": "vectorsdb\/get-collection.md", @@ -55761,7 +57210,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 881, + "weight": 894, "cookies": false, "type": "", "demo": "vectorsdb\/update-collection.md", @@ -55869,7 +57318,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 882, + "weight": 895, "cookies": false, "type": "", "demo": "vectorsdb\/delete-collection.md", @@ -55943,7 +57392,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 893, + "weight": 906, "cookies": false, "type": "", "demo": "vectorsdb\/list-documents.md", @@ -56065,7 +57514,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 889, + "weight": 902, "cookies": false, "type": "", "demo": "vectorsdb\/create-document.md", @@ -56244,7 +57693,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 896, + "weight": 909, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-documents.md", @@ -56374,7 +57823,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 895, + "weight": 908, "cookies": false, "type": "", "demo": "vectorsdb\/update-documents.md", @@ -56475,7 +57924,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 897, + "weight": 910, "cookies": false, "type": "", "demo": "vectorsdb\/delete-documents.md", @@ -56573,7 +58022,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 892, + "weight": 905, "cookies": false, "type": "", "demo": "vectorsdb\/get-document.md", @@ -56682,7 +58131,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 891, + "weight": 904, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-document.md", @@ -56830,7 +58279,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 890, + "weight": 903, "cookies": false, "type": "", "demo": "vectorsdb\/update-document.md", @@ -56938,7 +58387,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 894, + "weight": 907, "cookies": false, "type": "", "demo": "vectorsdb\/delete-document.md", @@ -57042,7 +58491,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 888, + "weight": 901, "cookies": false, "type": "", "demo": "vectorsdb\/list-indexes.md", @@ -57138,7 +58587,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 885, + "weight": 898, "cookies": false, "type": "", "demo": "vectorsdb\/create-index.md", @@ -57278,7 +58727,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 886, + "weight": 899, "cookies": false, "type": "", "demo": "vectorsdb\/get-index.md", @@ -57352,7 +58801,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 887, + "weight": 900, "cookies": false, "type": "", "demo": "vectorsdb\/delete-index.md", @@ -57435,7 +58884,7 @@ "x-appwrite": { "method": "list", "group": null, - "weight": 571, + "weight": 578, "cookies": false, "type": "", "demo": "webhooks\/list.md", @@ -57510,7 +58959,7 @@ "x-appwrite": { "method": "create", "group": null, - "weight": 570, + "weight": 577, "cookies": false, "type": "", "demo": "webhooks\/create.md", @@ -57627,7 +59076,7 @@ "x-appwrite": { "method": "get", "group": null, - "weight": 572, + "weight": 579, "cookies": false, "type": "", "demo": "webhooks\/get.md", @@ -57688,7 +59137,7 @@ "x-appwrite": { "method": "update", "group": null, - "weight": 574, + "weight": 581, "cookies": false, "type": "", "demo": "webhooks\/update.md", @@ -57796,7 +59245,7 @@ "x-appwrite": { "method": "delete", "group": null, - "weight": 573, + "weight": 580, "cookies": false, "type": "", "demo": "webhooks\/delete.md", @@ -57859,7 +59308,7 @@ "x-appwrite": { "method": "updateSecret", "group": null, - "weight": 575, + "weight": 582, "cookies": false, "type": "", "demo": "webhooks\/update-secret.md", @@ -57988,6 +59437,10 @@ { "name": "messaging", "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." + }, + { + "name": "advisor", + "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." } ], "components": { @@ -58092,6 +59545,34 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "$ref": "#\/components\/schemas\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "tableList": { "description": "Tables List", "type": "object", @@ -59338,6 +60819,62 @@ "embeddings": "" } }, + "insightList": { + "description": "Insights List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of insights that matched your query.", + "x-example": 5, + "format": "int32" + }, + "insights": { + "type": "array", + "description": "List of insights.", + "items": { + "$ref": "#\/components\/schemas\/insight" + }, + "x-example": "" + } + }, + "required": [ + "total", + "insights" + ], + "example": { + "total": 5, + "insights": "" + } + }, + "reportList": { + "description": "Reports List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of reports that matched your query.", + "x-example": 5, + "format": "int32" + }, + "reports": { + "type": "array", + "description": "List of reports.", + "items": { + "$ref": "#\/components\/schemas\/report" + }, + "x-example": "" + } + }, + "required": [ + "total", + "reports" + ], + "example": { + "total": 5, + "reports": "" + } + }, "database": { "description": "Database", "type": "object", @@ -59382,7 +60919,7 @@ "type": "array", "description": "Database backup policies.", "items": { - "$ref": "#\/components\/schemas\/index" + "$ref": "#\/components\/schemas\/backupPolicy" }, "x-example": {} }, @@ -59390,7 +60927,7 @@ "type": "array", "description": "Database backup archives.", "items": { - "$ref": "#\/components\/schemas\/collection" + "$ref": "#\/components\/schemas\/backupArchive" }, "x-example": {} } @@ -64324,6 +65861,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -65414,6 +67026,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -65447,6 +67065,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -65464,6 +67083,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": true, @@ -66906,213 +68526,14 @@ "description": "Project name.", "x-example": "New Project" }, - "description": { - "type": "string", - "description": "Project description.", - "x-example": "This is a new project." - }, "teamId": { "type": "string", "description": "Project team ID.", "x-example": "1592981250" }, - "logo": { - "type": "string", - "description": "Project logo file ID.", - "x-example": "5f5c451b403cb" - }, - "url": { - "type": "string", - "description": "Project website URL.", - "x-example": "5f5c451b403cb" - }, - "legalName": { - "type": "string", - "description": "Company legal name.", - "x-example": "Company LTD." - }, - "legalCountry": { - "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" - }, - "legalState": { - "type": "string", - "description": "State name.", - "x-example": "New York" - }, - "legalCity": { - "type": "string", - "description": "City name.", - "x-example": "New York City." - }, - "legalAddress": { - "type": "string", - "description": "Company Address.", - "x-example": "620 Eighth Avenue, New York, NY 10018" - }, - "legalTaxId": { - "type": "string", - "description": "Company Tax ID.", - "x-example": "131102020" - }, - "authDuration": { - "type": "integer", - "description": "Session duration in seconds.", - "x-example": 60, - "format": "int32" - }, - "authLimit": { - "type": "integer", - "description": "Max users allowed. 0 is unlimited.", - "x-example": 100, - "format": "int32" - }, - "authSessionsLimit": { - "type": "integer", - "description": "Max sessions allowed per user. 100 maximum.", - "x-example": 10, - "format": "int32" - }, - "authPasswordHistory": { - "type": "integer", - "description": "Max allowed passwords in the history list per user. Max passwords limit allowed in history is 20. Use 0 for disabling password history.", - "x-example": 5, - "format": "int32" - }, - "authPasswordDictionary": { - "type": "boolean", - "description": "Whether or not to check user's password against most commonly used passwords.", - "x-example": true - }, - "authPersonalDataCheck": { - "type": "boolean", - "description": "Whether or not to check the user password for similarity with their personal data.", - "x-example": true - }, - "authDisposableEmails": { - "type": "boolean", - "description": "Whether or not to disallow disposable email addresses during signup and email updates.", - "x-example": true - }, - "authCanonicalEmails": { - "type": "boolean", - "description": "Whether or not to require canonical email addresses during signup and email updates.", - "x-example": true - }, - "authFreeEmails": { - "type": "boolean", - "description": "Whether or not to disallow free email addresses during signup and email updates.", - "x-example": true - }, - "authMockNumbers": { - "type": "array", - "description": "An array of mock numbers and their corresponding verification codes (OTPs).", - "items": { - "$ref": "#\/components\/schemas\/mockNumber" - }, - "x-example": [ - {} - ] - }, - "authSessionAlerts": { - "type": "boolean", - "description": "Whether or not to send session alert emails to users.", - "x-example": true - }, - "authMembershipsUserName": { - "type": "boolean", - "description": "Whether or not to show user names in the teams membership response.", - "x-example": true - }, - "authMembershipsUserEmail": { - "type": "boolean", - "description": "Whether or not to show user emails in the teams membership response.", - "x-example": true - }, - "authMembershipsMfa": { - "type": "boolean", - "description": "Whether or not to show user MFA status in the teams membership response.", - "x-example": true - }, - "authMembershipsUserId": { - "type": "boolean", - "description": "Whether or not to show user IDs in the teams membership response.", - "x-example": true - }, - "authMembershipsUserPhone": { - "type": "boolean", - "description": "Whether or not to show user phone numbers in the teams membership response.", - "x-example": true - }, - "authInvalidateSessions": { - "type": "boolean", - "description": "Whether or not all existing sessions should be invalidated on password change", - "x-example": true - }, - "oAuthProviders": { - "type": "array", - "description": "List of Auth Providers.", - "items": { - "$ref": "#\/components\/schemas\/authProvider" - }, - "x-example": [ - {} - ] - }, - "platforms": { - "type": "array", - "description": "List of Platforms.", - "items": { - "anyOf": [ - { - "$ref": "#\/components\/schemas\/platformWeb" - }, - { - "$ref": "#\/components\/schemas\/platformApple" - }, - { - "$ref": "#\/components\/schemas\/platformAndroid" - }, - { - "$ref": "#\/components\/schemas\/platformWindows" - }, - { - "$ref": "#\/components\/schemas\/platformLinux" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/components\/schemas\/platformWeb", - "apple": "#\/components\/schemas\/platformApple", - "android": "#\/components\/schemas\/platformAndroid", - "windows": "#\/components\/schemas\/platformWindows", - "linux": "#\/components\/schemas\/platformLinux" - } - } - }, - "x-example": {} - }, - "webhooks": { - "type": "array", - "description": "List of Webhooks.", - "items": { - "$ref": "#\/components\/schemas\/webhook" - }, - "x-example": {} - }, - "keys": { - "type": "array", - "description": "List of API Keys.", - "items": { - "$ref": "#\/components\/schemas\/key" - }, - "x-example": {} - }, "devKeys": { "type": "array", - "description": "List of dev keys.", + "description": "Deprecated since 1.9.5: List of dev keys.", "items": { "$ref": "#\/components\/schemas\/devKey" }, @@ -67195,140 +68616,29 @@ "description": "Project status", "x-example": "active" }, - "authEmailPassword": { - "type": "boolean", - "description": "Email\/Password auth method status", - "x-example": true - }, - "authUsersAuthMagicURL": { - "type": "boolean", - "description": "Magic URL auth method status", - "x-example": true - }, - "authEmailOtp": { - "type": "boolean", - "description": "Email (OTP) auth method status", - "x-example": true - }, - "authAnonymous": { - "type": "boolean", - "description": "Anonymous auth method status", - "x-example": true - }, - "authInvites": { - "type": "boolean", - "description": "Invites auth method status", - "x-example": true - }, - "authJWT": { - "type": "boolean", - "description": "JWT auth method status", - "x-example": true - }, - "authPhone": { - "type": "boolean", - "description": "Phone auth method status", - "x-example": true - }, - "serviceStatusForAccount": { - "type": "boolean", - "description": "Account service status", - "x-example": true - }, - "serviceStatusForAvatars": { - "type": "boolean", - "description": "Avatars service status", - "x-example": true - }, - "serviceStatusForDatabases": { - "type": "boolean", - "description": "Databases (legacy) service status", - "x-example": true - }, - "serviceStatusForTablesdb": { - "type": "boolean", - "description": "TablesDB service status", - "x-example": true - }, - "serviceStatusForLocale": { - "type": "boolean", - "description": "Locale service status", - "x-example": true - }, - "serviceStatusForHealth": { - "type": "boolean", - "description": "Health service status", - "x-example": true - }, - "serviceStatusForProject": { - "type": "boolean", - "description": "Project service status", - "x-example": true - }, - "serviceStatusForStorage": { - "type": "boolean", - "description": "Storage service status", - "x-example": true - }, - "serviceStatusForTeams": { - "type": "boolean", - "description": "Teams service status", - "x-example": true - }, - "serviceStatusForUsers": { - "type": "boolean", - "description": "Users service status", - "x-example": true - }, - "serviceStatusForVcs": { - "type": "boolean", - "description": "VCS service status", - "x-example": true - }, - "serviceStatusForSites": { - "type": "boolean", - "description": "Sites service status", - "x-example": true - }, - "serviceStatusForFunctions": { - "type": "boolean", - "description": "Functions service status", - "x-example": true - }, - "serviceStatusForProxy": { - "type": "boolean", - "description": "Proxy service status", - "x-example": true - }, - "serviceStatusForGraphql": { - "type": "boolean", - "description": "GraphQL service status", - "x-example": true - }, - "serviceStatusForMigrations": { - "type": "boolean", - "description": "Migrations service status", - "x-example": true - }, - "serviceStatusForMessaging": { - "type": "boolean", - "description": "Messaging service status", - "x-example": true - }, - "protocolStatusForRest": { - "type": "boolean", - "description": "REST protocol status", - "x-example": true + "authMethods": { + "type": "array", + "description": "List of auth methods.", + "items": { + "$ref": "#\/components\/schemas\/projectAuthMethod" + }, + "x-example": {} }, - "protocolStatusForGraphql": { - "type": "boolean", - "description": "GraphQL protocol status", - "x-example": true + "services": { + "type": "array", + "description": "List of services.", + "items": { + "$ref": "#\/components\/schemas\/projectService" + }, + "x-example": {} }, - "protocolStatusForWebsocket": { - "type": "boolean", - "description": "Websocket protocol status", - "x-example": true + "protocols": { + "type": "array", + "description": "List of protocols.", + "items": { + "$ref": "#\/components\/schemas\/projectProtocol" + }, + "x-example": {} }, "region": { "type": "string", @@ -67341,7 +68651,8 @@ "x-example": "", "items": { "$ref": "#\/components\/schemas\/billingLimits" - } + }, + "nullable": true }, "blocks": { "type": "array", @@ -67362,37 +68673,7 @@ "$createdAt", "$updatedAt", "name", - "description", "teamId", - "logo", - "url", - "legalName", - "legalCountry", - "legalState", - "legalCity", - "legalAddress", - "legalTaxId", - "authDuration", - "authLimit", - "authSessionsLimit", - "authPasswordHistory", - "authPasswordDictionary", - "authPersonalDataCheck", - "authDisposableEmails", - "authCanonicalEmails", - "authFreeEmails", - "authMockNumbers", - "authSessionAlerts", - "authMembershipsUserName", - "authMembershipsUserEmail", - "authMembershipsMfa", - "authMembershipsUserId", - "authMembershipsUserPhone", - "authInvalidateSessions", - "oAuthProviders", - "platforms", - "webhooks", - "keys", "devKeys", "smtpEnabled", "smtpSenderName", @@ -67408,35 +68689,10 @@ "pingedAt", "labels", "status", - "authEmailPassword", - "authUsersAuthMagicURL", - "authEmailOtp", - "authAnonymous", - "authInvites", - "authJWT", - "authPhone", - "serviceStatusForAccount", - "serviceStatusForAvatars", - "serviceStatusForDatabases", - "serviceStatusForTablesdb", - "serviceStatusForLocale", - "serviceStatusForHealth", - "serviceStatusForProject", - "serviceStatusForStorage", - "serviceStatusForTeams", - "serviceStatusForUsers", - "serviceStatusForVcs", - "serviceStatusForSites", - "serviceStatusForFunctions", - "serviceStatusForProxy", - "serviceStatusForGraphql", - "serviceStatusForMigrations", - "serviceStatusForMessaging", - "protocolStatusForRest", - "protocolStatusForGraphql", - "protocolStatusForWebsocket", + "authMethods", + "services", + "protocols", "region", - "billingLimits", "blocks", "consoleAccessedAt" ], @@ -67445,41 +68701,7 @@ "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", "name": "New Project", - "description": "This is a new project.", "teamId": "1592981250", - "logo": "5f5c451b403cb", - "url": "5f5c451b403cb", - "legalName": "Company LTD.", - "legalCountry": "US", - "legalState": "New York", - "legalCity": "New York City.", - "legalAddress": "620 Eighth Avenue, New York, NY 10018", - "legalTaxId": "131102020", - "authDuration": 60, - "authLimit": 100, - "authSessionsLimit": 10, - "authPasswordHistory": 5, - "authPasswordDictionary": true, - "authPersonalDataCheck": true, - "authDisposableEmails": true, - "authCanonicalEmails": true, - "authFreeEmails": true, - "authMockNumbers": [ - {} - ], - "authSessionAlerts": true, - "authMembershipsUserName": true, - "authMembershipsUserEmail": true, - "authMembershipsMfa": true, - "authMembershipsUserId": true, - "authMembershipsUserPhone": true, - "authInvalidateSessions": true, - "oAuthProviders": [ - {} - ], - "platforms": {}, - "webhooks": {}, - "keys": {}, "devKeys": {}, "smtpEnabled": false, "smtpSenderName": "John Appwrite", @@ -67497,39 +68719,124 @@ "vip" ], "status": "active", - "authEmailPassword": true, - "authUsersAuthMagicURL": true, - "authEmailOtp": true, - "authAnonymous": true, - "authInvites": true, - "authJWT": true, - "authPhone": true, - "serviceStatusForAccount": true, - "serviceStatusForAvatars": true, - "serviceStatusForDatabases": true, - "serviceStatusForTablesdb": true, - "serviceStatusForLocale": true, - "serviceStatusForHealth": true, - "serviceStatusForProject": true, - "serviceStatusForStorage": true, - "serviceStatusForTeams": true, - "serviceStatusForUsers": true, - "serviceStatusForVcs": true, - "serviceStatusForSites": true, - "serviceStatusForFunctions": true, - "serviceStatusForProxy": true, - "serviceStatusForGraphql": true, - "serviceStatusForMigrations": true, - "serviceStatusForMessaging": true, - "protocolStatusForRest": true, - "protocolStatusForGraphql": true, - "protocolStatusForWebsocket": true, + "authMethods": {}, + "services": {}, + "protocols": {}, "region": "fra", "billingLimits": "", "blocks": "", "consoleAccessedAt": "2020-10-15T06:38:00.000+00:00" } }, + "projectAuthMethod": { + "description": "ProjectAuthMethod", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Auth method ID.", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId" + }, + "enabled": { + "type": "boolean", + "description": "Auth method status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "email-password", + "enabled": false + } + }, + "projectService": { + "description": "ProjectService", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Service ID.", + "x-example": "sites", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId" + }, + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "sites", + "enabled": false + } + }, + "projectProtocol": { + "description": "ProjectProtocol", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Protocol ID.", + "x-example": "graphql", + "enum": [ + "rest", + "graphql", + "websocket" + ], + "x-enum-name": "ProjectProtocolId" + }, + "enabled": { + "type": "boolean", + "description": "Protocol status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "graphql", + "enabled": false + } + }, "webhook": { "description": "Webhook", "type": "object", @@ -69994,51 +71301,6 @@ "userMFA": true } }, - "authProvider": { - "description": "AuthProvider", - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Auth Provider.", - "x-example": "github" - }, - "name": { - "type": "string", - "description": "Auth Provider name.", - "x-example": "GitHub" - }, - "appId": { - "type": "string", - "description": "OAuth 2.0 application ID.", - "x-example": "259125845563242502" - }, - "secret": { - "type": "string", - "description": "OAuth 2.0 application secret. Might be JSON string if provider requires extra configuration. This property is write-only and always returned empty.", - "x-example": "" - }, - "enabled": { - "type": "boolean", - "description": "Auth Provider is active and can be used to create session.", - "x-example": "" - } - }, - "required": [ - "key", - "name", - "appId", - "secret", - "enabled" - ], - "example": { - "key": "github", - "name": "GitHub", - "appId": "259125845563242502", - "secret": "", - "enabled": "" - } - }, "platformWeb": { "description": "Platform Web", "type": "object", @@ -71698,6 +72960,298 @@ "expired": false } }, + "insight": { + "description": "Insight", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Insight ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Insight creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Insight update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "reportId": { + "type": "string", + "description": "Parent report ID. Insights always belong to a report.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Insight type. One of databaseIndex (legacy), tablesDBIndex, documentsDBIndex, vectorsDBIndex, databasePerformance, sitePerformance, siteAccessibility, siteSeo, functionPerformance. The index types are engine-specific so each CTA can pair the right service+method (databases.createIndex, tablesDB.createIndex, documentsDB.createIndex, or vectorsDB.createIndex).", + "x-example": "tablesDBIndex" + }, + "severity": { + "type": "string", + "description": "Insight severity. One of info, warning, critical.", + "x-example": "warning" + }, + "status": { + "type": "string", + "description": "Insight status. One of active, dismissed.", + "x-example": "active" + }, + "resourceType": { + "type": "string", + "description": "Type of the resource the insight is about. Plural noun, e.g. databases, sites, functions.", + "x-example": "databases" + }, + "resourceId": { + "type": "string", + "description": "ID of the resource the insight is about.", + "x-example": "main" + }, + "parentResourceType": { + "type": "string", + "description": "Plural noun for the parent resource that contains the insight's resource, e.g. an insight about a column index on a table \u2192 resourceType=indexes, parentResourceType=tables. Empty when the resource has no parent.", + "x-example": "tables" + }, + "parentResourceId": { + "type": "string", + "description": "ID of the parent resource. Empty when the resource has no parent.", + "x-example": "orders" + }, + "title": { + "type": "string", + "description": "Insight title.", + "x-example": "Missing index on collection orders" + }, + "summary": { + "type": "string", + "description": "Short markdown summary describing the insight.", + "x-example": "Queries against `orders.status` are scanning the full collection." + }, + "ctas": { + "type": "array", + "description": "List of call-to-action buttons attached to this insight.", + "items": { + "$ref": "#\/components\/schemas\/insightCTA" + }, + "x-example": [] + }, + "analyzedAt": { + "type": "string", + "description": "Time the insight was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "dismissedAt": { + "type": "string", + "description": "Time the insight was dismissed in ISO 8601 format. Empty when not dismissed.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + }, + "dismissedBy": { + "type": "string", + "description": "User ID that dismissed the insight. Empty when not dismissed.", + "x-example": "5e5ea5c16897e", + "nullable": true + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "reportId", + "type", + "severity", + "status", + "resourceType", + "resourceId", + "parentResourceType", + "parentResourceId", + "title", + "summary", + "ctas" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "reportId": "5e5ea5c16897e", + "type": "tablesDBIndex", + "severity": "warning", + "status": "active", + "resourceType": "databases", + "resourceId": "main", + "parentResourceType": "tables", + "parentResourceId": "orders", + "title": "Missing index on collection orders", + "summary": "Queries against `orders.status` are scanning the full collection.", + "ctas": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedBy": "5e5ea5c16897e" + } + }, + "insightCTA": { + "description": "InsightCTA", + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Human-readable label for the CTA, used in UI.", + "x-example": "Create missing index" + }, + "service": { + "type": "string", + "description": "Public API service (SDK namespace) the client should invoke. Must match the engine that owns the resource \u2014 for index suggestions: databases (legacy), tablesDB, documentsDB, or vectorsDB.", + "x-example": "tablesDB" + }, + "method": { + "type": "string", + "description": "Public API method on the chosen service the client should invoke when this CTA is triggered.", + "x-example": "createIndex" + }, + "params": { + "type": "object", + "description": "Parameter map the client should pass to the service method when this CTA is triggered. Keys match the target API's parameter names (e.g. databaseId\/tableId\/columns for tablesDB, databaseId\/collectionId\/attributes for the legacy Databases API).", + "x-example": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } + } + }, + "required": [ + "label", + "service", + "method", + "params" + ], + "example": { + "label": "Create missing index", + "service": "tablesDB", + "method": "createIndex", + "params": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } + } + }, + "report": { + "description": "Report", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Report ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Report creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Report update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "appId": { + "type": "string", + "description": "ID of the third-party app that submitted the report.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Analyzer that produced this report. e.g. lighthouse, audit, databaseAnalyzer.", + "x-example": "lighthouse" + }, + "title": { + "type": "string", + "description": "Short, human-readable title for the report.", + "x-example": "Lighthouse audit for https:\/\/appwrite.io\/" + }, + "summary": { + "type": "string", + "description": "Markdown summary describing the report.", + "x-example": "Performance score 78. 4 opportunities found." + }, + "targetType": { + "type": "string", + "description": "Plural noun describing what the report analyzes, e.g. databases, sites, urls.", + "x-example": "urls" + }, + "target": { + "type": "string", + "description": "Free-form target identifier (URL for lighthouse, resource ID for db).", + "x-example": "https:\/\/appwrite.io\/" + }, + "categories": { + "type": "array", + "description": "Categories covered by the report, e.g. performance, accessibility.", + "items": { + "type": "string" + }, + "x-example": [ + "performance", + "accessibility" + ] + }, + "insights": { + "type": "array", + "description": "Insights nested under this report.", + "items": { + "$ref": "#\/components\/schemas\/insight" + }, + "x-example": [] + }, + "analyzedAt": { + "type": "string", + "description": "Time the report was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "nullable": true + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "appId", + "type", + "title", + "summary", + "targetType", + "target", + "categories", + "insights" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "appId": "5e5ea5c16897e", + "type": "lighthouse", + "title": "Lighthouse audit for https:\/\/appwrite.io\/", + "summary": "Performance score 78. 4 opportunities found.", + "targetType": "urls", + "target": "https:\/\/appwrite.io\/", + "categories": [ + "performance", + "accessibility" + ], + "insights": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00" + } + }, "activityEvent": { "description": "ActivityEvent", "type": "object", @@ -72034,68 +73588,66 @@ } }, "billingLimits": { - "description": "BillingLimits", + "description": "Limits", "type": "object", "properties": { "bandwidth": { "type": "integer", "description": "Bandwidth limit", "x-example": 5, - "format": "int32" + "format": "int32", + "nullable": true }, "storage": { "type": "integer", "description": "Storage limit", "x-example": 150, - "format": "int32" + "format": "int32", + "nullable": true }, "users": { "type": "integer", "description": "Users limit", "x-example": 200000, - "format": "int32" + "format": "int32", + "nullable": true }, "executions": { "type": "integer", "description": "Executions limit", "x-example": 750000, - "format": "int32" + "format": "int32", + "nullable": true }, "GBHours": { "type": "integer", "description": "GBHours limit", "x-example": 100, - "format": "int32" + "format": "int32", + "nullable": true }, "imageTransformations": { "type": "integer", "description": "Image transformations limit", "x-example": 100, - "format": "int32" + "format": "int32", + "nullable": true }, "authPhone": { "type": "integer", "description": "Auth phone limit", "x-example": 10, - "format": "int32" + "format": "int32", + "nullable": true }, "budgetLimit": { "type": "integer", "description": "Budget limit percentage", "x-example": 100, - "format": "int32" + "format": "int32", + "nullable": true } }, - "required": [ - "bandwidth", - "storage", - "users", - "executions", - "GBHours", - "imageTransformations", - "authPhone", - "budgetLimit" - ], "example": { "bandwidth": 5, "storage": 150, @@ -72374,6 +73926,119 @@ "options": "{databases.database[{oldId, newId, newName}]}" } }, + "usageEvent": { + "description": "usageEvent", + "type": "object", + "properties": { + "metric": { + "type": "string", + "description": "The metric key.", + "x-example": "bandwidth" + }, + "value": { + "type": "integer", + "description": "The metric value.", + "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" + }, + "method": { + "type": "string", + "description": "The HTTP method.", + "x-example": "POST" + }, + "status": { + "type": "string", + "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", + "x-example": "201" + }, + "resourceType": { + "type": "string", + "description": "The resource type.", + "x-example": "bucket" + }, + "resourceId": { + "type": "string", + "description": "The resource ID.", + "x-example": "abc123" + }, + "countryCode": { + "type": "string", + "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", + "x-example": "US" + }, + "userAgent": { + "type": "string", + "description": "The user agent string.", + "x-example": "AppwriteSDK\/1.0" + } + }, + "required": [ + "metric", + "value", + "time", + "path", + "method", + "status", + "resourceType", + "resourceId", + "countryCode", + "userAgent" + ], + "example": { + "metric": "bandwidth", + "value": 5000, + "time": "2026-04-09T12:00:00.000+00:00", + "path": "\/v1\/storage\/files", + "method": "POST", + "status": "201", + "resourceType": "bucket", + "resourceId": "abc123", + "countryCode": "US", + "userAgent": "AppwriteSDK\/1.0" + } + }, + "usageGauge": { + "description": "usageGauge", + "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" + }, + "time": { + "type": "string", + "description": "The snapshot timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" + } + }, + "required": [ + "metric", + "value", + "time" + ], + "example": { + "metric": "users", + "value": 1500, + "time": "2026-04-09T12:00:00.000+00:00" + } + }, "activityEventList": { "description": "Activity event list", "type": "object", @@ -72485,6 +74150,62 @@ "total": 5, "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": "" + } } }, "securitySchemes": { diff --git a/specs/1.9.x/swagger2-1.9.x-client.json b/specs/1.9.x/swagger2-1.9.x-client.json index 43efd29ce..e691f40a4 100644 --- a/specs/1.9.x/swagger2-1.9.x-client.json +++ b/specs/1.9.x/swagger2-1.9.x-client.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,6 +17,9 @@ }, "host": "cloud.appwrite.io", "x-host-docs": "<REGION>.cloud.appwrite.io", + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "basePath": "\/v1", "schemes": [ "https" @@ -208,27 +211,24 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -304,14 +304,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -524,8 +522,8 @@ "duration": { "type": "integer", "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "default": 900, "x-example": 0, + "default": 900, "format": "int32" } } @@ -636,7 +634,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -673,7 +671,6 @@ "mfa": { "type": "boolean", "description": "Enable or disable MFA.", - "default": null, "x-example": false } }, @@ -711,7 +708,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -835,7 +832,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -945,7 +942,6 @@ "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -976,7 +972,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -1100,7 +1096,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -1193,7 +1189,6 @@ "factor": { "type": "string", "description": "Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.", - "default": null, "x-example": "email", "enum": [ "email", @@ -1237,7 +1232,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -1334,13 +1329,11 @@ "challengeId": { "type": "string", "description": "ID of the challenge.", - "default": null, "x-example": "<CHALLENGE_ID>" }, "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -1377,7 +1370,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -1478,7 +1471,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -1579,7 +1572,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -1680,7 +1673,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -1820,7 +1813,6 @@ "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -1895,14 +1887,13 @@ "password": { "type": "string", "description": "New user password. Must be at least 8 chars.", - "default": null, "x-example": null }, "oldPassword": { "type": "string", "description": "Current user password. Must be at least 8 chars.", - "default": "", "x-example": "password", + "default": "", "format": "password" } }, @@ -1977,14 +1968,12 @@ "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -2112,8 +2101,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}" + "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}", + "default": {} } }, "required": [ @@ -2190,14 +2179,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -2272,19 +2259,16 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid reset token.", - "default": null, "x-example": "<SECRET>" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null } }, @@ -2517,14 +2501,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -2605,13 +2587,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -2830,13 +2810,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -2912,13 +2890,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Secret of a token generated by login methods. For example, the `createMagicURLToken` or `createPhoneToken` methods.", - "default": null, "x-example": "<SECRET>" } }, @@ -3206,7 +3182,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3218,7 +3195,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3231,20 +3209,18 @@ "targetId": { "type": "string", "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TARGET_ID>" }, "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": null, "x-example": "<IDENTIFIER>" }, "providerId": { "type": "string", "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" + "x-example": "<PROVIDER_ID>", + "default": "" } }, "required": [ @@ -3292,7 +3268,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3304,7 +3281,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3325,7 +3303,6 @@ "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": null, "x-example": "<IDENTIFIER>" } }, @@ -3366,7 +3343,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -3378,7 +3356,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3459,21 +3438,19 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "phrase": { "type": "boolean", "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -3551,28 +3528,26 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", "x-example": "https:\/\/example.com", + "default": "", "format": "url" }, "phrase": { "type": "boolean", "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -3789,13 +3764,11 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" } @@ -3924,7 +3897,6 @@ "url": { "type": "string", "description": "URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -4054,13 +4026,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -4192,13 +4162,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -4235,7 +4203,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -4361,7 +4329,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -4493,7 +4461,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -4557,7 +4525,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -5045,7 +5013,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -5129,7 +5097,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -5221,7 +5189,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -5313,7 +5281,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -5436,7 +5404,7 @@ "description": "IANA timezone identifier (e.g., \"America\/New_York\", \"Europe\/London\"). Defaults to browser default.", "required": false, "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -5860,7 +5828,6 @@ ], "x-enum-name": null, "x-enum-keys": [], - "default": "", "in": "query" }, { @@ -5996,7 +5963,6 @@ ], "x-enum-name": "ImageFormat", "x-enum-keys": [], - "default": "", "in": "query" } ] @@ -6026,7 +5992,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 761, + "weight": 774, "cookies": false, "type": "", "demo": "databases\/list-transactions.md", @@ -6093,7 +6059,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 757, + "weight": 770, "cookies": false, "type": "", "demo": "databases\/create-transaction.md", @@ -6130,8 +6096,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -6164,7 +6130,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 758, + "weight": 771, "cookies": false, "type": "", "demo": "databases\/get-transaction.md", @@ -6227,7 +6193,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 759, + "weight": 772, "cookies": false, "type": "", "demo": "databases\/update-transaction.md", @@ -6272,14 +6238,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -6306,7 +6272,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 760, + "weight": 773, "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", @@ -6371,7 +6337,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 762, + "weight": 775, "cookies": false, "type": "", "demo": "databases\/create-operations.md", @@ -6416,8 +6382,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -6452,7 +6418,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 905, + "weight": 918, "cookies": false, "type": "", "demo": "databases\/list-documents.md", @@ -6566,7 +6532,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 702, + "weight": 715, "cookies": false, "type": "", "demo": "databases\/create-document.md", @@ -6660,19 +6626,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -6682,8 +6647,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -6691,7 +6656,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -6725,7 +6689,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 703, + "weight": 716, "cookies": false, "type": "", "demo": "databases\/get-document.md", @@ -6828,7 +6792,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 706, + "weight": 719, "cookies": false, "type": "", "demo": "databases\/upsert-document.md", @@ -6929,13 +6893,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -6945,7 +6908,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -6979,7 +6941,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 704, + "weight": 717, "cookies": false, "type": "", "demo": "databases\/update-document.md", @@ -7044,13 +7006,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -7060,7 +7021,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -7089,7 +7049,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 708, + "weight": 721, "cookies": false, "type": "", "demo": "databases\/delete-document.md", @@ -7154,7 +7114,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -7190,7 +7149,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 713, + "weight": 726, "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", @@ -7262,14 +7221,13 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -7277,7 +7235,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -7313,7 +7270,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 712, + "weight": 725, "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", @@ -7385,14 +7342,13 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -7400,7 +7356,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -7434,7 +7389,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 870, + "weight": 883, "cookies": false, "type": "", "demo": "documentsdb\/list-transactions.md", @@ -7501,7 +7456,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 866, + "weight": 879, "cookies": false, "type": "", "demo": "documentsdb\/create-transaction.md", @@ -7538,8 +7493,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -7572,7 +7527,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 867, + "weight": 880, "cookies": false, "type": "", "demo": "documentsdb\/get-transaction.md", @@ -7635,7 +7590,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 868, + "weight": 881, "cookies": false, "type": "", "demo": "documentsdb\/update-transaction.md", @@ -7680,14 +7635,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -7714,7 +7669,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 869, + "weight": 882, "cookies": false, "type": "", "demo": "documentsdb\/delete-transaction.md", @@ -7779,7 +7734,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 871, + "weight": 884, "cookies": false, "type": "", "demo": "documentsdb\/create-operations.md", @@ -7823,8 +7778,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -7859,7 +7814,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 906, + "weight": 921, "cookies": false, "type": "", "demo": "documentsdb\/list-documents.md", @@ -7969,7 +7924,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 855, + "weight": 868, "cookies": false, "type": "", "demo": "documentsdb\/create-document.md", @@ -8081,19 +8036,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -8102,8 +8056,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -8111,7 +8065,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8144,7 +8097,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 856, + "weight": 869, "cookies": false, "type": "", "demo": "documentsdb\/get-document.md", @@ -8243,7 +8196,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 859, + "weight": 872, "cookies": false, "type": "", "demo": "documentsdb\/upsert-document.md", @@ -8336,13 +8289,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -8351,7 +8303,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8384,7 +8335,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 857, + "weight": 870, "cookies": false, "type": "", "demo": "documentsdb\/update-document.md", @@ -8445,13 +8396,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -8460,7 +8410,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8488,7 +8437,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 861, + "weight": 874, "cookies": false, "type": "", "demo": "documentsdb\/delete-document.md", @@ -8549,7 +8498,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8584,7 +8532,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 865, + "weight": 878, "cookies": false, "type": "", "demo": "documentsdb\/decrement-document-attribute.md", @@ -8652,21 +8600,19 @@ "value": { "type": "number", "description": "Value to decrement the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float" }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8701,7 +8647,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 864, + "weight": 877, "cookies": false, "type": "", "demo": "documentsdb\/increment-document-attribute.md", @@ -8769,21 +8715,19 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float" }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -8816,7 +8760,7 @@ "x-appwrite": { "method": "listExecutions", "group": "executions", - "weight": 436, + "weight": 441, "cookies": false, "type": "", "demo": "functions\/list-executions.md", @@ -8902,7 +8846,7 @@ "x-appwrite": { "method": "createExecution", "group": "executions", - "weight": 434, + "weight": 439, "cookies": false, "type": "", "demo": "functions\/create-execution.md", @@ -8949,26 +8893,26 @@ "body": { "type": "string", "description": "HTTP body of execution. Default value is empty string.", - "default": "", - "x-example": "<BODY>" + "x-example": "<BODY>", + "default": "" }, "async": { "type": "boolean", "description": "Execute code in the background. Default value is false.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "path": { "type": "string", "description": "HTTP path of execution. Path can include query params. Default value is \/", - "default": "\/", - "x-example": "<PATH>" + "x-example": "<PATH>", + "default": "\/" }, "method": { "type": "string", "description": "HTTP method of execution. Default value is POST.", - "default": "POST", "x-example": "GET", + "default": "POST", "enum": [ "GET", "POST", @@ -8984,13 +8928,12 @@ "headers": { "type": "object", "description": "HTTP headers of execution. Defaults to empty.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "default": null, "x-example": "<SCHEDULED_AT>", "x-nullable": true } @@ -9024,7 +8967,7 @@ "x-appwrite": { "method": "getExecution", "group": "executions", - "weight": 435, + "weight": 440, "cookies": false, "type": "", "demo": "functions\/get-execution.md", @@ -9099,7 +9042,7 @@ "x-appwrite": { "method": "query", "group": "graphql", - "weight": 117, + "weight": 116, "cookies": false, "type": "graphql", "demo": "graphql\/query.md", @@ -9136,8 +9079,8 @@ "query": { "type": "object", "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -9174,7 +9117,7 @@ "x-appwrite": { "method": "mutation", "group": "graphql", - "weight": 116, + "weight": 115, "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", @@ -9211,8 +9154,8 @@ "query": { "type": "object", "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -9673,7 +9616,7 @@ "x-appwrite": { "method": "createSubscriber", "group": "subscribers", - "weight": 150, + "weight": 149, "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", @@ -9718,13 +9661,11 @@ "subscriberId": { "type": "string", "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", - "default": null, "x-example": "<SUBSCRIBER_ID>" }, "targetId": { "type": "string", "description": "Target ID. The target ID to link to the specified Topic ID.", - "default": null, "x-example": "<TARGET_ID>" } }, @@ -9758,7 +9699,7 @@ "x-appwrite": { "method": "deleteSubscriber", "group": "subscribers", - "weight": 154, + "weight": 153, "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", @@ -9805,46 +9746,46 @@ ] } }, - "\/storage\/buckets\/{bucketId}\/files": { + "\/presences": { "get": { - "summary": "List files", - "operationId": "storageListFiles", + "summary": "List presences", + "operationId": "presencesList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "storage" + "presences" ], - "description": "Get a list of all the user files. You can use the query params to filter your results.", + "description": "List presence logs. Expired entries are filtered out automatically.\n", "responses": { "200": { - "description": "Files List", + "description": "Presences List", "schema": { - "$ref": "#\/definitions\/fileList" + "$ref": "#\/definitions\/presenceList" } } }, "deprecated": false, "x-appwrite": { - "method": "listFiles", - "group": "files", - "weight": 548, + "method": "list", + "group": "presences", + "weight": 419, "cookies": false, "type": "", - "demo": "storage\/list-files.md", + "demo": "presences\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "presences.read", "platforms": [ "console", - "client", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", "auth": { "Project": [] } @@ -9857,17 +9798,9 @@ } ], "parameters": [ - { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "description": "Array of query strings generated using the Query class provided by the SDK.", "required": false, "type": "array", "collectionFormat": "multi", @@ -9877,15 +9810,6 @@ "default": [], "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -9894,50 +9818,60 @@ "x-example": false, "default": true, "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] - }, - "post": { - "summary": "Create file", - "operationId": "storageCreateFile", - "consumes": [ - "multipart\/form-data" - ], + } + }, + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "storage" + "presences" ], - "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", "responses": { - "201": { - "description": "File", + "200": { + "description": "Presence", "schema": { - "$ref": "#\/definitions\/file" + "$ref": "#\/definitions\/presence" } } }, "deprecated": false, "x-appwrite": { - "method": "createFile", - "group": "files", - "weight": 1195, + "method": "get", + "group": "presences", + "weight": 418, "cookies": false, - "type": "upload", - "demo": "storage\/create-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", - "scope": "files.write", + "type": "", + "demo": "presences\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", "platforms": [ "console", - "client", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", "auth": { "Project": [] } @@ -9951,91 +9885,572 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "presenceId", + "description": "Presence unique ID.", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", + "x-example": "<PRESENCE_ID>", "in": "path" - }, - { - "name": "fileId", - "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "required": true, - "x-upload-id": true, - "type": "string", - "x-example": "<FILE_ID>", - "in": "formData" - }, - { - "name": "file", - "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", - "required": true, - "type": "file", - "in": "formData" - }, - { - "name": "permissions", - "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "x-example": "[\"read(\"any\")\"]", - "in": "formData" } ] - } - }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { - "get": { - "summary": "Get file", - "operationId": "storageGetFile", - "consumes": [], + }, + "put": { + "summary": "Upsert presence", + "operationId": "presencesUpsert", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "storage" + "presences" ], - "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "description": "Create or update a presence log by its user ID.\n", "responses": { "200": { - "description": "File", + "description": "Presence", "schema": { - "$ref": "#\/definitions\/file" + "$ref": "#\/definitions\/presence" } } }, "deprecated": false, "x-appwrite": { - "method": "getFile", - "group": "files", - "weight": 547, + "method": "upsert", + "group": "presences", + "weight": 416, "cookies": false, "type": "", - "demo": "storage\/get-file.md", + "demo": "presences\/upsert.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "presences.write", "platforms": [ - "console", - "client", - "server" + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": [] + } + }, + "required": [ + "status" + ] + } + } + ] + }, + "patch": { + "summary": "Update presence", + "operationId": "presencesUpdate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "presences" + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "responses": { + "200": { + "description": "Presence", + "schema": { + "$ref": "#\/definitions\/presence" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": "presences", + "weight": 420, + "cookies": false, + "type": "", + "demo": "presences\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "update", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": {} + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { + "type": "boolean", + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false, + "default": false + } + } + } + } + ] + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "presences" + ], + "description": "Delete a presence log by its unique ID.\n", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "presences", + "weight": 421, + "cookies": false, + "type": "", + "demo": "presences\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + } + ] + } + }, + "\/storage\/buckets\/{bucketId}\/files": { + "get": { + "summary": "List files", + "operationId": "storageListFiles", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "storage" + ], + "description": "Get a list of all the user files. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Files List", + "schema": { + "$ref": "#\/definitions\/fileList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listFiles", + "group": "files", + "weight": 555, + "cookies": false, + "type": "", + "demo": "storage\/list-files.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "type": "string", + "x-example": "<BUCKET_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create file", + "operationId": "storageCreateFile", + "consumes": [ + "multipart\/form-data" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "storage" + ], + "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", + "responses": { + "201": { + "description": "File", + "schema": { + "$ref": "#\/definitions\/file" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createFile", + "group": "files", + "weight": 1260, + "cookies": false, + "type": "upload", + "demo": "storage\/create-file.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", + "scope": "files.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "required": true, + "type": "string", + "x-example": "<BUCKET_ID>", + "in": "path" + }, + { + "name": "fileId", + "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "required": true, + "x-upload-id": true, + "type": "string", + "x-example": "<FILE_ID>", + "in": "formData" + }, + { + "name": "file", + "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", + "required": true, + "type": "file", + "in": "formData" + }, + { + "name": "permissions", + "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "x-example": "[\"read(\"any\")\"]", + "in": "formData" + } + ] + } + }, + "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { + "get": { + "summary": "Get file", + "operationId": "storageGetFile", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "storage" + ], + "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "responses": { + "200": { + "description": "File", + "schema": { + "$ref": "#\/definitions\/file" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getFile", + "group": "files", + "weight": 554, + "cookies": false, + "type": "", + "demo": "storage\/get-file.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], "Session": [], "JWT": [] } @@ -10084,7 +10499,7 @@ "x-appwrite": { "method": "updateFile", "group": "files", - "weight": 549, + "weight": 556, "cookies": false, "type": "", "demo": "storage\/update-file.md", @@ -10137,13 +10552,11 @@ "name": { "type": "string", "description": "File name.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -10175,7 +10588,7 @@ "x-appwrite": { "method": "deleteFile", "group": "files", - "weight": 550, + "weight": 557, "cookies": false, "type": "", "demo": "storage\/delete-file.md", @@ -10246,7 +10659,7 @@ "x-appwrite": { "method": "getFileDownload", "group": "files", - "weight": 552, + "weight": 559, "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", @@ -10326,7 +10739,7 @@ "x-appwrite": { "method": "getFilePreview", "group": "files", - "weight": 551, + "weight": 558, "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", @@ -10495,7 +10908,6 @@ ], "x-enum-name": "ImageFormat", "x-enum-keys": [], - "default": "", "in": "query" }, { @@ -10534,7 +10946,7 @@ "x-appwrite": { "method": "getFileView", "group": "files", - "weight": 553, + "weight": 560, "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", @@ -10614,7 +11026,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 836, + "weight": 849, "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", @@ -10684,7 +11096,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 832, + "weight": 845, "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", @@ -10724,8 +11136,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -10758,7 +11170,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 833, + "weight": 846, "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", @@ -10824,7 +11236,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 834, + "weight": 847, "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", @@ -10872,14 +11284,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -10906,7 +11318,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 835, + "weight": 848, "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", @@ -10974,7 +11386,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 837, + "weight": 850, "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", @@ -11022,8 +11434,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -11058,7 +11470,7 @@ "x-appwrite": { "method": "listRows", "group": "rows", - "weight": 907, + "weight": 919, "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", @@ -11171,7 +11583,7 @@ "x-appwrite": { "method": "createRow", "group": "rows", - "weight": 820, + "weight": 833, "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", @@ -11260,19 +11672,18 @@ "rowId": { "type": "string", "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<ROW_ID>" + "x-example": "<ROW_ID>", + "default": "" }, "data": { "type": "object", "description": "Row data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -11282,8 +11693,8 @@ "rows": { "type": "array", "description": "Array of rows data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -11291,7 +11702,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -11325,7 +11735,7 @@ "x-appwrite": { "method": "getRow", "group": "rows", - "weight": 821, + "weight": 834, "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", @@ -11427,7 +11837,7 @@ "x-appwrite": { "method": "upsertRow", "group": "rows", - "weight": 824, + "weight": 837, "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", @@ -11523,13 +11933,12 @@ "data": { "type": "object", "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -11539,7 +11948,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -11573,7 +11981,7 @@ "x-appwrite": { "method": "updateRow", "group": "rows", - "weight": 822, + "weight": 835, "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", @@ -11637,13 +12045,12 @@ "data": { "type": "object", "description": "Row data as JSON object. Include only columns and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -11653,7 +12060,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -11682,7 +12088,7 @@ "x-appwrite": { "method": "deleteRow", "group": "rows", - "weight": 826, + "weight": 839, "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", @@ -11746,7 +12152,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -11782,7 +12187,7 @@ "x-appwrite": { "method": "decrementRowColumn", "group": "rows", - "weight": 831, + "weight": 844, "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", @@ -11853,14 +12258,13 @@ "value": { "type": "number", "description": "Value to increment the column by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -11868,7 +12272,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -11904,7 +12307,7 @@ "x-appwrite": { "method": "incrementRowColumn", "group": "rows", - "weight": 830, + "weight": 843, "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", @@ -11975,14 +12378,13 @@ "value": { "type": "number", "description": "Value to increment the column by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -11990,7 +12392,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -12024,7 +12425,7 @@ "x-appwrite": { "method": "list", "group": "teams", - "weight": 524, + "weight": 531, "cookies": false, "type": "", "demo": "teams\/list.md", @@ -12109,7 +12510,7 @@ "x-appwrite": { "method": "create", "group": "teams", - "weight": 522, + "weight": 529, "cookies": false, "type": "", "demo": "teams\/create.md", @@ -12146,22 +12547,20 @@ "teamId": { "type": "string", "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TEAM_ID>" }, "name": { "type": "string", "description": "Team name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "roles": { "type": "array", "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", + "x-example": null, "default": [ "owner" ], - "x-example": null, "items": { "type": "string" } @@ -12200,7 +12599,7 @@ "x-appwrite": { "method": "get", "group": "teams", - "weight": 523, + "weight": 530, "cookies": false, "type": "", "demo": "teams\/get.md", @@ -12263,7 +12662,7 @@ "x-appwrite": { "method": "updateName", "group": "teams", - "weight": 526, + "weight": 533, "cookies": false, "type": "", "demo": "teams\/update-name.md", @@ -12308,7 +12707,6 @@ "name": { "type": "string", "description": "New team name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -12339,7 +12737,7 @@ "x-appwrite": { "method": "delete", "group": "teams", - "weight": 525, + "weight": 532, "cookies": false, "type": "", "demo": "teams\/delete.md", @@ -12402,7 +12800,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 531, + "weight": 538, "cookies": false, "type": "", "demo": "teams\/list-memberships.md", @@ -12495,7 +12893,7 @@ "x-appwrite": { "method": "createMembership", "group": "memberships", - "weight": 529, + "weight": 536, "cookies": false, "type": "", "demo": "teams\/create-membership.md", @@ -12540,27 +12938,26 @@ "email": { "type": "string", "description": "Email of the new team member.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "userId": { "type": "string", "description": "ID of the user to be added to a team.", - "default": "", - "x-example": "<USER_ID>" + "x-example": "<USER_ID>", + "default": "" }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "roles": { "type": "array", "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -12569,15 +12966,15 @@ "url": { "type": "string", "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", "x-example": "https:\/\/example.com", + "default": "", "format": "url" }, "name": { "type": "string", "description": "Name of the new team member. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -12612,7 +13009,7 @@ "x-appwrite": { "method": "getMembership", "group": "memberships", - "weight": 530, + "weight": 537, "cookies": false, "type": "", "demo": "teams\/get-membership.md", @@ -12683,7 +13080,7 @@ "x-appwrite": { "method": "updateMembership", "group": "memberships", - "weight": 532, + "weight": 539, "cookies": false, "type": "", "demo": "teams\/update-membership.md", @@ -12736,7 +13133,6 @@ "roles": { "type": "array", "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -12770,7 +13166,7 @@ "x-appwrite": { "method": "deleteMembership", "group": "memberships", - "weight": 1196, + "weight": 1261, "cookies": false, "type": "", "demo": "teams\/delete-membership.md", @@ -12843,7 +13239,7 @@ "x-appwrite": { "method": "updateMembershipStatus", "group": "memberships", - "weight": 534, + "weight": 541, "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", @@ -12896,13 +13292,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Secret key.", - "default": null, "x-example": "<SECRET>" } }, @@ -12939,7 +13333,7 @@ "x-appwrite": { "method": "getPrefs", "group": "teams", - "weight": 527, + "weight": 534, "cookies": false, "type": "", "demo": "teams\/get-prefs.md", @@ -13002,7 +13396,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "teams", - "weight": 528, + "weight": 535, "cookies": false, "type": "", "demo": "teams\/update-prefs.md", @@ -13047,8 +13441,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -13083,7 +13477,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 903, + "weight": 916, "cookies": false, "type": "", "demo": "vectorsdb\/list-transactions.md", @@ -13150,7 +13544,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 899, + "weight": 912, "cookies": false, "type": "", "demo": "vectorsdb\/create-transaction.md", @@ -13187,8 +13581,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -13221,7 +13615,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 900, + "weight": 913, "cookies": false, "type": "", "demo": "vectorsdb\/get-transaction.md", @@ -13284,7 +13678,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 901, + "weight": 914, "cookies": false, "type": "", "demo": "vectorsdb\/update-transaction.md", @@ -13329,14 +13723,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -13363,7 +13757,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 902, + "weight": 915, "cookies": false, "type": "", "demo": "vectorsdb\/delete-transaction.md", @@ -13428,7 +13822,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 904, + "weight": 917, "cookies": false, "type": "", "demo": "vectorsdb\/create-operations.md", @@ -13473,8 +13867,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -13509,7 +13903,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 893, + "weight": 906, "cookies": false, "type": "", "demo": "vectorsdb\/list-documents.md", @@ -13619,7 +14013,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 889, + "weight": 902, "cookies": false, "type": "", "demo": "vectorsdb\/create-document.md", @@ -13704,19 +14098,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }" + "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -13725,8 +14118,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -13734,7 +14127,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -13767,7 +14159,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 892, + "weight": 905, "cookies": false, "type": "", "demo": "vectorsdb\/get-document.md", @@ -13866,7 +14258,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 891, + "weight": 904, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-document.md", @@ -13959,13 +14351,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -13974,7 +14365,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -14007,7 +14397,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 890, + "weight": 903, "cookies": false, "type": "", "demo": "vectorsdb\/update-document.md", @@ -14068,13 +14458,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -14083,7 +14472,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -14111,7 +14499,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 894, + "weight": 907, "cookies": false, "type": "", "demo": "vectorsdb\/delete-document.md", @@ -14172,7 +14560,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -14321,6 +14708,35 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "type": "object", + "$ref": "#\/definitions\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "sessionList": { "description": "Sessions List", "type": "object", @@ -14872,6 +15288,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "x-nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -15964,6 +16455,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -15997,6 +16494,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -16014,6 +16512,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": true, diff --git a/specs/1.9.x/swagger2-1.9.x-console.json b/specs/1.9.x/swagger2-1.9.x-console.json index a07f2f1f0..d8b6d3c1e 100644 --- a/specs/1.9.x/swagger2-1.9.x-console.json +++ b/specs/1.9.x/swagger2-1.9.x-console.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,6 +17,9 @@ }, "host": "cloud.appwrite.io", "x-host-docs": "<REGION>.cloud.appwrite.io", + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "basePath": "\/v1", "schemes": [ "https" @@ -232,27 +235,24 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -333,7 +333,7 @@ "x-appwrite": { "method": "listBillingAddresses", "group": null, - "weight": 1084, + "weight": 1148, "cookies": false, "type": "", "demo": "account\/list-billing-addresses.md", @@ -386,7 +386,7 @@ "description": "Add a new billing address to a user's account.", "responses": { "201": { - "description": "BillingAddress", + "description": "Address", "schema": { "$ref": "#\/definitions\/billingAddress" } @@ -396,7 +396,7 @@ "x-appwrite": { "method": "createBillingAddress", "group": null, - "weight": 1082, + "weight": 1146, "cookies": false, "type": "", "demo": "account\/create-billing-address.md", @@ -429,38 +429,35 @@ "country": { "type": "string", "description": "Country", - "default": null, "x-example": "<COUNTRY>" }, "city": { "type": "string", "description": "City", - "default": null, "x-example": "<CITY>" }, "streetAddress": { "type": "string", "description": "Street address", - "default": null, "x-example": "<STREET_ADDRESS>" }, "addressLine2": { "type": "string", "description": "Address line 2", - "default": "", - "x-example": "<ADDRESS_LINE2>" + "x-example": "<ADDRESS_LINE2>", + "default": "" }, "state": { "type": "string", "description": "State or province", - "default": "", - "x-example": "<STATE>" + "x-example": "<STATE>", + "default": "" }, "postalCode": { "type": "string", "description": "Postal code", - "default": "", - "x-example": "<POSTAL_CODE>" + "x-example": "<POSTAL_CODE>", + "default": "" } }, "required": [ @@ -487,7 +484,7 @@ "description": "Get a specific billing address for a user using it's ID.", "responses": { "200": { - "description": "BillingAddress", + "description": "Address", "schema": { "$ref": "#\/definitions\/billingAddress" } @@ -497,7 +494,7 @@ "x-appwrite": { "method": "getBillingAddress", "group": null, - "weight": 1083, + "weight": 1147, "cookies": false, "type": "", "demo": "account\/get-billing-address.md", @@ -546,7 +543,7 @@ "description": "Update a specific billing address using it's ID.", "responses": { "200": { - "description": "BillingAddress", + "description": "Address", "schema": { "$ref": "#\/definitions\/billingAddress" } @@ -556,7 +553,7 @@ "x-appwrite": { "method": "updateBillingAddress", "group": null, - "weight": 1085, + "weight": 1149, "cookies": false, "type": "", "demo": "account\/update-billing-address.md", @@ -597,38 +594,35 @@ "country": { "type": "string", "description": "Country", - "default": null, "x-example": "<COUNTRY>" }, "city": { "type": "string", "description": "City", - "default": null, "x-example": "<CITY>" }, "streetAddress": { "type": "string", "description": "Street address", - "default": null, "x-example": "<STREET_ADDRESS>" }, "addressLine2": { "type": "string", "description": "Address line 2", - "default": "", - "x-example": "<ADDRESS_LINE2>" + "x-example": "<ADDRESS_LINE2>", + "default": "" }, "state": { "type": "string", "description": "State or province", - "default": "", - "x-example": "<STATE>" + "x-example": "<STATE>", + "default": "" }, "postalCode": { "type": "string", "description": "Postal code", - "default": "", - "x-example": "<POSTAL_CODE>" + "x-example": "<POSTAL_CODE>", + "default": "" } }, "required": [ @@ -662,7 +656,7 @@ "x-appwrite": { "method": "deleteBillingAddress", "group": null, - "weight": 1086, + "weight": 1150, "cookies": false, "type": "", "demo": "account\/delete-billing-address.md", @@ -721,7 +715,7 @@ "x-appwrite": { "method": "getCoupon", "group": null, - "weight": 1088, + "weight": 1152, "cookies": false, "type": "", "demo": "account\/get-coupon.md", @@ -819,14 +813,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -1000,7 +992,7 @@ "x-appwrite": { "method": "listInvoices", "group": null, - "weight": 1087, + "weight": 1151, "cookies": false, "type": "", "demo": "account\/list-invoices.md", @@ -1102,8 +1094,8 @@ "duration": { "type": "integer", "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "default": 900, "x-example": 0, + "default": 900, "format": "int32" } } @@ -1136,7 +1128,7 @@ "x-appwrite": { "method": "listKeys", "group": "keys", - "weight": 1070, + "weight": 1134, "cookies": false, "type": "", "demo": "account\/list-keys.md", @@ -1195,7 +1187,7 @@ "x-appwrite": { "method": "createKey", "group": "keys", - "weight": 1071, + "weight": 1135, "cookies": false, "type": "", "demo": "account\/create-key.md", @@ -1227,13 +1219,11 @@ "name": { "type": "string", "description": "Key name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "scopes": { "type": "array", "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, "x-example": null, "items": { "type": "string", @@ -1249,7 +1239,6 @@ "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -1288,7 +1277,7 @@ "x-appwrite": { "method": "getKey", "group": "keys", - "weight": 1074, + "weight": 1138, "cookies": false, "type": "", "demo": "account\/get-key.md", @@ -1346,7 +1335,7 @@ "x-appwrite": { "method": "updateKey", "group": "keys", - "weight": 1073, + "weight": 1137, "cookies": false, "type": "", "demo": "account\/update-key.md", @@ -1386,13 +1375,11 @@ "name": { "type": "string", "description": "Key name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "scopes": { "type": "array", "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, "x-example": null, "items": { "type": "string", @@ -1408,7 +1395,6 @@ "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -1444,7 +1430,7 @@ "x-appwrite": { "method": "deleteKey", "group": "keys", - "weight": 1072, + "weight": 1136, "cookies": false, "type": "", "demo": "account\/delete-key.md", @@ -1580,7 +1566,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -1617,7 +1603,6 @@ "mfa": { "type": "boolean", "description": "Enable or disable MFA.", - "default": null, "x-example": false } }, @@ -1655,7 +1640,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -1779,7 +1764,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -1889,7 +1874,6 @@ "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -1920,7 +1904,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -2044,7 +2028,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -2137,7 +2121,6 @@ "factor": { "type": "string", "description": "Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.", - "default": null, "x-example": "email", "enum": [ "email", @@ -2181,7 +2164,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -2278,13 +2261,11 @@ "challengeId": { "type": "string", "description": "ID of the challenge.", - "default": null, "x-example": "<CHALLENGE_ID>" }, "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -2321,7 +2302,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -2422,7 +2403,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -2523,7 +2504,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -2624,7 +2605,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -2764,7 +2745,6 @@ "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -2839,14 +2819,13 @@ "password": { "type": "string", "description": "New user password. Must be at least 8 chars.", - "default": null, "x-example": null }, "oldPassword": { "type": "string", "description": "Current user password. Must be at least 8 chars.", - "default": "", "x-example": "password", + "default": "", "format": "password" } }, @@ -2882,7 +2861,7 @@ "x-appwrite": { "method": "listPaymentMethods", "group": null, - "weight": 1077, + "weight": 1141, "cookies": false, "type": "", "demo": "account\/list-payment-methods.md", @@ -2945,7 +2924,7 @@ "x-appwrite": { "method": "createPaymentMethod", "group": null, - "weight": 1075, + "weight": 1139, "cookies": false, "type": "", "demo": "account\/create-payment-method.md", @@ -2994,7 +2973,7 @@ "x-appwrite": { "method": "getPaymentMethod", "group": null, - "weight": 1076, + "weight": 1140, "cookies": false, "type": "", "demo": "account\/get-payment-method.md", @@ -3053,7 +3032,7 @@ "x-appwrite": { "method": "updatePaymentMethod", "group": null, - "weight": 1078, + "weight": 1142, "cookies": false, "type": "", "demo": "account\/update-payment-method.md", @@ -3094,21 +3073,18 @@ "expiryMonth": { "type": "integer", "description": "Payment expiry month", - "default": null, "x-example": 1, "format": "int32" }, "expiryYear": { "type": "integer", "description": "Expiry year", - "default": null, "x-example": 2026, "format": "int32" }, "state": { "type": "string", "description": "State of the payment method country", - "default": null, "x-example": "<STATE>" } }, @@ -3142,7 +3118,7 @@ "x-appwrite": { "method": "deletePaymentMethod", "group": null, - "weight": 1081, + "weight": 1145, "cookies": false, "type": "", "demo": "account\/delete-payment-method.md", @@ -3203,7 +3179,7 @@ "x-appwrite": { "method": "updatePaymentMethodProvider", "group": null, - "weight": 1079, + "weight": 1143, "cookies": false, "type": "", "demo": "account\/update-payment-method-provider.md", @@ -3244,19 +3220,16 @@ "providerMethodId": { "type": "string", "description": "Payment method ID from the payment provider", - "default": null, "x-example": "<PROVIDER_METHOD_ID>" }, "name": { "type": "string", "description": "Name in the payment method", - "default": null, "x-example": "<NAME>" }, "state": { "type": "string", "description": "State of the payment method country", - "default": null, "x-example": "<STATE>", "x-nullable": true } @@ -3296,7 +3269,7 @@ "x-appwrite": { "method": "updatePaymentMethodMandateOptions", "group": null, - "weight": 1080, + "weight": 1144, "cookies": false, "type": "", "demo": "account\/update-payment-method-mandate-options.md", @@ -3394,14 +3367,12 @@ "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -3529,8 +3500,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}" + "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}", + "default": {} } }, "required": [ @@ -3607,14 +3578,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -3689,19 +3658,16 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid reset token.", - "default": null, "x-example": "<SECRET>" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null } }, @@ -3934,14 +3900,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -4022,13 +3986,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -4247,13 +4209,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -4329,13 +4289,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Secret of a token generated by login methods. For example, the `createMagicURLToken` or `createPhoneToken` methods.", - "default": null, "x-example": "<SECRET>" } }, @@ -4623,7 +4581,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4635,7 +4594,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -4648,20 +4608,18 @@ "targetId": { "type": "string", "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TARGET_ID>" }, "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": null, "x-example": "<IDENTIFIER>" }, "providerId": { "type": "string", "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" + "x-example": "<PROVIDER_ID>", + "default": "" } }, "required": [ @@ -4709,7 +4667,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4721,7 +4680,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -4742,7 +4702,6 @@ "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": null, "x-example": "<IDENTIFIER>" } }, @@ -4783,7 +4742,8 @@ "scope": "targets.write", "platforms": [ "console", - "client" + "client", + "server" ], "packaging": false, "public": true, @@ -4795,7 +4755,8 @@ "security": [ { "Project": [], - "Session": [] + "Session": [], + "JWT": [] } ], "parameters": [ @@ -4876,21 +4837,19 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "phrase": { "type": "boolean", "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -4968,28 +4927,26 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", "x-example": "https:\/\/example.com", + "default": "", "format": "url" }, "phrase": { "type": "boolean", "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -5206,13 +5163,11 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" } @@ -5341,7 +5296,6 @@ "url": { "type": "string", "description": "URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -5471,13 +5425,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -5609,13 +5561,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -5652,7 +5602,7 @@ "x-appwrite": { "method": "listEvents", "group": null, - "weight": 1193, + "weight": 1258, "cookies": false, "type": "", "demo": "activities\/list-events.md", @@ -5713,7 +5663,7 @@ "x-appwrite": { "method": "getEvent", "group": "events", - "weight": 1194, + "weight": 1259, "cookies": false, "type": "", "demo": "activities\/get-event.md", @@ -5774,7 +5724,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -5901,7 +5851,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -6034,7 +5984,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -6099,7 +6049,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -6588,7 +6538,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -6673,7 +6623,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -6766,7 +6716,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -6859,7 +6809,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -6983,7 +6933,7 @@ "description": "IANA timezone identifier (e.g., \"America\/New_York\", \"Europe\/London\"). Defaults to browser default.", "required": false, "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -7407,7 +7357,6 @@ ], "x-enum-name": null, "x-enum-keys": [], - "default": "", "in": "query" }, { @@ -7543,7 +7492,6 @@ ], "x-enum-name": "ImageFormat", "x-enum-keys": [], - "default": "", "in": "query" } ] @@ -7573,7 +7521,7 @@ "x-appwrite": { "method": "listArchives", "group": null, - "weight": 1064, + "weight": 1127, "cookies": false, "type": "", "demo": "backups\/list-archives.md", @@ -7638,7 +7586,7 @@ "x-appwrite": { "method": "createArchive", "group": null, - "weight": 1065, + "weight": 1128, "cookies": false, "type": "", "demo": "backups\/create-archive.md", @@ -7673,7 +7621,6 @@ "services": { "type": "array", "description": "Array of services to backup", - "default": null, "x-example": null, "items": { "type": "string", @@ -7692,7 +7639,6 @@ "resourceId": { "type": "string", "description": "Resource ID. When set, only this single resource will be backed up.", - "default": null, "x-example": "<RESOURCE_ID>", "x-nullable": true } @@ -7729,7 +7675,7 @@ "x-appwrite": { "method": "getArchive", "group": null, - "weight": 1063, + "weight": 1126, "cookies": false, "type": "", "demo": "backups\/get-archive.md", @@ -7787,7 +7733,7 @@ "x-appwrite": { "method": "deleteArchive", "group": null, - "weight": 1066, + "weight": 1129, "cookies": false, "type": "", "demo": "backups\/delete-archive.md", @@ -7848,7 +7794,7 @@ "x-appwrite": { "method": "listPolicies", "group": null, - "weight": 1059, + "weight": 1122, "cookies": false, "type": "", "demo": "backups\/list-policies.md", @@ -7916,7 +7862,7 @@ "x-appwrite": { "method": "createPolicy", "group": null, - "weight": 1060, + "weight": 1123, "cookies": false, "type": "", "demo": "backups\/create-policy.md", @@ -7954,19 +7900,17 @@ "policyId": { "type": "string", "description": "Policy ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<POLICY_ID>" }, "name": { "type": "string", "description": "Policy name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "services": { "type": "array", "description": "Array of services to backup", - "default": null, "x-example": null, "items": { "type": "string", @@ -7985,27 +7929,24 @@ "resourceId": { "type": "string", "description": "Resource ID. When set, only this single resource will be backed up.", - "default": null, "x-example": "<RESOURCE_ID>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "Is policy enabled? When set to 'disabled', no backups will be taken", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "retention": { "type": "integer", "description": "Days to keep backups before deletion", - "default": null, "x-example": 1, "format": "int32" }, "schedule": { "type": "string", "description": "Schedule CRON syntax.", - "default": null, "x-example": null } }, @@ -8044,7 +7985,7 @@ "x-appwrite": { "method": "getPolicy", "group": null, - "weight": 1058, + "weight": 1121, "cookies": false, "type": "", "demo": "backups\/get-policy.md", @@ -8108,7 +8049,7 @@ "x-appwrite": { "method": "updatePolicy", "group": null, - "weight": 1061, + "weight": 1124, "cookies": false, "type": "", "demo": "backups\/update-policy.md", @@ -8154,14 +8095,12 @@ "name": { "type": "string", "description": "Policy name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>", "x-nullable": true }, "retention": { "type": "integer", "description": "Days to keep backups before deletion", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -8169,13 +8108,11 @@ "schedule": { "type": "string", "description": "Cron expression", - "default": null, "x-example": null }, "enabled": { "type": "boolean", "description": "Is Backup enabled? When set to 'disabled', No backup will be taken", - "default": null, "x-example": false, "x-nullable": true } @@ -8206,7 +8143,7 @@ "x-appwrite": { "method": "deletePolicy", "group": null, - "weight": 1062, + "weight": 1125, "cookies": false, "type": "", "demo": "backups\/delete-policy.md", @@ -8272,7 +8209,7 @@ "x-appwrite": { "method": "createRestoration", "group": null, - "weight": 1069, + "weight": 1132, "cookies": false, "type": "", "demo": "backups\/create-restoration.md", @@ -8307,13 +8244,11 @@ "archiveId": { "type": "string", "description": "Backup archive ID to restore", - "default": null, "x-example": "<ARCHIVE_ID>" }, "services": { "type": "array", "description": "Array of services to restore", - "default": null, "x-example": null, "items": { "type": "string", @@ -8332,14 +8267,14 @@ "newResourceId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<NEW_RESOURCE_ID>" + "x-example": "<NEW_RESOURCE_ID>", + "default": "" }, "newResourceName": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": "", - "x-example": "<NEW_RESOURCE_NAME>" + "x-example": "<NEW_RESOURCE_NAME>", + "default": "" } }, "required": [ @@ -8375,7 +8310,7 @@ "x-appwrite": { "method": "listRestorations", "group": null, - "weight": 1068, + "weight": 1131, "cookies": false, "type": "", "demo": "backups\/list-restorations.md", @@ -8440,7 +8375,7 @@ "x-appwrite": { "method": "getRestoration", "group": null, - "weight": 1067, + "weight": 1130, "cookies": false, "type": "", "demo": "backups\/get-restoration.md", @@ -8477,46 +8412,43 @@ ] } }, - "\/console\/assistant": { - "post": { - "summary": "Create assistant query", - "operationId": "assistantChat", - "consumes": [ - "application\/json" - ], + "\/compute\/databases": { + "get": { + "summary": "List dedicated databases.", + "operationId": "computeListDatabases", + "consumes": [], "produces": [ - "text\/plain" + "application\/json" ], "tags": [ - "assistant" + "compute" ], - "description": "Send a prompt to the AI assistant and receive a response. This endpoint allows you to interact with Appwrite's AI assistant by sending questions or prompts and receiving helpful responses in real-time through a server-sent events stream. ", + "description": " List all dedicated databases. Results support pagination.", "responses": { "200": { - "description": "File", + "description": "Dedicated databases list", "schema": { - "type": "file" + "$ref": "#\/definitions\/dedicatedDatabaseList" } } }, "deprecated": false, "x-appwrite": { - "method": "chat", - "group": "console", - "weight": 504, + "method": "listDatabases", + "group": "databases", + "weight": 929, "cookies": false, "type": "", - "demo": "assistant\/chat.md", - "rate-limit": 15, + "demo": "compute\/list-databases.md", + "rate-limit": 0, "rate-time": 3600, - "rate-key": "userId:{userId}", - "scope": "assistant.read", + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } @@ -8528,64 +8460,57 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "description": "Prompt. A string containing questions asked to the AI assistant.", - "default": null, - "x-example": "<PROMPT>" - } - }, - "required": [ - "prompt" - ] - } + "name": "queries", + "description": "Array of query strings.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] - } - }, - "\/console\/campaigns\/{campaignId}": { - "get": { - "summary": "Get campaign details", - "operationId": "consoleGetCampaign", - "consumes": [], + }, + "post": { + "summary": "Create a dedicated database.", + "operationId": "computeCreateDatabase", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Receive the details of a campaign using its ID.", + "description": " Create a new dedicated database with the chosen engine and configuration. Status will be 'provisioning' until the database is ready.", "responses": { "201": { - "description": "Campaign", + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/campaign" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "getCampaign", - "group": null, - "weight": 920, + "method": "createDatabase", + "group": "databases", + "weight": 927, "cookies": false, "type": "", - "demo": "console\/get-campaign.md", + "demo": "compute\/create-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-campaign.md", "auth": { "Project": [] } @@ -8597,54 +8522,314 @@ ], "parameters": [ { - "name": "campaignId", - "description": "ID of the campaign", - "required": true, - "type": "string", - "x-example": "<CAMPAIGN_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "description": "Database ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database display name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres", + "default": "postgres", + "enum": [ + "postgres", + "mysql", + "mariadb", + "mongodb" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "version": { + "type": "string", + "description": "Database engine version. Defaults to latest for selected engine.", + "x-example": "17", + "enum": [ + "17", + "18", + "8.0", + "8.4", + "10.11", + "11.4", + "7.0" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Postgres 17", + "Postgres 18", + "MySQL 8.0", + "MySQL 8.4", + "MariaDB 10.11", + "MariaDB 11.4", + "MongoDB 7.0" + ], + "x-nullable": true + }, + "region": { + "type": "string", + "description": "Region identifier. Use one of the enabled region codes (e.g., fra, nyc, syd).", + "x-example": "fra", + "default": "fra", + "enum": [ + "fra", + "nyc", + "syd", + "sfo", + "sgp", + "tor" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "type": { + "type": "string", + "description": "Database type: shared (serverless) or dedicated (always-on).", + "x-example": "shared", + "default": "shared", + "enum": [ + "shared", + "dedicated" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "specification": { + "type": "string", + "description": "Specification identifier.", + "x-example": "<SPECIFICATION>", + "default": "starter" + }, + "backend": { + "type": "string", + "description": "Database backend provider: prisma, or edge.", + "x-example": "prisma", + "default": "edge", + "enum": [ + "prisma", + "edge" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "cpu": { + "type": "integer", + "description": "CPU in millicores (125-16000).", + "x-example": 125, + "default": 1000, + "format": "int32" + }, + "memory": { + "type": "integer", + "description": "Memory in MB to allocate (128-65536).", + "x-example": 128, + "default": 1024, + "format": "int32" + }, + "storage": { + "type": "integer", + "description": "Storage in GB to allocate (1-16384).", + "x-example": 1, + "default": 10, + "format": "int32" + }, + "storageClass": { + "type": "string", + "description": "Storage class: ssd, nvme, or hdd.", + "x-example": "ssd", + "default": "ssd", + "enum": [ + "ssd", + "nvme", + "hdd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "storageMaxGb": { + "type": "integer", + "description": "Maximum storage limit in GB. 0 uses system default.", + "x-example": 0, + "default": 0, + "format": "int32" + }, + "highAvailability": { + "type": "boolean", + "description": "Enable high availability.", + "x-example": false, + "default": false + }, + "highAvailabilityReplicaCount": { + "type": "integer", + "description": "Number of high availability replicas (0-5).", + "x-example": 0, + "default": 0, + "format": "int32" + }, + "highAvailabilitySyncMode": { + "type": "string", + "description": "Replication sync mode. Allowed values: async, sync, quorum.", + "x-example": "async", + "enum": [ + "async", + "sync", + "quorum" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "networkMaxConnections": { + "type": "integer", + "description": "Maximum concurrent connections.", + "x-example": 10, + "default": 100, + "format": "int32" + }, + "networkIdleTimeoutSeconds": { + "type": "integer", + "description": "Connection idle timeout in seconds.", + "x-example": 60, + "default": 900, + "format": "int32" + }, + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "idleTimeoutMinutes": { + "type": "integer", + "description": "Minutes of inactivity before container scales to zero.", + "x-example": 5, + "default": 15, + "format": "int32" + }, + "backupEnabled": { + "type": "boolean", + "description": "Enable automatic backups.", + "x-example": false, + "default": true + }, + "backupPitr": { + "type": "boolean", + "description": "Enable point-in-time recovery.", + "x-example": false, + "default": true + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": null, + "default": "0 3 * * *" + }, + "backupRetentionDays": { + "type": "integer", + "description": "Number of days to retain backups.", + "x-example": 1, + "default": 14, + "format": "int32" + }, + "pitrRetentionDays": { + "type": "integer", + "description": "Number of days to retain PITR data.", + "x-example": 1, + "default": 7, + "format": "int32" + }, + "storageAutoscaling": { + "type": "boolean", + "description": "Enable automatic storage expansion when usage exceeds threshold.", + "x-example": false, + "default": false + }, + "storageAutoscalingThresholdPercent": { + "type": "integer", + "description": "Storage usage percentage (50-95) that triggers automatic expansion.", + "x-example": 50, + "default": 85, + "format": "int32" + }, + "storageAutoscalingMaxGb": { + "type": "integer", + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 0, + "default": 0, + "format": "int32" + }, + "metricsEnabled": { + "type": "boolean", + "description": "Enable metrics collection.", + "x-example": false, + "default": true + }, + "poolerEnabled": { + "type": "boolean", + "description": "Enable connection pooler on provision.", + "x-example": false, + "default": true + } + }, + "required": [ + "databaseId", + "name" + ] + } } ] } }, - "\/console\/coupons\/{couponId}": { + "\/compute\/databases\/{databaseId}": { "get": { - "summary": "Get coupon details", - "operationId": "consoleGetCoupon", + "summary": "Get dedicated database.", + "operationId": "computeGetDatabase", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Get the details of a coupon using it's coupon ID.", + "description": " Get a dedicated database by its unique ID. Returns the database configuration and current status.", "responses": { - "201": { - "description": "Coupon", + "200": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/coupon" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "getCoupon", - "group": null, - "weight": 917, + "method": "getDatabase", + "group": "databases", + "weight": 928, "cookies": false, "type": "", - "demo": "console\/get-coupon.md", - "rate-limit": 50, + "demo": "compute\/get-database.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-coupon.md", "auth": { "Project": [] } @@ -8656,102 +8841,53 @@ ], "parameters": [ { - "name": "couponId", - "description": "ID of the coupon", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<COUPON_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] - } - }, - "\/console\/oauth2-providers": { - "get": { - "summary": "List OAuth2 providers", - "operationId": "consoleListOAuth2Providers", - "consumes": [], - "produces": [ + }, + "patch": { + "summary": "Update dedicated database.", + "operationId": "computeUpdateDatabase", + "consumes": [ "application\/json" ], - "tags": [ - "console" - ], - "description": "List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.", - "responses": { - "200": { - "description": "Console OAuth2 Providers List", - "schema": { - "$ref": "#\/definitions\/consoleOAuth2ProviderList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listOAuth2Providers", - "group": "console", - "weight": 502, - "cookies": false, - "type": "", - "demo": "console\/list-o-auth-2-providers.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "public", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ] - } - }, - "\/console\/plans": { - "get": { - "summary": "Get plans", - "operationId": "consoleGetPlans", - "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Return a list of all available plans.", + "description": " Update a dedicated database configuration. All changes are applied with zero downtime. Resource changes (cpu, memory) are handled via rolling cutover. Storage expansion is done online. All other settings are applied in-place.", "responses": { "200": { - "description": "Billing plan list", + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/billingPlanList" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "getPlans", - "group": null, - "weight": 915, + "method": "updateDatabase", + "group": "databases", + "weight": 930, "cookies": false, "type": "", - "demo": "console\/get-plans.md", + "demo": "compute\/update-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plans.md", "auth": { "Project": [] } @@ -8763,61 +8899,283 @@ ], "parameters": [ { - "name": "platform", - "description": "Platform type", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [], - "default": "appwrite", - "in": "query" - } - ] - } - }, - "\/console\/plans\/{planId}": { - "get": { - "summary": "Get plan", - "operationId": "consoleGetPlan", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "console" - ], - "description": "Get the details of a plan using its plan ID.", - "responses": { - "200": { - "description": "billingPlan", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/billingPlan" + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database display name.", + "x-example": "<NAME>", + "x-nullable": true + }, + "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 database.", + "x-example": "ready", + "enum": [ + "ready", + "paused", + "inactive" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "specification": { + "type": "string", + "description": "Specification. Changes cpu, memory, and type based on specification config.", + "x-example": "<SPECIFICATION>", + "x-nullable": true + }, + "cpu": { + "type": "number", + "description": "CPU cores to allocate (125-16000).", + "x-example": 125, + "format": "float", + "x-nullable": true + }, + "memory": { + "type": "integer", + "description": "Memory in MB to allocate (128-65536).", + "x-example": 128, + "format": "int32", + "x-nullable": true + }, + "storage": { + "type": "integer", + "description": "Storage in GB to allocate (1-16384).", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "storageClass": { + "type": "string", + "description": "Storage class. Allowed values: ssd, nvme, hdd.", + "x-example": "ssd", + "enum": [ + "ssd", + "nvme", + "hdd" + ], + "x-enum-name": null, + "x-enum-keys": [], + "x-nullable": true + }, + "highAvailability": { + "type": "boolean", + "description": "Enable high availability.", + "x-example": false, + "x-nullable": true + }, + "highAvailabilityReplicaCount": { + "type": "integer", + "description": "Number of high availability replicas (0-5).", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "networkMaxConnections": { + "type": "integer", + "description": "Maximum concurrent connections.", + "x-example": 10, + "format": "int32", + "x-nullable": true + }, + "networkIdleTimeoutSeconds": { + "type": "integer", + "description": "Connection idle timeout in seconds (60-86400).", + "x-example": 60, + "format": "int32", + "x-nullable": true + }, + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "idleTimeoutMinutes": { + "type": "integer", + "description": "Minutes before container scales to zero.", + "x-example": 5, + "format": "int32", + "x-nullable": true + }, + "backupEnabled": { + "type": "boolean", + "description": "Enable automatic backups.", + "x-example": false, + "x-nullable": true + }, + "backupPitr": { + "type": "boolean", + "description": "Enable point-in-time recovery.", + "x-example": false, + "x-nullable": true + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": null, + "x-nullable": true + }, + "backupRetentionDays": { + "type": "integer", + "description": "Days to retain backups.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "pitrRetentionDays": { + "type": "integer", + "description": "Days to retain PITR data.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "storageAutoscaling": { + "type": "boolean", + "description": "Enable automatic storage expansion when usage exceeds threshold.", + "x-example": false, + "x-nullable": true + }, + "storageAutoscalingThresholdPercent": { + "type": "integer", + "description": "Storage usage percentage (50-95) that triggers automatic expansion.", + "x-example": 50, + "format": "int32", + "x-nullable": true + }, + "storageAutoscalingMaxGb": { + "type": "integer", + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "poolerEnabled": { + "type": "boolean", + "description": "Attach or detach the connection pooler sidecar. Set to true to add the sidecar (no-op if already attached) or false to remove it.", + "x-example": false, + "x-nullable": true + }, + "metricsEnabled": { + "type": "boolean", + "description": "Enable or disable the metrics-agent sidecar.", + "x-example": false, + "x-nullable": true + }, + "metricsTraceSampleRate": { + "type": "number", + "description": "Fraction of queries to trace (0.0\u20131.0). Forwarded to the sidecar.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "metricsSlowQueryLogThresholdMs": { + "type": "integer", + "description": "Threshold in ms above which queries are logged as slow. Forwarded to the sidecar.", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "sqlApiEnabled": { + "type": "boolean", + "description": "Enable the SQL API sidecar for this database.", + "x-example": false, + "x-nullable": true + }, + "sqlApiAllowedStatements": { + "type": "array", + "description": "Statement types the SQL API accepts. Allowed values: SELECT, INSERT, UPDATE, DELETE.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string", + "enum": [ + "select", + "insert", + "update", + "delete" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "sqlApiMaxRows": { + "type": "integer", + "description": "Maximum rows returned per SQL API execution (1-1000000).", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "sqlApiMaxBytes": { + "type": "integer", + "description": "Maximum serialised SQL API result payload in bytes (1024-104857600).", + "x-example": 1024, + "format": "int32", + "x-nullable": true + }, + "sqlApiTimeoutSeconds": { + "type": "integer", + "description": "Per-call SQL API execution timeout in seconds (1-300).", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + } } } + ] + }, + "delete": { + "summary": "Delete dedicated database.", + "operationId": "computeDeleteDatabase", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "compute" + ], + "description": " Delete a dedicated database. This action is irreversible. The database status will be set to 'deleting' and all resources will be cleaned up.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "getPlan", - "group": null, - "weight": 916, + "method": "deleteDatabase", + "group": "databases", + "weight": 931, "cookies": false, "type": "", - "demo": "console\/get-plan.md", + "demo": "compute\/delete-database.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plan.md", "auth": { "Project": [] } @@ -8829,54 +9187,53 @@ ], "parameters": [ { - "name": "planId", - "description": "Plan id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<PLAN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] } }, - "\/console\/programs\/{programId}": { + "\/compute\/databases\/{databaseId}\/backups": { "get": { - "summary": "Get program details", - "operationId": "consoleGetProgram", + "summary": "List database backups.", + "operationId": "computeListDatabaseBackups", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Receive the details of a program using its ID.", + "description": " List all backups for a dedicated database. Results can be filtered by status and type.", "responses": { - "201": { - "description": "Program", + "200": { + "description": "BackupList", "schema": { - "$ref": "#\/definitions\/program" + "$ref": "#\/definitions\/dedicatedDatabaseBackupList" } } }, "deprecated": false, "x-appwrite": { - "method": "getProgram", - "group": null, - "weight": 918, + "method": "listDatabaseBackups", + "group": "databases", + "weight": 959, "cookies": false, "type": "", - "demo": "console\/get-program.md", + "demo": "compute\/list-database-backups.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-program.md", "auth": { "Project": [] } @@ -8888,20 +9245,30 @@ ], "parameters": [ { - "name": "programId", - "description": "ID of the program", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<PROGRAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, type, databaseId", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] - } - }, - "\/console\/programs\/{programId}\/memberships": { + }, "post": { - "summary": "Create program membership", - "operationId": "consoleCreateProgramMembership", + "summary": "Create a database backup.", + "operationId": "computeCreateDatabaseBackup", "consumes": [ "application\/json" ], @@ -8909,35 +9276,34 @@ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Create a new membership for an account to a program.", + "description": " Create a manual backup of a dedicated database. The backup will be created asynchronously and its status can be checked via the get backup endpoint.", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Backup", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/dedicatedDatabaseBackup" } } }, "deprecated": false, "x-appwrite": { - "method": "createProgramMembership", - "group": null, - "weight": 919, + "method": "createDatabaseBackup", + "group": "databases", + "weight": 957, "cookies": false, "type": "", - "demo": "console\/create-program-membership.md", - "rate-limit": 10, + "demo": "compute\/create-database-backup.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-program-membership.md", "auth": { "Project": [] } @@ -8949,92 +9315,71 @@ ], "parameters": [ { - "name": "programId", - "description": "ID of the program", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<PROGRAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backup type: full or incremental.", + "x-example": "full", + "default": "full", + "enum": [ + "full", + "incremental" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + } + } } ] } }, - "\/console\/regions": { - "get": { - "summary": "List Regions", - "operationId": "consoleListRegions", - "consumes": [], + "\/compute\/databases\/{databaseId}\/backups\/storage": { + "put": { + "summary": "Update database backup storage.", + "operationId": "computeUpdateDatabaseBackupStorage", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Get all available regions for the console.", + "description": " Configure off-cluster backup storage for a dedicated database. Supports S3, GCS, and Azure Blob Storage destinations. Backups will be stored to the configured destination in addition to on-cluster storage.", "responses": { "200": { - "description": "Regions list", + "description": "BackupStorageConfig", "schema": { - "$ref": "#\/definitions\/consoleRegionList" + "$ref": "#\/definitions\/dedicatedDatabaseBackupStorage" } } }, "deprecated": false, "x-appwrite": { - "method": "listRegions", - "group": null, - "weight": 914, + "method": "updateDatabaseBackupStorage", + "group": "databases", + "weight": 961, "cookies": false, "type": "", - "demo": "console\/list-regions.md", + "demo": "compute\/update-database-backup-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/list-regions.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ] - } - }, - "\/console\/resources": { - "get": { - "summary": "Check resource ID availability", - "operationId": "consoleGetResource", - "consumes": [], - "produces": [], - "tags": [ - "console" - ], - "description": "Check if a resource ID is available.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getResource", - "group": null, - "weight": 505, - "cookies": false, - "type": "", - "demo": "console\/get-resource.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.read", + "scope": "databases.write", "platforms": [ "console" ], @@ -9051,61 +9396,108 @@ ], "parameters": [ { - "name": "value", - "description": "Resource value.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<VALUE>", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "type", - "description": "Resource type.", - "required": true, - "type": "string", - "x-example": "rules", - "enum": [ - "rules" - ], - "x-enum-name": "ConsoleResourceType", - "x-enum-keys": [], - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Storage provider for off-cluster backups. Allowed values: s3 (Amazon S3 or S3-compatible), gcs (Google Cloud Storage), azure (Azure Blob Storage).", + "x-example": "s3", + "enum": [ + "s3", + "gcs", + "azure" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "bucket": { + "type": "string", + "description": "Storage bucket or container name.", + "x-example": "<BUCKET>" + }, + "region": { + "type": "string", + "description": "Storage region.", + "x-example": "<REGION>", + "default": "" + }, + "prefix": { + "type": "string", + "description": "Object key prefix for backups.", + "x-example": "<PREFIX>", + "default": "backups\/" + }, + "endpoint": { + "type": "string", + "description": "Custom endpoint for S3-compatible storage (e.g. MinIO).", + "x-example": "<ENDPOINT>", + "default": "" + }, + "accessKey": { + "type": "string", + "description": "Access key or client ID for authentication.", + "x-example": "<ACCESS_KEY>" + }, + "secretKey": { + "type": "string", + "description": "Secret key or service account JSON for authentication.", + "x-example": "<SECRET_KEY>" + } + }, + "required": [ + "provider", + "bucket", + "accessKey", + "secretKey" + ] + } } ] } }, - "\/console\/scopes\/project": { + "\/compute\/databases\/{databaseId}\/backups\/{backupId}": { "get": { - "summary": "List project scopes", - "operationId": "consoleListProjectScopes", + "summary": "Get a database backup.", + "operationId": "computeGetDatabaseBackup", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "List all scopes available for project API keys, along with a description for each scope.", + "description": " Get details of a specific database backup including its status, size, and timestamps.", "responses": { "200": { - "description": "Console Key Scopes List", + "description": "Backup", "schema": { - "$ref": "#\/definitions\/consoleKeyScopeList" + "$ref": "#\/definitions\/dedicatedDatabaseBackup" } } }, "deprecated": false, "x-appwrite": { - "method": "listProjectScopes", - "group": "console", - "weight": 503, + "method": "getDatabaseBackup", + "group": "databases", + "weight": 958, "cookies": false, "type": "", - "demo": "console\/list-project-scopes.md", + "demo": "compute\/get-database-backup.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.read", "platforms": [ "console" ], @@ -9119,13 +9511,29 @@ { "Project": [] } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "backupId", + "description": "Backup ID.", + "required": true, + "type": "string", + "x-example": "<BACKUP_ID>", + "in": "path" + } ] - } - }, - "\/console\/sources": { - "post": { - "summary": "Create source", - "operationId": "consoleCreateSource", + }, + "delete": { + "summary": "Delete a database backup.", + "operationId": "computeDeleteDatabaseBackup", "consumes": [ "application\/json" ], @@ -9133,35 +9541,31 @@ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Create a new source.", + "description": " Delete a database backup. This will permanently remove the backup from storage and cannot be undone.", "responses": { - "201": { - "description": "Any", - "schema": { - "$ref": "#\/definitions\/any" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createSource", - "group": null, - "weight": 921, + "method": "deleteDatabaseBackup", + "group": "databases", + "weight": 960, "cookies": false, "type": "", - "demo": "console\/create-source.md", - "rate-limit": 50, + "demo": "compute\/delete-database-backup.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-source.md", "auth": { "Project": [] } @@ -9173,82 +9577,53 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "ref": { - "type": "string", - "description": "Ref param", - "default": null, - "x-example": "<REF>", - "x-nullable": true - }, - "referrer": { - "type": "string", - "description": "Referrer", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "utmSource": { - "type": "string", - "description": "Utm source", - "default": null, - "x-example": "<UTM_SOURCE>", - "x-nullable": true - }, - "utmCampaign": { - "type": "string", - "description": "Utm campaign", - "default": null, - "x-example": "<UTM_CAMPAIGN>", - "x-nullable": true - }, - "utmMedium": { - "type": "string", - "description": "Utm medium", - "default": null, - "x-example": "<UTM_MEDIUM>", - "x-nullable": true - } - } - } + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "backupId", + "description": "Backup ID.", + "required": true, + "type": "string", + "x-example": "<BACKUP_ID>", + "in": "path" } ] } }, - "\/console\/suggestions\/columns": { + "\/compute\/databases\/{databaseId}\/branches": { "get": { - "summary": "Get column suggestions with size limits for a table, using database context and an optional user provided context", - "operationId": "consoleSuggestColumns", + "summary": "List database branches.", + "operationId": "computeListDatabaseBranches", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.", + "description": " List all ephemeral branches for a dedicated database. Returns branch metadata including ID, name, namespace, and expiration time.", "responses": { "200": { - "description": "Columns List", + "description": "BranchList", "schema": { - "$ref": "#\/definitions\/columnList" + "$ref": "#\/definitions\/dedicatedDatabaseBranchList" } } }, "deprecated": false, "x-appwrite": { - "method": "suggestColumns", - "group": null, - "weight": 922, + "method": "listDatabaseBranches", + "group": "databases", + "weight": 949, "cookies": false, "type": "", - "demo": "console\/suggest-columns.md", - "rate-limit": 10, + "demo": "compute\/list-database-branches.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", @@ -9257,7 +9632,6 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-columns.md", "auth": { "Project": [] } @@ -9274,85 +9648,48 @@ "required": true, "type": "string", "x-example": "<DATABASE_ID>", - "in": "query" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "query" - }, - { - "name": "context", - "description": "Optional user provided context to refine suggestions.", - "required": false, - "type": "string", - "x-example": "<CONTEXT>", - "in": "query" - }, - { - "name": "min", - "description": "Minimum number of suggestions to generate.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 3, - "in": "query" - }, - { - "name": "max", - "description": "Maximum number of suggestions to generate.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 7, - "in": "query" + "in": "path" } ] - } - }, - "\/console\/suggestions\/indexes": { - "get": { - "summary": "Get index suggestions for table columns, using database context", - "operationId": "consoleSuggestIndexes", - "consumes": [], + }, + "post": { + "summary": "Create a database branch.", + "operationId": "computeCreateDatabaseBranch", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.", + "description": " Create an ephemeral database branch from the primary via PVC snapshot. The branch is a full copy of the database at the current point in time, useful for testing schema migrations or running experiments without affecting production data. Branches expire after the configured TTL (default 24 hours). The branch is created asynchronously.", "responses": { - "200": { - "description": "Column Indexes List", + "202": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/columnIndexList" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "suggestIndexes", - "group": null, - "weight": 923, + "method": "createDatabaseBranch", + "group": "databases", + "weight": 948, "cookies": false, "type": "", - "demo": "console\/suggest-indexes.md", - "rate-limit": 10, + "demo": "compute\/create-database-branch.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-indexes.md", "auth": { "Project": [] } @@ -9369,77 +9706,72 @@ "required": true, "type": "string", "x-example": "<DATABASE_ID>", - "in": "query" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "query" - }, - { - "name": "min", - "description": "Minimum number of suggestions to generate.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 1, - "in": "query" + "in": "path" }, { - "name": "max", - "description": "Maximum number of suggestions to generate.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 4, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "branchId": { + "type": "string", + "description": "Branch ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<BRANCH_ID>", + "default": "" + }, + "ttl": { + "type": "integer", + "description": "Time-to-live in seconds before the branch expires. Min 300 (5 min), max 604800 (7 days). Default: 86400 (24h).", + "x-example": 300, + "default": 86400, + "format": "int32" + } + } + } } ] } }, - "\/console\/suggestions\/queries": { - "get": { - "summary": "Get query suggestions for a list resource from free-text intent", - "operationId": "consoleSuggestQueries", - "consumes": [], + "\/compute\/databases\/{databaseId}\/branches\/{branchId}": { + "delete": { + "summary": "Delete a database branch.", + "operationId": "computeDeleteDatabaseBranch", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` \u2014 for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.\n", + "description": " Delete an ephemeral database branch. This removes the branch namespace, its PVC, and the associated VolumeSnapshot. The deletion runs asynchronously and is irreversible.", "responses": { - "200": { - "description": "Any", + "202": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/any" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "suggestQueries", - "group": null, - "weight": 924, + "method": "deleteDatabaseBranch", + "group": "databases", + "weight": 950, "cookies": false, "type": "", - "demo": "console\/suggest-queries.md", - "rate-limit": 10, + "demo": "compute\/delete-database-branch.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-queries.md", "auth": { "Project": [] } @@ -9450,222 +9782,57 @@ } ], "parameters": [ - { - "name": "resource", - "description": "Resource to generate queries for.", - "required": true, - "type": "string", - "x-example": "activities", - "enum": [ - "activities", - "activityevents", - "archives", - "credits", - "dnsrecords", - "domains", - "invoices", - "paymentmethods", - "policies", - "projects", - "restorations", - "teamaggregations", - "teams", - "databases", - "tables", - "rows", - "schedules", - "platforms", - "keys", - "devkeys", - "webhooks", - "certificates", - "realtime", - "rules", - "installations", - "repositories", - "vcscomments", - "vcscommentlocks", - "users", - "cache", - "tokens", - "authenticators", - "challenges", - "sessions", - "identities", - "memberships", - "buckets", - "providers", - "messages", - "topics", - "subscribers", - "targets", - "companies", - "billingaddresses", - "billingaggregations", - "billingaggregationresources", - "billingteamprojectaggregations", - "billingteamaggregations_v2", - "billingteamaggregationresources", - "billinginvoices_v2", - "billingaddons", - "alerts", - "payments", - "billingdiscounts", - "sources", - "deals", - "blocks", - "threats", - "feedbacks", - "sh_installations", - "attributes", - "indexes", - "functions", - "sites", - "deployments", - "executions", - "variables", - "migrations", - "resourcetokens", - "transactions", - "transactionlogs", - "stats" - ], - "x-enum-name": "QuerySuggestionResource", - "x-enum-keys": [ - "activities", - "activity_events", - "archives", - "credits", - "dns_records", - "domains", - "invoices", - "payment_methods", - "policies", - "projects", - "restorations", - "team_aggregations", - "teams", - "databases", - "tables", - "rows", - "schedules", - "platforms", - "keys", - "dev_keys", - "webhooks", - "certificates", - "realtime", - "rules", - "installations", - "repositories", - "vcs_comments", - "vcs_comment_locks", - "users", - "cache", - "tokens", - "authenticators", - "challenges", - "sessions", - "identities", - "memberships", - "buckets", - "providers", - "messages", - "topics", - "subscribers", - "targets", - "companies", - "billing_addresses", - "billing_aggregations", - "billing_aggregation_resources", - "billing_team_project_aggregations", - "billing_team_aggregations_v2", - "billing_team_aggregation_resources", - "billing_invoices_v2", - "billing_addons", - "alerts", - "payments", - "billing_discounts", - "sources", - "deals", - "blocks", - "threats", - "feedbacks", - "sh_installations", - "attributes", - "indexes", - "functions", - "sites", - "deployments", - "executions", - "variables", - "migrations", - "resource_tokens", - "transactions", - "transaction_logs", - "stats" - ], - "in": "query" - }, - { - "name": "input", - "description": "Natural language query intent used to generate filters\/sorting\/pagination.", - "required": true, - "type": "string", - "x-example": "<INPUT>", - "in": "query" - }, { "name": "databaseId", - "description": "Database ID. Required when resource is `tables` or `rows`.", - "required": false, + "description": "Database ID.", + "required": true, "type": "string", "x-example": "<DATABASE_ID>", - "in": "query" + "in": "path" }, { - "name": "tableId", - "description": "Table ID. Required when resource is `rows`.", - "required": false, + "name": "branchId", + "description": "Branch ID.", + "required": true, "type": "string", - "x-example": "<TABLE_ID>", - "in": "query" + "x-example": "<BRANCH_ID>", + "in": "path" } ] } }, - "\/console\/variables": { + "\/compute\/databases\/{databaseId}\/connections": { "get": { - "summary": "Get variables", - "operationId": "consoleVariables", + "summary": "List database connections.", + "operationId": "computeListDatabaseConnections", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "console" + "compute" ], - "description": "Get all Environment Variables that are relevant for the console.", + "description": " List all database connection users\/roles for a dedicated database.", "responses": { "200": { - "description": "Console Variables", + "description": "Dedicated database connections list", "schema": { - "$ref": "#\/definitions\/consoleVariables" + "$ref": "#\/definitions\/dedicatedDatabaseConnectionList" } } }, "deprecated": false, "x-appwrite": { - "method": "variables", - "group": "console", - "weight": 501, + "method": "listDatabaseConnections", + "group": "databases", + "weight": 940, "cookies": false, "type": "", - "demo": "console\/variables.md", + "demo": "compute\/list-database-connections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "databases.read", "platforms": [ "console" ], @@ -9679,127 +9846,104 @@ { "Project": [] } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + } ] - } - }, - "\/databases": { - "get": { - "summary": "List databases", - "operationId": "databasesList", - "consumes": [], + }, + "post": { + "summary": "Create a database connection user.", + "operationId": "computeCreateDatabaseConnection", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": " Create a new database connection user\/role. Returns the connection details including the generated credentials.", "responses": { - "200": { - "description": "Databases List", + "201": { + "description": "Connection", "schema": { - "$ref": "#\/definitions\/databaseList" + "$ref": "#\/definitions\/dedicatedDatabaseConnection" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "list", + "method": "createDatabaseConnection", "group": "databases", - "weight": 691, + "weight": 939, "cookies": false, "type": "", - "demo": "databases\/list.md", + "demo": "compute\/create-database-connection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.list" - }, - "methods": [ - { - "name": "list", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "queries", - "search", - "total" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/databaseList" - } - ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", - "demo": "databases\/list.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.list" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "Connection username.", + "x-example": "<USERNAME>" + }, + "role": { + "type": "string", + "description": "Connection role for the new user. Common values: readonly (read-only access), readwrite (full read and write access).", + "x-example": "<ROLE>", + "default": "readwrite" + } + }, + "required": [ + "username" + ] + } } ] - }, - "post": { - "summary": "Create database", - "operationId": "databasesCreate", + } + }, + "\/compute\/databases\/{databaseId}\/connections\/{connectionId}": { + "delete": { + "summary": "Delete a database connection.", + "operationId": "computeDeleteDatabaseConnection", "consumes": [ "application\/json" ], @@ -9807,187 +9951,120 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a new Database.\n", + "description": " Delete a database connection user\/role. The connection will be terminated immediately.", "responses": { - "201": { - "description": "Database", - "schema": { - "$ref": "#\/definitions\/database" - } + "204": { + "description": "No content" } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "create", + "method": "deleteDatabaseConnection", "group": "databases", - "weight": 687, + "weight": 941, "cookies": false, "type": "", - "demo": "databases\/create.md", + "demo": "compute\/delete-database-connection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.create" - }, - "methods": [ - { - "name": "create", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "name", - "enabled" - ], - "required": [ - "databaseId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/database" - } - ], - "description": "Create a new Database.\n", - "demo": "databases\/create.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.create" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<DATABASE_ID>" - }, - "name": { - "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false - } - }, - "required": [ - "databaseId", - "name" - ] - } + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "connectionId", + "description": "Connection ID.", + "required": true, + "type": "string", + "x-example": "<CONNECTION_ID>", + "in": "path" } ] } }, - "\/databases\/transactions": { + "\/compute\/databases\/{databaseId}\/credentials": { "get": { - "summary": "List transactions", - "operationId": "databasesListTransactions", + "summary": "Get database credentials.", + "operationId": "computeGetDatabaseCredentials", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "List transactions across all databases.", + "description": " Get connection credentials for a dedicated database. Returns the hostname, port, username, password, database name, and full connection string.", "responses": { "200": { - "description": "Transaction List", + "description": "Credentials", "schema": { - "$ref": "#\/definitions\/transactionList" + "$ref": "#\/definitions\/dedicatedDatabaseCredentials" } } }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 761, + "method": "getDatabaseCredentials", + "group": "databases", + "weight": 932, "cookies": false, "type": "", - "demo": "databases\/list-transactions.md", + "demo": "compute\/get-database-credentials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rows.read", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" } ] }, "post": { - "summary": "Create transaction", - "operationId": "databasesCreateTransaction", + "summary": "Update database credentials.", + "operationId": "computeUpdateDatabaseCredentials", "consumes": [ "application\/json" ], @@ -9995,135 +10072,150 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a new transaction.", + "description": " Rotate the primary credentials for a dedicated database. Generates a new password and updates the database. Previous credentials will stop working immediately.", "responses": { - "201": { - "description": "Transaction", + "200": { + "description": "Credentials", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/dedicatedDatabaseCredentials" } } }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 757, + "method": "updateDatabaseCredentials", + "group": "databases", + "weight": 933, "cookies": false, "type": "", - "demo": "databases\/create-transaction.md", + "demo": "compute\/update-database-credentials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "default": 300, - "x-example": 60, - "format": "int32" - } - } - } + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" } ] } }, - "\/databases\/transactions\/{transactionId}": { - "get": { - "summary": "Get transaction", - "operationId": "databasesGetTransaction", - "consumes": [], + "\/compute\/databases\/{databaseId}\/execution": { + "post": { + "summary": "Execute a SQL statement against a dedicated database.", + "operationId": "computeCreateDatabaseExecution", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Get a transaction by its unique ID.", + "description": "Execute SQL through the console-facing Cloud endpoint. Cloud proxies through the edge platform to the per-database SQL API sidecar. Application traffic should bypass cloud entirely and POST directly to the per-database hostname: `https:\/\/db-{project}-{db}.{region}.appwrite.network\/v1\/sql\/execute` with an `X-Appwrite-Key` header \u2014 that path scales to the whole DB fleet without a per-query cloud round-trip. The statement type must be on the database's configured allow-list. Use bound parameters for any user-supplied values \u2014 the API does not interpolate raw strings.", "responses": { "200": { - "description": "Transaction", + "description": "Execution", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/dedicatedDatabaseExecution" } } }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 758, + "method": "createDatabaseExecution", + "group": "databases", + "weight": 947, "cookies": false, "type": "", - "demo": "databases\/get-transaction.md", + "demo": "compute\/create-database-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rows.read", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "sql": { + "type": "string", + "description": "SQL statement to execute. Exactly one statement per request.", + "x-example": "<SQL>" + }, + "bindings": { + "type": "object", + "description": "Optional bound parameters. Pass either a positional list or a name => value map matching the placeholder style used in the SQL.", + "x-example": "{}", + "default": {}, + "x-nullable": true + }, + "timeoutSeconds": { + "type": "integer", + "description": "Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds.", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + }, + "required": [ + "sql" + ] + } } ] - }, - "patch": { - "summary": "Update transaction", - "operationId": "databasesUpdateTransaction", + } + }, + "\/compute\/databases\/{databaseId}\/explanation": { + "post": { + "summary": "Explain query execution plan.", + "operationId": "computeCreateDatabaseQueryExplanation", "consumes": [ "application\/json" ], @@ -10131,56 +10223,50 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": " Run EXPLAIN on a query against a dedicated database. Available for SQL-compatible engines. Returns the query execution plan including scan types, estimated cost, and resource usage. Optionally run EXPLAIN ANALYZE to get actual execution statistics.", "responses": { "200": { - "description": "Transaction", + "description": "QueryExplanation", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/dedicatedDatabaseQueryExplanation" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 759, + "method": "createDatabaseQueryExplanation", + "group": "databases", + "weight": 968, "cookies": false, "type": "", - "demo": "databases\/update-transaction.md", + "demo": "compute\/create-database-query-explanation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { @@ -10189,87 +10275,86 @@ "schema": { "type": "object", "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "default": false, - "x-example": false + "query": { + "type": "string", + "description": "Query to explain. Must be a valid query for the database engine.", + "x-example": "<QUERY>" }, - "rollback": { + "analyze": { "type": "boolean", - "description": "Rollback transaction?", - "default": false, - "x-example": false + "description": "Run EXPLAIN ANALYZE to get actual execution statistics. This executes the query.", + "x-example": false, + "default": false } - } + }, + "required": [ + "query" + ] } } ] - }, - "delete": { - "summary": "Delete transaction", - "operationId": "databasesDeleteTransaction", - "consumes": [ + } + }, + "\/compute\/databases\/{databaseId}\/extensions": { + "get": { + "summary": "List database extensions.", + "operationId": "computeListDatabaseExtensions", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "databases" + "compute" ], - "description": "Delete a transaction by its unique ID.", + "description": " List installed and available extensions for a PostgreSQL database.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Extensions", + "schema": { + "$ref": "#\/definitions\/dedicatedDatabaseExtensions" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 760, + "method": "listDatabaseExtensions", + "group": "databases", + "weight": 943, "cookies": false, "type": "", - "demo": "databases\/delete-transaction.md", + "demo": "compute\/list-database-extensions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] - } - }, - "\/databases\/transactions\/{transactionId}\/operations": { + }, "post": { - "summary": "Create operations", - "operationId": "databasesCreateOperations", + "summary": "Install a database extension.", + "operationId": "computeCreateDatabaseExtension", "consumes": [ "application\/json" ], @@ -10277,56 +10362,50 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create multiple operations in a single transaction.", + "description": " Install a database extension. Only available for PostgreSQL databases. The install runs asynchronously; poll the extensions list endpoint for status.", "responses": { - "201": { - "description": "Transaction", + "202": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 762, + "method": "createDatabaseExtension", + "group": "databases", + "weight": 942, "cookies": false, "type": "", - "demo": "databases\/create-operations.md", + "demo": "compute\/create-database-extension.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "databases.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { @@ -10335,90 +10414,59 @@ "schema": { "type": "object", "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "default": [], - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } + "name": { + "type": "string", + "description": "Extension name (e.g., pgvector, postgis, uuid-ossp).", + "x-example": "<NAME>" } - } + }, + "required": [ + "name" + ] } } ] } }, - "\/databases\/usage": { - "get": { - "summary": "Get databases usage stats", - "operationId": "databasesListUsage", - "consumes": [], + "\/compute\/databases\/{databaseId}\/extensions\/{extensionName}": { + "delete": { + "summary": "Uninstall a database extension.", + "operationId": "computeDeleteDatabaseExtension", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": " Uninstall a database extension from a PostgreSQL database. The uninstall runs asynchronously; poll the extensions list endpoint for status.", "responses": { - "200": { - "description": "UsageDatabases", + "202": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/usageDatabases" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 694, + "method": "deleteDatabaseExtension", + "group": "databases", + "weight": 944, "cookies": false, "type": "", - "demo": "databases\/list-usage.md", + "demo": "compute\/delete-database-extension.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listUsage" - }, - "methods": [ - { - "name": "listUsage", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "databases\/list-usage.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listUsage" - } - } - ], "auth": { "Project": [] } @@ -10430,108 +10478,68 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "extensionName", + "description": "Extension name to uninstall.", + "required": true, + "type": "string", + "x-example": "<EXTENSION_NAME>", + "in": "path" } ] } }, - "\/databases\/{databaseId}": { + "\/compute\/databases\/{databaseId}\/ha": { "get": { - "summary": "Get database", - "operationId": "databasesGet", + "summary": "Get HA status.", + "operationId": "computeGetDatabaseHAStatus", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": " Get high availability status for a dedicated database. Returns replica statuses, replication lag, and sync mode.", "responses": { "200": { - "description": "Database", + "description": "HAStatus", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/dedicatedDatabaseHAStatus" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "get", + "method": "getDatabaseHAStatus", "group": "databases", - "weight": 688, + "weight": 954, "cookies": false, "type": "", - "demo": "databases\/get.md", + "demo": "compute\/get-database-ha-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.get" - }, - "methods": [ - { - "name": "get", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/database" - } - ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", - "demo": "databases\/get.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.get" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10544,10 +10552,12 @@ "in": "path" } ] - }, - "put": { - "summary": "Update database", - "operationId": "databasesUpdate", + } + }, + "\/compute\/databases\/{databaseId}\/ha\/failovers": { + "post": { + "summary": "Trigger manual failover.", + "operationId": "computeCreateDatabaseFailover", "consumes": [ "application\/json" ], @@ -10555,89 +10565,51 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a database by its unique ID.", + "description": " Trigger a manual failover for a dedicated database with high availability enabled. Promotes a replica to primary. The failover runs asynchronously; poll the database document for status updates.", "responses": { - "200": { - "description": "Database", + "202": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "update", + "method": "createDatabaseFailover", "group": "databases", - "weight": 689, + "weight": 955, "cookies": false, "type": "", - "demo": "databases\/update.md", + "demo": "compute\/create-database-failover.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.update" - }, - "methods": [ - { - "name": "update", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "name", - "enabled" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/database" - } - ], - "description": "Update a database by its unique ID.", - "demo": "databases\/update.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.update" - } - } - ], - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { "name": "payload", @@ -10645,98 +10617,62 @@ "schema": { "type": "object", "properties": { - "name": { + "targetReplicaId": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "description": "Target replica ID to promote. If not specified, the healthiest replica is selected.", + "x-example": "<TARGET_REPLICA_ID>", + "x-nullable": true } } } } ] - }, - "delete": { - "summary": "Delete database", - "operationId": "databasesDelete", - "consumes": [ + } + }, + "\/compute\/databases\/{databaseId}\/insights": { + "get": { + "summary": "Get database performance insights.", + "operationId": "computeGetDatabaseInsights", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "databases" + "compute" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": " Get query-level performance insights for a dedicated database. Returns top queries by execution time, wait events, and aggregate query statistics.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "PerformanceInsights", + "schema": { + "$ref": "#\/definitions\/dedicatedDatabasePerformanceInsights" + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "delete", + "method": "getDatabaseInsights", "group": "databases", - "weight": 690, + "weight": 953, "cookies": false, "type": "", - "demo": "databases\/delete.md", + "demo": "compute\/get-database-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.delete" - }, - "methods": [ - { - "name": "delete", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", - "demo": "databases\/delete.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.delete" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10747,61 +10683,83 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "period", + "description": "Analysis period for performance insights. Allowed values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days).", + "required": false, + "type": "string", + "x-example": "1h", + "enum": [ + "1h", + "24h", + "7d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "One Hour", + "Twenty Four Hours", + "Seven Days" + ], + "default": "1h", + "in": "query" + }, + { + "name": "limit", + "description": "Maximum number of queries to return.", + "required": false, + "type": "integer", + "format": "int32", + "default": 25, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections": { + "\/compute\/databases\/{databaseId}\/logs": { "get": { - "summary": "List collections", - "operationId": "databasesListCollections", + "summary": "List database audit logs.", + "operationId": "computeListDatabaseLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": " List audit logs for a dedicated database. Returns DDL operations and security-relevant events.", "responses": { "200": { - "description": "Collections List", + "description": "Dedicated database audit logs list", "schema": { - "$ref": "#\/definitions\/collectionList" + "$ref": "#\/definitions\/dedicatedDatabaseAuditLogList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 699, + "method": "listDatabaseLogs", + "group": "databases", + "weight": 952, "cookies": false, "type": "", - "demo": "databases\/list-collections.md", + "demo": "compute\/list-database-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listTables" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10814,40 +10772,38 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "name": "startTime", + "description": "Start time in ISO 8601 format.", "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], + "type": "string", + "x-example": "<START_TIME>", "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "endTime", + "description": "End time in ISO 8601 format.", "required": false, "type": "string", - "x-example": "<SEARCH>", - "default": "", + "x-example": "<END_TIME>", "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "limit", + "description": "Maximum number of logs to return.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 100, "in": "query" } ] - }, - "post": { - "summary": "Create collections", - "operationId": "databasesCreateCollection", + } + }, + "\/compute\/databases\/{databaseId}\/maintenance": { + "patch": { + "summary": "Update database maintenance window.", + "operationId": "computeUpdateDatabaseMaintenanceWindow", "consumes": [ "application\/json" ], @@ -10855,48 +10811,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": " Update the maintenance window for a dedicated database. Maintenance operations like minor version upgrades will be performed during this window.", "responses": { - "201": { - "description": "Collection", + "200": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 695, + "method": "updateDatabaseMaintenanceWindow", + "group": "databases", + "weight": 938, "cookies": false, "type": "", - "demo": "databases\/create-collection.md", + "demo": "compute\/update-database-maintenance-window.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -10914,119 +10863,82 @@ "schema": { "type": "object", "properties": { - "collectionId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<COLLECTION_ID>" - }, - "name": { + "day": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "attributes": { - "type": "array", - "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } + "description": "Day of the week for the maintenance window. Allowed values: sun, mon, tue, wed, thu, fri, sat.", + "x-example": "sun", + "enum": [ + "sun", + "mon", + "tue", + "wed", + "thu", + "fri", + "sat" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], - "x-example": null, - "items": { - "type": "object" - } + "hourUtc": { + "type": "integer", + "description": "Hour in UTC (0-23) for maintenance window start.", + "x-example": 0, + "format": "int32" } }, "required": [ - "collectionId", - "name" + "day", + "hourUtc" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}": { + "\/compute\/databases\/{databaseId}\/metrics": { "get": { - "summary": "Get collection", - "operationId": "databasesGetCollection", + "summary": "Get database metrics.", + "operationId": "computeGetDatabaseMetrics", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": " Get detailed performance metrics for a dedicated database. Returns CPU, memory, storage, IOPS, QPS, and connection metrics.", "responses": { "200": { - "description": "Collection", + "description": "DatabaseMetrics", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/dedicatedDatabaseMetrics" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 696, + "method": "getDatabaseMetrics", + "group": "databases", + "weight": 936, "cookies": false, "type": "", - "demo": "databases\/get-collection.md", + "demo": "compute\/get-database-metrics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11039,18 +10951,34 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "period", + "description": "Metrics aggregation period. Allowed values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days), 30d (last 30 days).", + "required": false, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "x-example": "1h", + "enum": [ + "1h", + "24h", + "7d", + "30d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "One Hour", + "Twenty Four Hours", + "Seven Days", + "Thirty Days" + ], + "default": "24h", + "in": "query" } ] - }, - "put": { - "summary": "Update collection", - "operationId": "databasesUpdateCollection", + } + }, + "\/compute\/databases\/{databaseId}\/migrations": { + "post": { + "summary": "Migrate database between shared and dedicated.", + "operationId": "computeCreateDatabaseMigration", "consumes": [ "application\/json" ], @@ -11058,48 +10986,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a collection by its unique ID.", + "description": " Migrate a database between shared and dedicated types. Shared to dedicated creates an always-on StatefulSet with external access. Dedicated to shared converts to a serverless pod that scales to zero when idle. Data is preserved during migration.", "responses": { "200": { - "description": "Collection", + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 697, + "method": "createDatabaseMigration", + "group": "databases", + "weight": 965, "cookies": false, "type": "", - "demo": "databases\/update-collection.md", + "demo": "compute\/create-database-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11111,106 +11032,76 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "targetType": { "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "purge": { - "type": "boolean", - "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "description": "Target database type to migrate to. Allowed values: shared (serverless, scales to zero when idle), dedicated (always-on with persistent resources).", + "x-example": "shared", + "enum": [ + "shared", + "dedicated" + ], + "x-enum-name": null, + "x-enum-keys": [] } - } + }, + "required": [ + "targetType" + ] } } ] - }, - "delete": { - "summary": "Delete collection", - "operationId": "databasesDeleteCollection", - "consumes": [ + } + }, + "\/compute\/databases\/{databaseId}\/pitr": { + "get": { + "summary": "Get PITR recovery windows.", + "operationId": "computeGetDatabasePITRWindows", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "databases" + "compute" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": " Get available point-in-time recovery windows for a dedicated database. Returns the earliest and latest recovery points.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "PITRWindows", + "schema": { + "$ref": "#\/definitions\/dedicatedDatabasePITRWindows" + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 698, + "method": "getDatabasePITRWindows", + "group": "databases", + "weight": 956, "cookies": false, "type": "", - "demo": "databases\/delete-collection.md", + "demo": "compute\/get-database-pitr-windows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.deleteTable" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11221,69 +11112,54 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes": { + "\/compute\/databases\/{databaseId}\/pooler": { "get": { - "summary": "List attributes", - "operationId": "databasesListAttributes", + "summary": "Get connection pooler configuration.", + "operationId": "computeGetDatabasePooler", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "List attributes in the collection.", + "description": " Get the connection pooler configuration for a dedicated database. Returns pooler mode, max connections, and pool size settings.", "responses": { "200": { - "description": "Attributes List", + "description": "PoolerConfig", "schema": { - "$ref": "#\/definitions\/attributeList" + "$ref": "#\/definitions\/dedicatedDatabasePooler" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "listAttributes", - "group": "attributes", - "weight": 716, + "method": "getDatabasePooler", + "group": "databases", + "weight": 945, "cookies": false, "type": "", - "demo": "databases\/list-attributes.md", + "demo": "compute\/get-database-pooler.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listColumns" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11294,43 +11170,12 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, size, required, array, status, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint": { - "post": { - "summary": "Create bigint attribute", - "operationId": "databasesCreateBigIntAttribute", + }, + "patch": { + "summary": "Update connection pooler configuration.", + "operationId": "computeUpdateDatabasePooler", "consumes": [ "application\/json" ], @@ -11338,48 +11183,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a bigint attribute. Optionally, minimum and maximum values can be provided.\n", + "description": " Update the connection pooler configuration for a dedicated database. Configure pool mode, max connections, and pool sizes.", "responses": { - "202": { - "description": "AttributeBigInt", + "200": { + "description": "PoolerConfig", "schema": { - "$ref": "#\/definitions\/attributeBigint" + "$ref": "#\/definitions\/dedicatedDatabasePooler" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createBigIntAttribute", - "group": "attributes", - "weight": 729, + "method": "updateDatabasePooler", + "group": "databases", + "weight": 946, "cookies": false, "type": "", - "demo": "databases\/create-big-int-attribute.md", + "demo": "compute\/update-database-pooler.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-bigint-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createBigIntColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11391,125 +11229,118 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "mode": { "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", + "description": "Connection pool mode. Allowed values: transaction, session. Transaction mode returns connections to the pool after each transaction; session mode holds connections for the entire session lifetime.", + "x-example": "transaction", + "enum": [ + "transaction", + "session" + ], + "x-enum-name": null, + "x-enum-keys": [], "x-nullable": true }, - "max": { + "maxConnections": { "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", + "description": "Maximum pooled connections.", + "x-example": 10, + "format": "int32", "x-nullable": true }, - "default": { + "defaultPoolSize": { "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "format": "int64", + "description": "Default pool size per user.", + "x-example": 1, + "format": "int32", "x-nullable": true }, - "array": { + "readWriteSplitting": { "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "description": "Route SELECTs to HA replicas, writes and locked reads to the primary. Defaults to true when HA is enabled.", + "x-example": false, + "x-nullable": true + }, + "poolerCpuRequest": { + "type": "string", + "description": "Pooler sidecar CPU request override (Kubernetes quantity, e.g. \"250m\" or \"1\"). Leave null for the proportional default (5% of DB CPU, floor 100m).", + "x-example": "<POOLER_CPU_REQUEST>", + "x-nullable": true + }, + "poolerCpuLimit": { + "type": "string", + "description": "Pooler sidecar CPU limit override (Kubernetes quantity, e.g. \"500m\" or \"1\"). Leave null for the proportional default (10% of DB CPU, floor 200m). Changing this field rolls the database pod.", + "x-example": "<POOLER_CPU_LIMIT>", + "x-nullable": true + }, + "poolerMemoryRequest": { + "type": "string", + "description": "Pooler sidecar memory request override (Kubernetes quantity, e.g. \"128Mi\" or \"1Gi\"). Leave null for the proportional default (7.5% of DB memory, floor 64Mi).", + "x-example": "<POOLER_MEMORY_REQUEST>", + "x-nullable": true + }, + "poolerMemoryLimit": { + "type": "string", + "description": "Pooler sidecar memory limit override (Kubernetes quantity, e.g. \"256Mi\" or \"1Gi\"). Leave null for the proportional default (15% of DB memory, floor 128Mi). Changing this field rolls the database pod.", + "x-example": "<POOLER_MEMORY_LIMIT>", + "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint\/{key}": { - "patch": { - "summary": "Update bigint attribute", - "operationId": "databasesUpdateBigIntAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/restorations": { + "get": { + "summary": "List database restorations.", + "operationId": "computeListDatabaseRestorations", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a bigint attribute. Changing the `default` value will not update already existing documents.\n", + "description": " List all restorations for a dedicated database. Results can be filtered by status and type.", "responses": { "200": { - "description": "AttributeBigInt", + "description": "Dedicated database restorations list", "schema": { - "$ref": "#\/definitions\/attributeBigint" + "$ref": "#\/definitions\/dedicatedDatabaseRestorationList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateBigIntAttribute", - "group": "attributes", - "weight": 730, + "method": "listDatabaseRestorations", + "group": "databases", + "weight": 964, "cookies": false, "type": "", - "demo": "databases\/update-big-int-attribute.md", + "demo": "compute\/list-database-restorations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-bigint-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateBigIntColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11522,77 +11353,60 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "status", + "description": "Filter by restoration status.", + "required": false, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "x-example": "pending", + "enum": [ + "pending", + "running", + "completed", + "failed" + ], + "x-enum-name": null, + "x-enum-keys": [], + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "type", + "description": "Filter by restoration type.", + "required": false, "type": "string", - "in": "path" + "x-example": "backup", + "enum": [ + "backup", + "pitr" + ], + "x-enum-name": null, + "x-enum-keys": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "name": "limit", + "description": "Maximum number of restorations to return.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 25, + "in": "query" + }, + { + "name": "offset", + "description": "Number of restorations to skip.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean": { + }, "post": { - "summary": "Create boolean attribute", - "operationId": "databasesCreateBooleanAttribute", + "summary": "Create a database restoration.", + "operationId": "computeCreateDatabaseRestoration", "consumes": [ "application\/json" ], @@ -11600,48 +11414,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a boolean attribute.\n", + "description": " Restore a database from a backup or to a specific point in time (PITR). For backup restoration, provide a backupId. For PITR, provide a targetTime. PITR requires the database to have PITR enabled and is only available for enterprise databases.", "responses": { "202": { - "description": "AttributeBoolean", + "description": "Restoration", "schema": { - "$ref": "#\/definitions\/attributeBoolean" + "$ref": "#\/definitions\/dedicatedDatabaseRestoration" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createBooleanAttribute", - "group": "attributes", - "weight": 717, + "method": "createDatabaseRestoration", + "group": "databases", + "weight": 962, "cookies": false, "type": "", - "demo": "databases\/create-boolean-attribute.md", + "demo": "compute\/create-database-restoration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createBooleanColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11653,108 +11460,87 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "type": { "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false + "description": "Restoration type. Allowed values: backup, pitr. Use \"backup\" to restore from a specific backup, or \"pitr\" for point-in-time recovery.", + "x-example": "backup", + "default": "backup", + "enum": [ + "backup", + "pitr" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "default": { - "type": "boolean", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": false, + "backupId": { + "type": "string", + "description": "Backup ID to restore from (required for backup type).", + "x-example": "<BACKUP_ID>", "x-nullable": true }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "targetTime": { + "type": "integer", + "description": "Target time for PITR as Unix timestamp (required for pitr type).", + "x-example": null, + "format": "int32", + "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean\/{key}": { - "patch": { - "summary": "Update boolean attribute", - "operationId": "databasesUpdateBooleanAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/restorations\/{restorationId}": { + "get": { + "summary": "Get a database restoration.", + "operationId": "computeGetDatabaseRestoration", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a boolean attribute. Changing the `default` value will not update already existing documents.", + "description": " Get details of a specific database restoration including its status, type, and timestamps.", "responses": { "200": { - "description": "AttributeBoolean", + "description": "Restoration", "schema": { - "$ref": "#\/definitions\/attributeBoolean" + "$ref": "#\/definitions\/dedicatedDatabaseRestoration" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateBooleanAttribute", - "group": "attributes", - "weight": 718, + "method": "getDatabaseRestoration", + "group": "databases", + "weight": 963, "cookies": false, "type": "", - "demo": "databases\/update-boolean-attribute.md", + "demo": "compute\/get-database-restoration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateBooleanColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11767,109 +11553,60 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "restorationId", + "description": "Restoration ID.", "required": true, "type": "string", + "x-example": "<RESTORATION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime": { - "post": { - "summary": "Create datetime attribute", - "operationId": "databasesCreateDatetimeAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/schema": { + "get": { + "summary": "Get database schema.", + "operationId": "computeGetDatabaseSchema", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create a date time attribute according to the ISO 8601 standard.", + "description": " Get the current schema for a dedicated database. Returns collections, fields, data types, constraints, and indexes.", "responses": { - "202": { - "description": "AttributeDatetime", + "200": { + "description": "Schema", "schema": { - "$ref": "#\/definitions\/attributeDatetime" + "$ref": "#\/definitions\/dedicatedDatabaseSchema" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createDatetimeAttribute", - "group": "attributes", - "weight": 719, + "method": "getDatabaseSchema", + "group": "databases", + "weight": 966, "cookies": false, "type": "", - "demo": "databases\/create-datetime-attribute.md", + "demo": "compute\/get-database-schema.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createDatetimeColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11880,61 +11617,14 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for the attribute in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime\/{key}": { - "patch": { - "summary": "Update datetime attribute", - "operationId": "databasesUpdateDatetimeAttribute", + "\/compute\/databases\/{databaseId}\/schema\/preview": { + "post": { + "summary": "Preview a schema change.", + "operationId": "computeCreateDatabaseSchemaPreview", "consumes": [ "application\/json" ], @@ -11942,48 +11632,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update a date time attribute. Changing the `default` value will not update already existing documents.", + "description": " Preview a schema change against a dedicated database. Returns the expected impact including affected collections, records, and a dry-run diff of the schema before and after the change.", "responses": { "200": { - "description": "AttributeDatetime", + "description": "SchemaPreview", "schema": { - "$ref": "#\/definitions\/attributeDatetime" + "$ref": "#\/definitions\/dedicatedDatabaseSchemaPreview" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateDatetimeAttribute", - "group": "attributes", - "weight": 720, + "method": "createDatabaseSchemaPreview", + "group": "databases", + "weight": 967, "cookies": false, "type": "", - "demo": "databases\/update-datetime-attribute.md", + "demo": "compute\/create-database-schema-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateDatetimeColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -11995,111 +11678,70 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "newKey": { + "sql": { "type": "string", - "description": "New attribute key.", - "default": null, - "x-example": null, - "x-nullable": true + "description": "Schema statement to preview.", + "x-example": "<SQL>" } }, "required": [ - "required", - "default" + "sql" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email": { - "post": { - "summary": "Create email attribute", - "operationId": "databasesCreateEmailAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/slow-queries": { + "get": { + "summary": "List slow queries.", + "operationId": "computeListDatabaseQueries", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create an email attribute.\n", + "description": " List slow queries for a dedicated database. Returns queries that exceeded the specified threshold.", "responses": { - "202": { - "description": "AttributeEmail", + "200": { + "description": "Dedicated database slow queries list", "schema": { - "$ref": "#\/definitions\/attributeEmail" + "$ref": "#\/definitions\/dedicatedDatabaseSlowQueryList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createEmailAttribute", - "group": "attributes", - "weight": 721, + "method": "listDatabaseQueries", + "group": "databases", + "weight": 951, "cookies": false, "type": "", - "demo": "databases\/create-email-attribute.md", + "demo": "compute\/list-database-queries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createEmailColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12112,108 +11754,72 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "limit", + "description": "Maximum number of queries to return.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 100, + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "thresholdMs", + "description": "Minimum query duration in milliseconds.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email\/{key}": { - "patch": { - "summary": "Update email attribute", - "operationId": "databasesUpdateEmailAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/status": { + "get": { + "summary": "Get database status.", + "operationId": "computeGetDatabaseStatus", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update an email attribute. Changing the `default` value will not update already existing documents.\n", + "description": " Get real-time health and status information for a dedicated database. Returns health status, readiness, uptime, connection info, replica status, and volume information.", "responses": { "200": { - "description": "AttributeEmail", + "description": "Status", "schema": { - "$ref": "#\/definitions\/attributeEmail" + "$ref": "#\/definitions\/databaseStatus" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateEmailAttribute", - "group": "attributes", - "weight": 722, + "method": "getDatabaseStatus", + "group": "databases", + "weight": 934, "cookies": false, "type": "", - "demo": "databases\/update-email-attribute.md", + "demo": "compute\/get-database-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateEmailColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12224,63 +11830,14 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum": { + "\/compute\/databases\/{databaseId}\/upgrades": { "post": { - "summary": "Create enum attribute", - "operationId": "databasesCreateEnumAttribute", + "summary": "Upgrade database version.", + "operationId": "computeCreateDatabaseUpgrade", "consumes": [ "application\/json" ], @@ -12288,48 +11845,41 @@ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Create an enum attribute. The `elements` param acts as a white-list of accepted values for this attribute. \n", + "description": " Upgrade a dedicated database to a new engine version. Uses blue-green deployment for zero-downtime cutover.", "responses": { - "202": { - "description": "AttributeEnum", + "200": { + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/attributeEnum" + "$ref": "#\/definitions\/dedicatedDatabase" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createEnumAttribute", - "group": "attributes", - "weight": 723, + "method": "createDatabaseUpgrade", + "group": "databases", + "weight": 937, "cookies": false, "type": "", - "demo": "databases\/create-enum-attribute.md", + "demo": "compute\/create-database-upgrade.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createEnumColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12341,118 +11891,70 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "elements": { - "type": "array", - "description": "Array of enum values.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { + "targetVersion": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "description": "Target engine version to upgrade to.", + "x-example": "<TARGET_VERSION>" } }, "required": [ - "key", - "elements", - "required" + "targetVersion" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum\/{key}": { - "patch": { - "summary": "Update enum attribute", - "operationId": "databasesUpdateEnumAttribute", - "consumes": [ - "application\/json" - ], + "\/compute\/databases\/{databaseId}\/usage": { + "get": { + "summary": "Get database usage metrics.", + "operationId": "computeGetDatabaseUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "compute" ], - "description": "Update an enum attribute. Changing the `default` value will not update already existing documents.\n", + "description": " Get usage metrics for a dedicated database including CPU, memory, storage, connections, and query statistics.", "responses": { "200": { - "description": "AttributeEnum", + "description": "DedicatedDatabase", "schema": { - "$ref": "#\/definitions\/attributeEnum" + "$ref": "#\/definitions\/dedicatedDatabaseUsage" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateEnumAttribute", - "group": "attributes", - "weight": 724, + "method": "getDatabaseUsage", + "group": "databases", + "weight": 935, "cookies": false, "type": "", - "demo": "databases\/update-enum-attribute.md", + "demo": "compute\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateEnumColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -12465,929 +11967,452 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "elements": { - "type": "array", - "description": "Updated list of enum values.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "elements", - "required", - "default" - ] - } + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float": { + "\/console\/assistant": { "post": { - "summary": "Create float attribute", - "operationId": "databasesCreateFloatAttribute", + "summary": "Create assistant query", + "operationId": "assistantChat", "consumes": [ "application\/json" ], "produces": [ - "application\/json" + "text\/plain" ], "tags": [ - "databases" + "assistant" ], - "description": "Create a float attribute. Optionally, minimum and maximum values can be provided.\n", + "description": "Send a prompt to the AI assistant and receive a response. This endpoint allows you to interact with Appwrite's AI assistant by sending questions or prompts and receiving helpful responses in real-time through a server-sent events stream. ", "responses": { - "202": { - "description": "AttributeFloat", + "200": { + "description": "Text", "schema": { - "$ref": "#\/definitions\/attributeFloat" + "type": "string" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createFloatAttribute", - "group": "attributes", - "weight": 725, + "method": "chat", + "group": "console", + "weight": 511, "cookies": false, "type": "", - "demo": "databases\/create-float-attribute.md", - "rate-limit": 0, + "demo": "assistant\/chat.md", + "rate-limit": 15, "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "rate-key": "userId:{userId}", + "scope": "assistant.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createFloatColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "prompt": { "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "description": "Prompt. A string containing questions asked to the AI assistant.", + "x-example": "<PROMPT>" } }, "required": [ - "key", - "required" + "prompt" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float\/{key}": { - "patch": { - "summary": "Update float attribute", - "operationId": "databasesUpdateFloatAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/campaigns\/{campaignId}": { + "get": { + "summary": "Get campaign details", + "operationId": "consoleGetCampaign", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a float attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Receive the details of a campaign using its ID.", "responses": { - "200": { - "description": "AttributeFloat", + "201": { + "description": "Campaign", "schema": { - "$ref": "#\/definitions\/attributeFloat" + "$ref": "#\/definitions\/campaign" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateFloatAttribute", - "group": "attributes", - "weight": 726, + "method": "getCampaign", + "group": null, + "weight": 981, "cookies": false, "type": "", - "demo": "databases\/update-float-attribute.md", + "demo": "console\/get-campaign.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateFloatColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-campaign.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "campaignId", + "description": "ID of the campaign", "required": true, "type": "string", + "x-example": "<CAMPAIGN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", + } + ] + } + }, + "\/console\/coupons\/{couponId}": { + "get": { + "summary": "Get coupon details", + "operationId": "consoleGetCoupon", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "console" + ], + "description": "Get the details of a coupon using it's coupon ID.", + "responses": { + "201": { + "description": "Coupon", "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer": { - "post": { - "summary": "Create integer attribute", - "operationId": "databasesCreateIntegerAttribute", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "databases" - ], - "description": "Create an integer attribute. Optionally, minimum and maximum values can be provided.\n", - "responses": { - "202": { - "description": "AttributeInteger", - "schema": { - "$ref": "#\/definitions\/attributeInteger" + "$ref": "#\/definitions\/coupon" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createIntegerAttribute", - "group": "attributes", - "weight": 727, + "method": "getCoupon", + "group": null, + "weight": 978, "cookies": false, "type": "", - "demo": "databases\/create-integer-attribute.md", - "rate-limit": 0, + "demo": "console\/get-coupon.md", + "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createIntegerColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-coupon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "couponId", + "description": "ID of the coupon", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<COUPON_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer\/{key}": { - "patch": { - "summary": "Update integer attribute", - "operationId": "databasesUpdateIntegerAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/oauth2-providers": { + "get": { + "summary": "List OAuth2 providers", + "operationId": "consoleListOAuth2Providers", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update an integer attribute. Changing the `default` value will not update already existing documents.\n", + "description": "List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.", "responses": { "200": { - "description": "AttributeInteger", + "description": "Console OAuth2 Providers List", "schema": { - "$ref": "#\/definitions\/attributeInteger" + "$ref": "#\/definitions\/consoleOAuth2ProviderList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateIntegerAttribute", - "group": "attributes", - "weight": 728, + "method": "listOAuth2Providers", + "group": "console", + "weight": 508, "cookies": false, "type": "", - "demo": "databases\/update-integer-attribute.md", + "demo": "console\/list-o-auth-2-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateIntegerColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "Project": [] } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip": { - "post": { - "summary": "Create IP address attribute", - "operationId": "databasesCreateIpAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/plans": { + "get": { + "summary": "Get plans", + "operationId": "consoleGetPlans", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create IP address attribute.\n", + "description": "Return a list of all available plans.", "responses": { - "202": { - "description": "AttributeIP", + "200": { + "description": "Billing plan list", "schema": { - "$ref": "#\/definitions\/attributeIp" + "$ref": "#\/definitions\/billingPlanList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createIpAttribute", - "group": "attributes", - "weight": 731, + "method": "getPlans", + "group": null, + "weight": 976, "cookies": false, "type": "", - "demo": "databases\/create-ip-attribute.md", + "demo": "console\/get-plans.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createIpColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plans.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "platform", + "description": "Platform type", + "required": false, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "x-example": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [], + "default": "appwrite", + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip\/{key}": { - "patch": { - "summary": "Update IP address attribute", - "operationId": "databasesUpdateIpAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/plans\/{planId}": { + "get": { + "summary": "Get plan", + "operationId": "consoleGetPlan", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update an ip attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Get the details of a plan using its plan ID.", "responses": { "200": { - "description": "AttributeIP", + "description": "billingPlan", "schema": { - "$ref": "#\/definitions\/attributeIp" + "$ref": "#\/definitions\/billingPlan" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateIpAttribute", - "group": "attributes", - "weight": 732, + "method": "getPlan", + "group": null, + "weight": 977, "cookies": false, "type": "", - "demo": "databases\/update-ip-attribute.md", + "demo": "console\/get-plan.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateIpColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "planId", + "description": "Plan id", "required": true, "type": "string", + "x-example": "<PLAN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when attribute is required.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line": { - "post": { - "summary": "Create line attribute", - "operationId": "databasesCreateLineAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/programs\/{programId}": { + "get": { + "summary": "Get program details", + "operationId": "consoleGetProgram", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create a geometric line attribute.", + "description": "Receive the details of a program using its ID.", "responses": { - "202": { - "description": "AttributeLine", + "201": { + "description": "Program", "schema": { - "$ref": "#\/definitions\/attributeLine" + "$ref": "#\/definitions\/program" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createLineAttribute", - "group": "attributes", - "weight": 733, + "method": "getProgram", + "group": null, + "weight": 979, "cookies": false, "type": "", - "demo": "databases\/create-line-attribute.md", + "demo": "console\/get-program.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createLineColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/get-program.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "programId", + "description": "ID of the program", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<PROGRAM_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "default": null, - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line\/{key}": { - "patch": { - "summary": "Update line attribute", - "operationId": "databasesUpdateLineAttribute", + "\/console\/programs\/{programId}\/memberships": { + "post": { + "summary": "Create program membership", + "operationId": "consoleCreateProgramMembership", "consumes": [ "application\/json" ], @@ -13395,454 +12420,271 @@ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a line attribute. Changing the `default` value will not update already existing documents.", + "description": "Create a new membership for an account to a program.", "responses": { "200": { - "description": "AttributeLine", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/attributeLine" + "$ref": "#\/definitions\/organization" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateLineAttribute", - "group": "attributes", - "weight": 734, + "method": "createProgramMembership", + "group": null, + "weight": 980, "cookies": false, "type": "", - "demo": "databases\/update-line-attribute.md", - "rate-limit": 0, + "demo": "console\/create-program-membership.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateLineColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-program-membership.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "programId", + "description": "ID of the program", "required": true, "type": "string", + "x-example": "<PROGRAM_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "default": null, - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext": { - "post": { - "summary": "Create longtext attribute", - "operationId": "databasesCreateLongtextAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/regions": { + "get": { + "summary": "List Regions", + "operationId": "consoleListRegions", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create a longtext attribute.\n", + "description": "Get all available regions for the console.", "responses": { - "202": { - "description": "AttributeLongtext", + "200": { + "description": "Regions list", "schema": { - "$ref": "#\/definitions\/attributeLongtext" + "$ref": "#\/definitions\/consoleRegionList" } } }, "deprecated": false, "x-appwrite": { - "method": "createLongtextAttribute", - "group": "attributes", - "weight": 751, + "method": "listRegions", + "group": null, + "weight": 975, "cookies": false, "type": "", - "demo": "databases\/create-longtext-attribute.md", + "demo": "console\/list-regions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-longtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/list-regions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ] + } + }, + "\/console\/resources": { + "get": { + "summary": "Check resource ID availability", + "operationId": "consoleGetResource", + "consumes": [], + "produces": [], + "tags": [ + "console" + ], + "description": "Check if a resource ID is available.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getResource", + "group": null, + "weight": 512, + "cookies": false, + "type": "", + "demo": "console\/get-resource.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "value", + "description": "Resource value.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "x-example": "<VALUE>", + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "type", + "description": "Resource type.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "x-example": "rules", + "enum": [ + "rules" + ], + "x-enum-name": "ConsoleResourceType", + "x-enum-keys": [], + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext\/{key}": { - "patch": { - "summary": "Update longtext attribute", - "operationId": "databasesUpdateLongtextAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/scopes\/organization": { + "get": { + "summary": "List organization scopes", + "operationId": "consoleListOrganizationScopes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a longtext attribute. Changing the `default` value will not update already existing documents.\n", + "description": "List all scopes available for organization API keys, along with a description for each scope.", "responses": { "200": { - "description": "AttributeLongtext", + "description": "Console Key Scopes List", "schema": { - "$ref": "#\/definitions\/attributeLongtext" + "$ref": "#\/definitions\/consoleKeyScopeList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateLongtextAttribute", - "group": "attributes", - "weight": 752, + "method": "listOrganizationScopes", + "group": "console", + "weight": 510, "cookies": false, "type": "", - "demo": "databases\/update-longtext-attribute.md", + "demo": "console\/list-organization-scopes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-longtext-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "Project": [] } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext": { - "post": { - "summary": "Create mediumtext attribute", - "operationId": "databasesCreateMediumtextAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/scopes\/project": { + "get": { + "summary": "List project scopes", + "operationId": "consoleListProjectScopes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create a mediumtext attribute.\n", + "description": "List all scopes available for project API keys, along with a description for each scope.", "responses": { - "202": { - "description": "AttributeMediumtext", + "200": { + "description": "Console Key Scopes List", "schema": { - "$ref": "#\/definitions\/attributeMediumtext" + "$ref": "#\/definitions\/consoleKeyScopeList" } } }, "deprecated": false, "x-appwrite": { - "method": "createMediumtextAttribute", - "group": "attributes", - "weight": 749, + "method": "listProjectScopes", + "group": "console", + "weight": 509, "cookies": false, "type": "", - "demo": "databases\/create-mediumtext-attribute.md", + "demo": "console\/list-project-scopes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-mediumtext-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "Project": [] } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext\/{key}": { - "patch": { - "summary": "Update mediumtext attribute", - "operationId": "databasesUpdateMediumtextAttribute", + "\/console\/sources": { + "post": { + "summary": "Create source", + "operationId": "consoleCreateSource", "consumes": [ "application\/json" ], @@ -13850,266 +12692,133 @@ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a mediumtext attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Create a new source.", "responses": { - "200": { - "description": "AttributeMediumtext", + "201": { + "description": "Any", "schema": { - "$ref": "#\/definitions\/attributeMediumtext" + "$ref": "#\/definitions\/any" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMediumtextAttribute", - "group": "attributes", - "weight": 750, + "method": "createSource", + "group": null, + "weight": 982, "cookies": false, "type": "", - "demo": "databases\/update-mediumtext-attribute.md", - "rate-limit": 0, + "demo": "console\/create-source.md", + "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-mediumtext-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/create-source.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { + "ref": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", + "description": "Ref param", + "x-example": "<REF>", "x-nullable": true }, - "newKey": { + "referrer": { "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, + "description": "Referrer", + "x-example": "https:\/\/example.com", + "format": "url", "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } - } - ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point": { - "post": { - "summary": "Create point attribute", - "operationId": "databasesCreatePointAttribute", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "databases" - ], - "description": "Create a geometric point attribute.", - "responses": { - "202": { - "description": "AttributePoint", - "schema": { - "$ref": "#\/definitions\/attributePoint" - } - } - }, - "deprecated": true, - "x-appwrite": { - "method": "createPointAttribute", - "group": "attributes", - "weight": 735, - "cookies": false, - "type": "", - "demo": "databases\/create-point-attribute.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createPointColumn" - }, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { + }, + "utmSource": { "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null + "description": "Utm source", + "x-example": "<UTM_SOURCE>", + "x-nullable": true }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false + "utmCampaign": { + "type": "string", + "description": "Utm campaign", + "x-example": "<UTM_CAMPAIGN>", + "x-nullable": true }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "default": null, - "x-example": "[1, 2]", + "utmMedium": { + "type": "string", + "description": "Utm medium", + "x-example": "<UTM_MEDIUM>", "x-nullable": true } - }, - "required": [ - "key", - "required" - ] + } } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point\/{key}": { - "patch": { - "summary": "Update point attribute", - "operationId": "databasesUpdatePointAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/suggestions\/columns": { + "get": { + "summary": "Get column suggestions with size limits for a table, using database context and an optional user provided context", + "operationId": "consoleSuggestColumns", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a point attribute. Changing the `default` value will not update already existing documents.", + "description": "Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.", "responses": { "200": { - "description": "AttributePoint", + "description": "Columns List", "schema": { - "$ref": "#\/definitions\/attributePoint" + "$ref": "#\/definitions\/columnList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updatePointAttribute", - "group": "attributes", - "weight": 736, + "method": "suggestColumns", + "group": null, + "weight": 983, "cookies": false, "type": "", - "demo": "databases\/update-point-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-columns.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updatePointColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-columns.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -14119,218 +12828,92 @@ "required": true, "type": "string", "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "default": null, - "x-example": "[1, 2]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } - } - ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon": { - "post": { - "summary": "Create polygon attribute", - "operationId": "databasesCreatePolygonAttribute", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "databases" - ], - "description": "Create a geometric polygon attribute.", - "responses": { - "202": { - "description": "AttributePolygon", - "schema": { - "$ref": "#\/definitions\/attributePolygon" - } - } - }, - "deprecated": true, - "x-appwrite": { - "method": "createPolygonAttribute", - "group": "attributes", - "weight": 737, - "cookies": false, - "type": "", - "demo": "databases\/create-polygon-attribute.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createPolygonColumn" + "x-example": "<TABLE_ID>", + "in": "query" }, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "context", + "description": "Optional user provided context to refine suggestions.", + "required": false, "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "x-example": "<CONTEXT>", + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "min", + "description": "Minimum number of suggestions to generate.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 3, + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "default": null, - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } + "name": "max", + "description": "Maximum number of suggestions to generate.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 7, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon\/{key}": { - "patch": { - "summary": "Update polygon attribute", - "operationId": "databasesUpdatePolygonAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/suggestions\/indexes": { + "get": { + "summary": "Get index suggestions for table columns, using database context", + "operationId": "consoleSuggestIndexes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update a polygon attribute. Changing the `default` value will not update already existing documents.", + "description": "Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.", "responses": { "200": { - "description": "AttributePolygon", + "description": "Column Indexes List", "schema": { - "$ref": "#\/definitions\/attributePolygon" + "$ref": "#\/definitions\/columnIndexList" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updatePolygonAttribute", - "group": "attributes", - "weight": 738, + "method": "suggestIndexes", + "group": null, + "weight": 984, "cookies": false, "type": "", - "demo": "databases\/update-polygon-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-indexes.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updatePolygonColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-indexes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -14340,482 +12923,615 @@ "required": true, "type": "string", "x-example": "<DATABASE_ID>", - "in": "path" + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "x-example": "<TABLE_ID>", + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" + "name": "min", + "description": "Minimum number of suggestions to generate.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 1, + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "default": null, - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New attribute key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } + "name": "max", + "description": "Maximum number of suggestions to generate.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 4, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship": { - "post": { - "summary": "Create relationship attribute", - "operationId": "databasesCreateRelationshipAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/suggestions\/queries": { + "get": { + "summary": "Get query suggestions for a list resource from free-text intent", + "operationId": "consoleSuggestQueries", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", + "description": "Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` \u2014 for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.\n", "responses": { - "202": { - "description": "AttributeRelationship", + "200": { + "description": "Any", "schema": { - "$ref": "#\/definitions\/attributeRelationship" + "$ref": "#\/definitions\/any" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createRelationshipAttribute", - "group": "attributes", - "weight": 739, + "method": "suggestQueries", + "group": null, + "weight": 985, "cookies": false, "type": "", - "demo": "databases\/create-relationship-attribute.md", - "rate-limit": 0, + "demo": "console\/suggest-queries.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createRelationshipColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/console\/suggest-queries.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "resource", + "description": "Resource to generate queries for.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "relatedCollectionId": { - "type": "string", - "description": "Related Collection ID.", - "default": null, - "x-example": "<RELATED_COLLECTION_ID>" - }, - "type": { - "type": "string", - "description": "Relation type", - "default": null, - "x-example": "oneToOne", - "enum": [ - "oneToOne", - "manyToOne", - "manyToMany", - "oneToMany" - ], - "x-enum-name": "RelationshipType", - "x-enum-keys": [] - }, - "twoWay": { - "type": "boolean", - "description": "Is Two Way?", - "default": false, - "x-example": false - }, - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "twoWayKey": { - "type": "string", - "description": "Two Way Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "onDelete": { - "type": "string", - "description": "Constraints option", - "default": "restrict", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] - } - }, - "required": [ - "relatedCollectionId", - "type" - ] - } + "x-example": "activities", + "enum": [ + "activities", + "activityevents", + "archives", + "credits", + "dnsrecords", + "domains", + "invoices", + "paymentmethods", + "policies", + "projects", + "restorations", + "teamaggregations", + "teams", + "databases", + "tables", + "rows", + "schedules", + "platforms", + "keys", + "devkeys", + "webhooks", + "certificates", + "realtime", + "rules", + "installations", + "repositories", + "vcscomments", + "vcscommentlocks", + "reports", + "insights", + "users", + "cache", + "tokens", + "authenticators", + "challenges", + "sessions", + "identities", + "memberships", + "buckets", + "providers", + "messages", + "topics", + "subscribers", + "targets", + "companies", + "billingaddresses", + "billingaggregations", + "billingaggregationresources", + "billingteamprojectaggregations", + "billingteamaggregations_v2", + "billingteamaggregationresources", + "billinginvoices_v2", + "billingaddons", + "alerts", + "payments", + "billingdiscounts", + "sources", + "deals", + "blocks", + "threats", + "feedbacks", + "sh_installations", + "attributes", + "indexes", + "functions", + "sites", + "deployments", + "executions", + "variables", + "migrations", + "resourcetokens", + "transactions", + "transactionlogs", + "presencelogs", + "stats", + "dedicateddatabases", + "dedicateddatabaseconfigs", + "dedicateddatabaseruntimes", + "dedicateddatabaseoperations", + "dedicateddatabasebackups", + "dedicateddatabaserestorations" + ], + "x-enum-name": "QuerySuggestionResource", + "x-enum-keys": [ + "activities", + "activity_events", + "archives", + "credits", + "dns_records", + "domains", + "invoices", + "payment_methods", + "policies", + "projects", + "restorations", + "team_aggregations", + "teams", + "databases", + "tables", + "rows", + "schedules", + "platforms", + "keys", + "dev_keys", + "webhooks", + "certificates", + "realtime", + "rules", + "installations", + "repositories", + "vcs_comments", + "vcs_comment_locks", + "reports", + "insights", + "users", + "cache", + "tokens", + "authenticators", + "challenges", + "sessions", + "identities", + "memberships", + "buckets", + "providers", + "messages", + "topics", + "subscribers", + "targets", + "companies", + "billing_addresses", + "billing_aggregations", + "billing_aggregation_resources", + "billing_team_project_aggregations", + "billing_team_aggregations_v2", + "billing_team_aggregation_resources", + "billing_invoices_v2", + "billing_addons", + "alerts", + "payments", + "billing_discounts", + "sources", + "deals", + "blocks", + "threats", + "feedbacks", + "sh_installations", + "attributes", + "indexes", + "functions", + "sites", + "deployments", + "executions", + "variables", + "migrations", + "resource_tokens", + "transactions", + "transaction_logs", + "presence_logs", + "stats" + ], + "in": "query" + }, + { + "name": "input", + "description": "Natural language query intent used to generate filters\/sorting\/pagination.", + "required": true, + "type": "string", + "x-example": "<INPUT>", + "in": "query" + }, + { + "name": "databaseId", + "description": "Database ID. Required when resource is `tables` or `rows`.", + "required": false, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "query" + }, + { + "name": "tableId", + "description": "Table ID. Required when resource is `rows`.", + "required": false, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship\/{key}": { - "patch": { - "summary": "Update relationship attribute", - "operationId": "databasesUpdateRelationshipAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/templates\/email\/{templateId}": { + "get": { + "summary": "Get email template", + "operationId": "consoleGetEmailTemplate", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Update relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", + "description": "Get the Appwrite built-in default email template for the specified type and locale. Always returns the unmodified default, ignoring any custom project overrides.", "responses": { "200": { - "description": "AttributeRelationship", + "description": "EmailTemplate", "schema": { - "$ref": "#\/definitions\/attributeRelationship" + "$ref": "#\/definitions\/emailTemplate" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateRelationshipAttribute", - "group": "attributes", - "weight": 740, + "method": "getEmailTemplate", + "group": null, + "weight": 507, "cookies": false, "type": "", - "demo": "databases\/update-relationship-attribute.md", + "demo": "console\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateRelationshipColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "templateId", + "description": "Email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [], "in": "path" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "locale", + "description": "Template locale. If left empty, the fallback locale (en) will be used.", + "required": false, "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "onDelete": { - "type": "string", - "description": "Constraints option", - "default": null, - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - } - } + "x-example": "af", + "enum": [ + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" + ], + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [], + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string": { - "post": { - "summary": "Create string attribute", - "operationId": "databasesCreateStringAttribute", - "consumes": [ - "application\/json" - ], + "\/console\/variables": { + "get": { + "summary": "Get variables", + "operationId": "consoleVariables", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "databases" + "console" ], - "description": "Create a string attribute.\n", + "description": "Get all Environment Variables that are relevant for the console.", "responses": { - "202": { - "description": "AttributeString", + "200": { + "description": "Console Variables", "schema": { - "$ref": "#\/definitions\/attributeString" + "$ref": "#\/definitions\/consoleVariables" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createStringAttribute", - "group": "attributes", - "weight": 741, + "method": "variables", + "group": "console", + "weight": 506, "cookies": false, "type": "", - "demo": "databases\/create-string-attribute.md", + "demo": "console\/variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createStringColumn" - }, "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "size": { - "type": "integer", - "description": "Attribute size for text attributes, in number of characters.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "size", - "required" - ] - } + "Project": [] } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string\/{key}": { - "patch": { - "summary": "Update string attribute", - "operationId": "databasesUpdateStringAttribute", - "consumes": [ - "application\/json" - ], + "\/databases": { + "get": { + "summary": "List databases", + "operationId": "databasesList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Update a string attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "AttributeString", + "description": "Databases List", "schema": { - "$ref": "#\/definitions\/attributeString" + "$ref": "#\/definitions\/databaseList" } } }, "deprecated": true, "x-appwrite": { - "method": "updateStringAttribute", - "group": "attributes", - "weight": 742, + "method": "list", + "group": "databases", + "weight": 704, "cookies": false, "type": "", - "demo": "databases\/update-string-attribute.md", + "demo": "databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updateStringColumn" + "replaceWith": "tablesDB.list" }, + "methods": [ + { + "name": "list", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "queries", + "search", + "total" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/databaseList" + } + ], + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "demo": "databases\/list.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.list" + } + } + ], "auth": { "Project": [] } @@ -14828,76 +13544,40 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the string attribute.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text": { + }, "post": { - "summary": "Create text attribute", - "operationId": "databasesCreateTextAttribute", + "summary": "Create database", + "operationId": "databasesCreate", "consumes": [ "application\/json" ], @@ -14907,34 +13587,70 @@ "tags": [ "databases" ], - "description": "Create a text attribute.\n", + "description": "Create a new Database.\n", "responses": { - "202": { - "description": "AttributeText", + "201": { + "description": "Database", "schema": { - "$ref": "#\/definitions\/attributeText" + "$ref": "#\/definitions\/database" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTextAttribute", - "group": "attributes", - "weight": 747, + "method": "create", + "group": "databases", + "weight": 700, "cookies": false, "type": "", - "demo": "databases\/create-text-attribute.md", + "demo": "databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-text-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.create" + }, + "methods": [ + { + "name": "create", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "name", + "enabled" + ], + "required": [ + "databaseId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/database" + } + ], + "description": "Create a new Database.\n", + "demo": "databases\/create.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.create" + } + } + ], "auth": { "Project": [] } @@ -14946,110 +13662,78 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "databaseId": { "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" }, - "default": { + "name": { "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "encrypt": { + "enabled": { "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true } }, "required": [ - "key", - "required" + "databaseId", + "name" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text\/{key}": { - "patch": { - "summary": "Update text attribute", - "operationId": "databasesUpdateTextAttribute", - "consumes": [ - "application\/json" - ], + "\/databases\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "databasesListTransactions", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Update a text attribute. Changing the `default` value will not update already existing documents.\n", + "description": "List transactions across all databases.", "responses": { "200": { - "description": "AttributeText", + "description": "Transaction List", "schema": { - "$ref": "#\/definitions\/attributeText" + "$ref": "#\/definitions\/transactionList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTextAttribute", - "group": "attributes", - "weight": 748, + "method": "listTransactions", + "group": "transactions", + "weight": 774, "cookies": false, "type": "", - "demo": "databases\/update-text-attribute.md", + "demo": "databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "rows.read", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-text-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -15057,73 +13741,29 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url": { + }, "post": { - "summary": "Create URL attribute", - "operationId": "databasesCreateUrlAttribute", + "summary": "Create transaction", + "operationId": "databasesCreateTransaction", "consumes": [ "application\/json" ], @@ -15133,38 +13773,35 @@ "tags": [ "databases" ], - "description": "Create a URL attribute.\n", + "description": "Create a new transaction.", "responses": { - "202": { - "description": "AttributeURL", + "201": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/attributeUrl" + "$ref": "#\/definitions\/transaction" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createUrlAttribute", - "group": "attributes", - "weight": 743, + "method": "createTransaction", + "group": "transactions", + "weight": 770, "cookies": false, "type": "", - "demo": "databases\/create-url-attribute.md", + "demo": "databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createUrlColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -15172,113 +13809,71 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "default": 300, + "format": "int32" } - }, - "required": [ - "key", - "required" - ] + } } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url\/{key}": { - "patch": { - "summary": "Update URL attribute", - "operationId": "databasesUpdateUrlAttribute", - "consumes": [ - "application\/json" - ], + "\/databases\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "databasesGetTransaction", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Update an url attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Get a transaction by its unique ID.", "responses": { "200": { - "description": "AttributeURL", + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/attributeUrl" + "$ref": "#\/definitions\/transaction" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateUrlAttribute", - "group": "attributes", - "weight": 744, + "method": "getTransaction", + "group": "transactions", + "weight": 771, "cookies": false, "type": "", - "demo": "databases\/update-url-attribute.md", + "demo": "databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "rows.read", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateUrlColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -15286,74 +13881,25 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", + "x-example": "<TRANSACTION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar": { - "post": { - "summary": "Create varchar attribute", - "operationId": "databasesCreateVarcharAttribute", + }, + "patch": { + "summary": "Update transaction", + "operationId": "databasesUpdateTransaction", "consumes": [ "application\/json" ], @@ -15363,34 +13909,35 @@ "tags": [ "databases" ], - "description": "Create a varchar attribute.\n", + "description": "Update a transaction, to either commit or roll back its operations.", "responses": { - "202": { - "description": "AttributeVarchar", + "200": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/attributeVarchar" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "createVarcharAttribute", - "group": "attributes", - "weight": 745, + "method": "updateTransaction", + "group": "transactions", + "weight": 772, "cookies": false, "type": "", - "demo": "databases\/create-varchar-attribute.md", + "demo": "databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-varchar-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -15398,24 +13945,18 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" }, { @@ -15424,96 +13965,59 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Attribute Key.", - "default": null, - "x-example": null - }, - "size": { - "type": "integer", - "description": "Attribute size for varchar attributes, in number of characters. Maximum size is 16381.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { + "commit": { "type": "boolean", - "description": "Is attribute an array?", - "default": false, - "x-example": false + "description": "Commit transaction?", + "x-example": false, + "default": false }, - "encrypt": { + "rollback": { "type": "boolean", - "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "description": "Rollback transaction?", + "x-example": false, + "default": false } - }, - "required": [ - "key", - "size", - "required" - ] + } } } ] - } - }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar\/{key}": { - "patch": { - "summary": "Update varchar attribute", - "operationId": "databasesUpdateVarcharAttribute", + }, + "delete": { + "summary": "Delete transaction", + "operationId": "databasesDeleteTransaction", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ "databases" ], - "description": "Update a varchar attribute. Changing the `default` value will not update already existing documents.\n", + "description": "Delete a transaction by its unique ID.", "responses": { - "200": { - "description": "AttributeVarchar", - "schema": { - "$ref": "#\/definitions\/attributeVarchar" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateVarcharAttribute", - "group": "attributes", - "weight": 746, + "method": "deleteTransaction", + "group": "transactions", + "weight": 773, "cookies": false, "type": "", - "demo": "databases\/update-varchar-attribute.md", + "demo": "databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "documents.write", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-varchar-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -15521,202 +14025,65 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", + "x-example": "<TRANSACTION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is attribute required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the varchar attribute.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Attribute Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}": { - "get": { - "summary": "Get attribute", - "operationId": "databasesGetAttribute", - "consumes": [], + "\/databases\/transactions\/{transactionId}\/operations": { + "post": { + "summary": "Create operations", + "operationId": "databasesCreateOperations", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get attribute by ID.", + "description": "Create multiple operations in a single transaction.", "responses": { - "200": { - "description": "AttributeBoolean, or AttributeInteger, or AttributeFloat, or AttributeEmail, or AttributeEnum, or AttributeURL, or AttributeIP, or AttributeDatetime, or AttributeRelationship, or AttributeString", + "201": { + "description": "Transaction", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/attributeBoolean" - }, - { - "$ref": "#\/definitions\/attributeInteger" - }, - { - "$ref": "#\/definitions\/attributeFloat" - }, - { - "$ref": "#\/definitions\/attributeEmail" - }, - { - "$ref": "#\/definitions\/attributeEnum" - }, - { - "$ref": "#\/definitions\/attributeUrl" - }, - { - "$ref": "#\/definitions\/attributeIp" - }, - { - "$ref": "#\/definitions\/attributeDatetime" - }, - { - "$ref": "#\/definitions\/attributeRelationship" - }, - { - "$ref": "#\/definitions\/attributeString" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "boolean": "#\/definitions\/attributeBoolean", - "integer": "#\/definitions\/attributeInteger", - "double": "#\/definitions\/attributeFloat", - "string": "#\/definitions\/attributeString", - "datetime": "#\/definitions\/attributeDatetime", - "relationship": "#\/definitions\/attributeRelationship" - }, - "x-propertyNames": [ - "type", - "format" - ], - "x-mapping": { - "#\/definitions\/attributeBoolean": { - "type": "boolean" - }, - "#\/definitions\/attributeInteger": { - "type": "integer" - }, - "#\/definitions\/attributeFloat": { - "type": "double" - }, - "#\/definitions\/attributeEmail": { - "type": "string", - "format": "email" - }, - "#\/definitions\/attributeEnum": { - "type": "string", - "format": "enum" - }, - "#\/definitions\/attributeUrl": { - "type": "string", - "format": "url" - }, - "#\/definitions\/attributeIp": { - "type": "string", - "format": "ip" - }, - "#\/definitions\/attributeDatetime": { - "type": "datetime" - }, - "#\/definitions\/attributeRelationship": { - "type": "relationship" - }, - "#\/definitions\/attributeString": { - "type": "string" - } - } - } + "$ref": "#\/definitions\/transaction" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "getAttribute", - "group": "attributes", - "weight": 714, + "method": "createOperations", + "group": "transactions", + "weight": 775, "cookies": false, "type": "", - "demo": "databases\/get-attribute.md", + "demo": "databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "documents.write", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getColumn" - }, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -15724,115 +14091,147 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" }, { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], + "items": { + "type": "object" + } + } + } + } } ] - }, - "delete": { - "summary": "Delete attribute", - "operationId": "databasesDeleteAttribute", - "consumes": [ + } + }, + "\/databases\/usage": { + "get": { + "summary": "Get databases usage stats", + "operationId": "databasesListUsage", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ "databases" ], - "description": "Deletes an attribute.", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "UsageDatabases", + "schema": { + "$ref": "#\/definitions\/usageDatabases" + } } }, "deprecated": true, "x-appwrite": { - "method": "deleteAttribute", - "group": "attributes", - "weight": 715, + "method": "listUsage", + "group": null, + "weight": 707, "cookies": false, "type": "", - "demo": "databases\/delete-attribute.md", + "demo": "databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "collections.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteColumn" + "replaceWith": "tablesDB.listUsage" }, + "methods": [ + { + "name": "listUsage", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageDatabases" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "databases\/list-usage.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listUsage" + } + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Attribute Key.", - "required": true, - "type": "string", - "in": "path" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents": { + "\/databases\/{databaseId}": { "get": { - "summary": "List documents", - "operationId": "databasesListDocuments", + "summary": "Get database", + "operationId": "databasesGet", "consumes": [], "produces": [ "application\/json" @@ -15840,39 +14239,67 @@ "tags": [ "databases" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", "responses": { "200": { - "description": "Documents List", + "description": "Database", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/database" } } }, "deprecated": true, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 905, + "method": "get", + "group": "databases", + "weight": 701, "cookies": false, "type": "", - "demo": "databases\/list-documents.md", + "demo": "databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "databases.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listRows" + "replaceWith": "tablesDB.get" }, + "methods": [ + { + "name": "get", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/database" + } + ], + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "demo": "databases\/get.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.get" + } + } + ], "auth": { "Project": [] } @@ -15880,9 +14307,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -15893,59 +14318,12 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" } ] }, - "post": { - "summary": "Create document", - "operationId": "databasesCreateDocument", + "put": { + "summary": "Update database", + "operationId": "databasesUpdate", "consumes": [ "application\/json" ], @@ -15955,105 +14333,66 @@ "tags": [ "databases" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": "Update a database by its unique ID.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "Database", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/database" } } }, "deprecated": true, "x-appwrite": { - "method": "createDocument", - "group": "documents", + "method": "update", + "group": "databases", "weight": 702, "cookies": false, "type": "", - "demo": "databases\/create-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createRow" + "replaceWith": "tablesDB.update" }, "methods": [ { - "name": "createDocument", - "namespace": "databases", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/create-document.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.createRow" - } - }, - { - "name": "createDocuments", + "name": "update", "namespace": "databases", - "desc": "Create documents", + "desc": "", "auth": { "Project": [] }, "parameters": [ "databaseId", - "collectionId", - "documents", - "transactionId" + "name", + "enabled" ], "required": [ - "databaseId", - "collectionId", - "documents" + "databaseId" ], "responses": [ { - "code": 201, - "model": "#\/definitions\/documentList" + "code": 200, + "model": "#\/definitions\/database" } ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/create-documents.md", + "description": "Update a database by its unique ID.", + "demo": "databases\/update.md", "public": true, "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createRows" + "replaceWith": "tablesDB.update" } } ], @@ -16064,9 +14403,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16078,138 +14415,92 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "documentId": { + "name": { "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" - }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true } } } } ] }, - "put": { - "summary": "Upsert documents", - "operationId": "databasesUpsertDocuments", + "delete": { + "summary": "Delete database", + "operationId": "databasesDelete", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ "databases" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", "responses": { - "201": { - "description": "Documents List", - "schema": { - "$ref": "#\/definitions\/documentList" - } + "204": { + "description": "No content" } }, "deprecated": true, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 707, + "method": "delete", + "group": "databases", + "weight": 703, "cookies": false, "type": "", - "demo": "databases\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.upsertRows" + "replaceWith": "tablesDB.delete" }, "methods": [ { - "name": "upsertDocuments", + "name": "delete", "namespace": "databases", "desc": "", "auth": { "Project": [] }, "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" + "databaseId" ], "required": [ - "databaseId", - "collectionId", - "documents" + "databaseId" ], "responses": [ { - "code": 201, - "model": "#\/definitions\/documentList" + "code": 204 } ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", - "demo": "databases\/upsert-documents.md", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "demo": "databases\/delete.md", "public": true, "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.upsertRows" + "replaceWith": "tablesDB.delete" } } ], @@ -16231,88 +14522,52 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - }, - "required": [ - "documents" - ] - } } ] - }, - "patch": { - "summary": "Update documents", - "operationId": "databasesUpdateDocuments", - "consumes": [ - "application\/json" - ], + } + }, + "\/databases\/{databaseId}\/collections": { + "get": { + "summary": "List collections", + "operationId": "databasesListCollections", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "Documents List", + "description": "Collections List", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/collectionList" } } }, "deprecated": true, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 705, + "method": "listCollections", + "group": "collections", + "weight": 712, "cookies": false, "type": "", - "demo": "databases\/update-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/list-collections.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.updateRows" + "replaceWith": "tablesDB.listTables" }, "auth": { "Project": [] @@ -16334,49 +14589,40 @@ "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "delete": { - "summary": "Delete documents", - "operationId": "databasesDeleteDocuments", + "post": { + "summary": "Create collections", + "operationId": "databasesCreateCollection", "consumes": [ "application\/json" ], @@ -16386,37 +14632,37 @@ "tags": [ "databases" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", "responses": { - "200": { - "description": "Documents List", + "201": { + "description": "Collection", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/collection" } } }, "deprecated": true, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 709, + "method": "createCollection", + "group": "collections", + "weight": 708, "cookies": false, "type": "", - "demo": "databases\/delete-documents.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteRows" + "replaceWith": "tablesDB.createTable" }, "auth": { "Project": [] @@ -16437,46 +14683,75 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, + "collectionId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" + }, + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "attributes": { + "type": "array", + "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "default": [], + "items": { + "type": "object" + } } - } + }, + "required": [ + "collectionId", + "name" + ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "\/databases\/{databaseId}\/collections\/{collectionId}": { "get": { - "summary": "Get document", - "operationId": "databasesGetDocument", + "summary": "Get collection", + "operationId": "databasesGetCollection", "consumes": [], "produces": [ "application\/json" @@ -16484,38 +14759,37 @@ "tags": [ "databases" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", "responses": { "200": { - "description": "Document", + "description": "Collection", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/collection" } } }, "deprecated": true, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 703, + "method": "getCollection", + "group": "collections", + "weight": 709, "cookies": false, "type": "", - "demo": "databases\/get-document.md", + "demo": "databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getRow" + "replaceWith": "tablesDB.getTable" }, "auth": { "Project": [] @@ -16524,9 +14798,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16540,45 +14812,17 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" } ] }, "put": { - "summary": "Upsert a document", - "operationId": "databasesUpsertDocument", + "summary": "Update collection", + "operationId": "databasesUpdateCollection", "consumes": [ "application\/json" ], @@ -16588,75 +14832,38 @@ "tags": [ "databases" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "description": "Update a collection by its unique ID.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "Collection", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/collection" } } }, "deprecated": true, "x-appwrite": { - "method": "upsertDocument", - "group": "documents", - "weight": 706, + "method": "updateCollection", + "group": "collections", + "weight": 710, "cookies": false, "type": "", - "demo": "databases\/upsert-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.upsertRow" + "replaceWith": "tablesDB.updateTable" }, - "methods": [ - { - "name": "upsertDocument", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", - "demo": "databases\/upsert-document.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.upsertRow" - } - } - ], "auth": { "Project": [] } @@ -16664,9 +14871,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16686,158 +14891,43 @@ "x-example": "<COLLECTION_ID>", "in": "path" }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" }, "permissions": { "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { "type": "string" } }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } - } - ] - }, - "patch": { - "summary": "Update document", - "operationId": "databasesUpdateDocument", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "databases" - ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", - "responses": { - "200": { - "description": "Document", - "schema": { - "$ref": "#\/definitions\/document" - } - } - }, - "deprecated": true, - "x-appwrite": { - "method": "updateDocument", - "group": "documents", - "weight": 704, - "cookies": false, - "type": "", - "demo": "databases\/update-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateRow" - }, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false, + "default": false } } } @@ -16845,8 +14935,8 @@ ] }, "delete": { - "summary": "Delete document", - "operationId": "databasesDeleteDocument", + "summary": "Delete collection", + "operationId": "databasesDeleteCollection", "consumes": [ "application\/json" ], @@ -16854,7 +14944,7 @@ "tags": [ "databases" ], - "description": "Delete a document by its unique ID.", + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { "204": { "description": "No content" @@ -16862,27 +14952,26 @@ }, "deprecated": true, "x-appwrite": { - "method": "deleteDocument", - "group": "documents", - "weight": 708, + "method": "deleteCollection", + "group": "collections", + "weight": 711, "cookies": false, "type": "", - "demo": "databases\/delete-document.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/delete-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteRow" + "replaceWith": "tablesDB.deleteTable" }, "auth": { "Project": [] @@ -16891,9 +14980,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -16907,43 +14994,19 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/logs": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes": { "get": { - "summary": "List document logs", - "operationId": "databasesListDocumentLogs", + "summary": "List attributes", + "operationId": "databasesListAttributes", "consumes": [], "produces": [ "application\/json" @@ -16951,36 +15014,37 @@ "tags": [ "databases" ], - "description": "Get the document activity logs list by its unique ID.", + "description": "List attributes in the collection.", "responses": { "200": { - "description": "Logs List", + "description": "Attributes List", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/attributeList" } } }, "deprecated": true, "x-appwrite": { - "method": "listDocumentLogs", - "group": "logs", - "weight": 711, + "method": "listAttributes", + "group": "attributes", + "weight": 729, "cookies": false, "type": "", - "demo": "databases\/list-document-logs.md", + "demo": "databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listRowLogs" + "replaceWith": "tablesDB.listColumns" }, "auth": { "Project": [] @@ -16988,7 +15052,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17008,17 +15073,9 @@ "x-example": "<COLLECTION_ID>", "in": "path" }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, size, required, array, status, error", "required": false, "type": "array", "collectionFormat": "multi", @@ -17027,14 +15084,23 @@ }, "default": [], "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { - "patch": { - "summary": "Decrement document attribute", - "operationId": "databasesDecrementDocumentAttribute", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint": { + "post": { + "summary": "Create bigint attribute", + "operationId": "databasesCreateBigIntAttribute", "consumes": [ "application\/json" ], @@ -17044,38 +15110,37 @@ "tags": [ "databases" ], - "description": "Decrement a specific attribute of a document by a given value.", + "description": "Create a bigint attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeBigInt", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeBigint" } } }, "deprecated": true, "x-appwrite": { - "method": "decrementDocumentAttribute", - "group": "documents", - "weight": 713, + "method": "createBigIntAttribute", + "group": "attributes", + "weight": 742, "cookies": false, "type": "", - "demo": "databases\/decrement-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-big-int-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-bigint-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.decrementRowColumn" + "replaceWith": "tablesDB.createBigIntColumn" }, "auth": { "Project": [] @@ -17084,8 +15149,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -17106,59 +15169,63 @@ "x-example": "<COLLECTION_ID>", "in": "path" }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, - "x-example": null, - "format": "float" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "min": { - "type": "number", - "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", "x-example": null, - "format": "float", + "format": "int64", "x-nullable": true }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/bigint\/{key}": { "patch": { - "summary": "Increment document attribute", - "operationId": "databasesIncrementDocumentAttribute", + "summary": "Update bigint attribute", + "operationId": "databasesUpdateBigIntAttribute", "consumes": [ "application\/json" ], @@ -17168,38 +15235,37 @@ "tags": [ "databases" ], - "description": "Increment a specific attribute of a document by a given value.", + "description": "Update a bigint attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Document", + "description": "AttributeBigInt", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeBigint" } } }, "deprecated": true, "x-appwrite": { - "method": "incrementDocumentAttribute", - "group": "documents", - "weight": 712, + "method": "updateBigIntAttribute", + "group": "attributes", + "weight": 743, "cookies": false, "type": "", - "demo": "databases\/increment-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-big-int-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-bigint-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.incrementRowColumn" + "replaceWith": "tablesDB.updateBigIntColumn" }, "auth": { "Project": [] @@ -17208,8 +15274,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -17231,16 +15295,8 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", "in": "path" @@ -17251,76 +15307,92 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", "x-example": null, - "format": "float" + "format": "int64", + "x-nullable": true }, "max": { - "type": "number", - "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, + "type": "integer", + "description": "Maximum value", "x-example": null, - "format": "float", + "format": "int64", "x-nullable": true }, - "transactionId": { + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", + "description": "New Attribute Key.", + "x-example": null, "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes": { - "get": { - "summary": "List indexes", - "operationId": "databasesListIndexes", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean": { + "post": { + "summary": "Create boolean attribute", + "operationId": "databasesCreateBooleanAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "List indexes in the collection.", + "description": "Create a boolean attribute.\n", "responses": { - "200": { - "description": "Indexes List", + "202": { + "description": "AttributeBoolean", "schema": { - "$ref": "#\/definitions\/indexList" + "$ref": "#\/definitions\/attributeBoolean" } } }, "deprecated": true, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 756, + "method": "createBooleanAttribute", + "group": "attributes", + "weight": 730, "cookies": false, "type": "", - "demo": "databases\/list-indexes.md", + "demo": "databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listIndexes" + "replaceWith": "tablesDB.createBooleanColumn" }, "auth": { "Project": [] @@ -17350,31 +15422,47 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "boolean", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": false, + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] - }, - "post": { - "summary": "Create index", - "operationId": "databasesCreateIndex", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean\/{key}": { + "patch": { + "summary": "Update boolean attribute", + "operationId": "databasesUpdateBooleanAttribute", "consumes": [ "application\/json" ], @@ -17384,23 +15472,23 @@ "tags": [ "databases" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Update a boolean attribute. Changing the `default` value will not update already existing documents.", "responses": { - "202": { - "description": "Index", + "200": { + "description": "AttributeBoolean", "schema": { - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/attributeBoolean" } } }, "deprecated": true, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 753, + "method": "updateBooleanAttribute", + "group": "attributes", + "weight": 731, "cookies": false, "type": "", - "demo": "databases\/create-index.md", + "demo": "databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17411,10 +15499,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.createIndex" + "replaceWith": "tablesDB.updateBooleanColumn" }, "auth": { "Project": [] @@ -17437,124 +15525,96 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Index Key.", - "default": null, - "x-example": null - }, - "type": { - "type": "string", - "description": "Index type.", - "default": null, - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique", - "spatial" - ], - "x-enum-name": "DatabasesIndexType", - "x-enum-keys": [] - }, - "attributes": { - "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } + "default": { + "type": "boolean", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": false, + "x-nullable": true }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "default": [], + "newKey": { + "type": "string", + "description": "New attribute key.", "x-example": null, - "items": { - "type": "integer" - } + "x-nullable": true } }, "required": [ - "key", - "type", - "attributes" + "required", + "default" ] } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { - "get": { - "summary": "Get index", - "operationId": "databasesGetIndex", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime": { + "post": { + "summary": "Create datetime attribute", + "operationId": "databasesCreateDatetimeAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get an index by its unique ID.", + "description": "Create a date time attribute according to the ISO 8601 standard.", "responses": { - "200": { - "description": "Index", + "202": { + "description": "AttributeDatetime", "schema": { - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/attributeDatetime" } } }, "deprecated": true, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 754, + "method": "createDatetimeAttribute", + "group": "attributes", + "weight": 732, "cookies": false, "type": "", - "demo": "databases\/get-index.md", + "demo": "databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getIndex" + "replaceWith": "tablesDB.createDatetimeColumn" }, "auth": { "Project": [] @@ -17577,45 +15637,81 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "key", - "description": "Index Key.", - "required": true, - "type": "string", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for the attribute in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] - }, - "delete": { - "summary": "Delete index", - "operationId": "databasesDeleteIndex", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime\/{key}": { + "patch": { + "summary": "Update datetime attribute", + "operationId": "databasesUpdateDatetimeAttribute", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ "databases" ], - "description": "Delete an index.", + "description": "Update a date time attribute. Changing the `default` value will not update already existing documents.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeDatetime", + "schema": { + "$ref": "#\/definitions\/attributeDatetime" + } } }, "deprecated": true, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 755, + "method": "updateDatetimeAttribute", + "group": "attributes", + "weight": 733, "cookies": false, "type": "", - "demo": "databases\/delete-index.md", + "demo": "databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17626,10 +15722,10 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.deleteIndex" + "replaceWith": "tablesDB.updateDatetimeColumn" }, "auth": { "Project": [] @@ -17652,7 +15748,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", @@ -17660,55 +15756,89 @@ }, { "name": "key", - "description": "Index Key.", + "description": "Attribute Key.", "required": true, "type": "string", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/logs": { - "get": { - "summary": "List collection logs", - "operationId": "databasesListCollectionLogs", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email": { + "post": { + "summary": "Create email attribute", + "operationId": "databasesCreateEmailAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get the collection activity logs list by its unique ID.", + "description": "Create an email attribute.\n", "responses": { - "200": { - "description": "Logs List", + "202": { + "description": "AttributeEmail", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/attributeEmail" } } }, "deprecated": true, "x-appwrite": { - "method": "listCollectionLogs", - "group": "collections", - "weight": 700, + "method": "createEmailAttribute", + "group": "attributes", + "weight": 734, "cookies": false, "type": "", - "demo": "databases\/list-collection-logs.md", + "demo": "databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listTableLogs" + "replaceWith": "tablesDB.createEmailColumn" }, "auth": { "Project": [] @@ -17716,7 +15846,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17737,61 +15868,88 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - } - ] + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } + } + ] } }, - "\/databases\/{databaseId}\/collections\/{collectionId}\/usage": { - "get": { - "summary": "Get collection usage stats", - "operationId": "databasesGetCollectionUsage", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email\/{key}": { + "patch": { + "summary": "Update email attribute", + "operationId": "databasesUpdateEmailAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Update an email attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "UsageCollection", + "description": "AttributeEmail", "schema": { - "$ref": "#\/definitions\/usageCollection" + "$ref": "#\/definitions\/attributeEmail" } } }, "deprecated": true, "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 701, + "method": "updateEmailAttribute", + "group": "attributes", + "weight": 735, "cookies": false, "type": "", - "demo": "databases\/get-collection-usage.md", + "demo": "databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getTableUsage" + "replaceWith": "tablesDB.updateEmailColumn" }, "auth": { "Project": [] @@ -17799,7 +15957,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17811,26 +15970,6 @@ "x-example": "<DATABASE_ID>", "in": "path" }, - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - }, { "name": "collectionId", "description": "Collection ID.", @@ -17838,89 +15977,101 @@ "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/databases\/{databaseId}\/logs": { - "get": { - "summary": "List database logs", - "operationId": "databasesListLogs", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum": { + "post": { + "summary": "Create enum attribute", + "operationId": "databasesCreateEnumAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get the database activity logs list by its unique ID.", + "description": "Create an enum attribute. The `elements` param acts as a white-list of accepted values for this attribute. \n", "responses": { - "200": { - "description": "Logs List", + "202": { + "description": "AttributeEnum", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/attributeEnum" } } }, "deprecated": true, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 692, + "method": "createEnumAttribute", + "group": "attributes", + "weight": 736, "cookies": false, "type": "", - "demo": "databases\/list-logs.md", + "demo": "databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.listDatabaseLogs" + "replaceWith": "tablesDB.createEnumColumn" }, - "methods": [ - { - "name": "listLogs", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "queries" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/logList" - } - ], - "description": "Get the database activity logs list by its unique ID.", - "demo": "databases\/list-logs.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.listDatabaseLogs" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -17933,99 +16084,113 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "elements": { + "type": "array", + "description": "Array of enum values.", + "x-example": null, + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "elements", + "required" + ] + } } ] } }, - "\/databases\/{databaseId}\/usage": { - "get": { - "summary": "Get database usage stats", - "operationId": "databasesGetUsage", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum\/{key}": { + "patch": { + "summary": "Update enum attribute", + "operationId": "databasesUpdateEnumAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "databases" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Update an enum attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "UsageDatabase", + "description": "AttributeEnum", "schema": { - "$ref": "#\/definitions\/usageDatabase" + "$ref": "#\/definitions\/attributeEnum" } } }, "deprecated": true, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 693, + "method": "updateEnumAttribute", + "group": "attributes", + "weight": 737, "cookies": false, "type": "", - "demo": "databases\/get-usage.md", + "demo": "databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", - "replaceWith": "tablesDB.getUsage" + "replaceWith": "tablesDB.updateEnumColumn" }, - "methods": [ - { - "name": "getUsage", - "namespace": "databases", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageDatabase" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "databases\/get-usage.md", - "public": true, - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.getUsage" - } - } - ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -18038,113 +16203,66 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - } - ] - } - }, - "\/documentsdb": { - "get": { - "summary": "List databases", - "operationId": "documentsDBList", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "documentsDB" - ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", - "responses": { - "200": { - "description": "Databases List", - "schema": { - "$ref": "#\/definitions\/databaseList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "list", - "group": "documentsdb", - "weight": 842, - "cookies": false, - "type": "", - "demo": "documentsdb\/list.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "x-example": "<COLLECTION_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "elements": { + "type": "array", + "description": "Updated list of enum values.", + "x-example": null, + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "elements", + "required", + "default" + ] + } } ] - }, + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float": { "post": { - "summary": "Create database", - "operationId": "documentsDBCreate", + "summary": "Create float attribute", + "operationId": "databasesCreateFloatAttribute", "consumes": [ "application\/json" ], @@ -18152,36 +16270,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new Database.\n", + "description": "Create a float attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { - "201": { - "description": "Database", + "202": { + "description": "AttributeFloat", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/attributeFloat" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "create", - "group": "documentsdb", - "weight": 838, + "method": "createFloatAttribute", + "group": "attributes", + "weight": 738, "cookies": false, "type": "", - "demo": "documentsdb\/create.md", + "demo": "databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createFloatColumn" + }, "auth": { "Project": [] } @@ -18194,79 +16316,119 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<DATABASE_ID>" - }, - "name": { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Attribute Key.", + "x-example": null }, - "enabled": { + "required": { "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, + "description": "Is attribute required?", "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false } }, "required": [ - "databaseId", - "name" + "key", + "required" ] } } ] } }, - "\/documentsdb\/transactions": { - "get": { - "summary": "List transactions", - "operationId": "documentsDBListTransactions", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float\/{key}": { + "patch": { + "summary": "Update float attribute", + "operationId": "databasesUpdateFloatAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "List transactions across all databases.", + "description": "Update a float attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Transaction List", + "description": "AttributeFloat", "schema": { - "$ref": "#\/definitions\/transactionList" + "$ref": "#\/definitions\/attributeFloat" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 870, + "method": "updateFloatAttribute", + "group": "attributes", + "weight": 739, "cookies": false, "type": "", - "demo": "documentsdb\/list-transactions.md", + "demo": "databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "server", - "client" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-transactions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateFloatColumn" + }, "auth": { "Project": [] } @@ -18274,29 +16436,85 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] - }, + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer": { "post": { - "summary": "Create transaction", - "operationId": "documentsDBCreateTransaction", + "summary": "Create integer attribute", + "operationId": "databasesCreateIntegerAttribute", "consumes": [ "application\/json" ], @@ -18304,37 +16522,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new transaction.", + "description": "Create an integer attribute. Optionally, minimum and maximum values can be provided.\n", "responses": { - "201": { - "description": "Transaction", + "202": { + "description": "AttributeInteger", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/attributeInteger" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 866, + "method": "createIntegerAttribute", + "group": "attributes", + "weight": 740, "cookies": false, "type": "", - "demo": "documentsdb\/create-transaction.md", + "demo": "databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createIntegerColumn" + }, "auth": { "Project": [] } @@ -18342,71 +16563,124 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "ttl": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { "type": "integer", - "description": "Seconds before the transaction expires.", - "default": 300, - "x-example": 60, - "format": "int32" + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] } }, - "\/documentsdb\/transactions\/{transactionId}": { - "get": { - "summary": "Get transaction", - "operationId": "documentsDBGetTransaction", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/integer\/{key}": { + "patch": { + "summary": "Update integer attribute", + "operationId": "databasesUpdateIntegerAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a transaction by its unique ID.", + "description": "Update an integer attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Transaction", + "description": "AttributeInteger", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/attributeInteger" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 867, + "method": "updateIntegerAttribute", + "group": "attributes", + "weight": 741, "cookies": false, "type": "", - "demo": "documentsdb\/get-transaction.md", + "demo": "databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "server", - "client" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateIntegerColumn" + }, "auth": { "Project": [] } @@ -18414,25 +16688,85 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] - }, - "patch": { - "summary": "Update transaction", - "operationId": "documentsDBUpdateTransaction", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip": { + "post": { + "summary": "Create IP address attribute", + "operationId": "databasesCreateIpAttribute", "consumes": [ "application\/json" ], @@ -18440,37 +16774,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Create IP address attribute.\n", "responses": { - "200": { - "description": "Transaction", + "202": { + "description": "AttributeIP", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/attributeIp" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 868, + "method": "createIpAttribute", + "group": "attributes", + "weight": 744, "cookies": false, "type": "", - "demo": "documentsdb\/update-transaction.md", + "demo": "databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createIpColumn" + }, "auth": { "Project": [] } @@ -18478,18 +16815,24 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -18498,59 +16841,83 @@ "schema": { "type": "object", "properties": { - "commit": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { "type": "boolean", - "description": "Commit transaction?", - "default": false, + "description": "Is attribute required?", "x-example": false }, - "rollback": { + "default": { + "type": "string", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "x-nullable": true + }, + "array": { "type": "boolean", - "description": "Rollback transaction?", - "default": false, - "x-example": false + "description": "Is attribute an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] - }, - "delete": { - "summary": "Delete transaction", - "operationId": "documentsDBDeleteTransaction", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip\/{key}": { + "patch": { + "summary": "Update IP address attribute", + "operationId": "databasesUpdateIpAttribute", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a transaction by its unique ID.", + "description": "Update an ip attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeIP", + "schema": { + "$ref": "#\/definitions\/attributeIp" + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 869, + "method": "updateIpAttribute", + "group": "attributes", + "weight": 745, "cookies": false, "type": "", - "demo": "documentsdb\/delete-transaction.md", + "demo": "databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "collections.write", "platforms": [ "console", - "server", - "client" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateIpColumn" + }, "auth": { "Project": [] } @@ -18558,156 +16925,215 @@ "security": [ { "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value. Cannot be set when attribute is required.", + "x-example": null, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/documentsdb\/usage": { - "get": { - "summary": "Get DocumentsDB usage stats", - "operationId": "documentsDBListUsage", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line": { + "post": { + "summary": "Create line attribute", + "operationId": "databasesCreateLineAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a geometric line attribute.", "responses": { - "200": { - "description": "UsageDatabases", + "202": { + "description": "AttributeLine", "schema": { - "$ref": "#\/definitions\/usageDatabases" + "$ref": "#\/definitions\/attributeLine" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 844, + "method": "createLineAttribute", + "group": "attributes", + "weight": 746, "cookies": false, "type": "", - "demo": "documentsdb\/list-usage.md", + "demo": "databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "documentsdb\/list-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createLineColumn" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } } ] } }, - "\/documentsdb\/{databaseId}": { - "get": { - "summary": "Get database", - "operationId": "documentsDBGet", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/line\/{key}": { + "patch": { + "summary": "Update line attribute", + "operationId": "databasesUpdateLineAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Update a line attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Database", + "description": "AttributeLine", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/attributeLine" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "get", - "group": "documentsdb", - "weight": 839, + "method": "updateLineAttribute", + "group": "attributes", + "weight": 747, "cookies": false, "type": "", - "demo": "documentsdb\/get.md", + "demo": "databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateLineColumn" + }, "auth": { "Project": [] } @@ -18726,12 +17152,58 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } } ] - }, - "put": { - "summary": "Update database", - "operationId": "documentsDBUpdate", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext": { + "post": { + "summary": "Create longtext attribute", + "operationId": "databasesCreateLongtextAttribute", "consumes": [ "application\/json" ], @@ -18739,36 +17211,36 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Update a database by its unique ID.", + "description": "Create a longtext attribute.\n", "responses": { - "200": { - "description": "Database", + "202": { + "description": "AttributeLongtext", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/attributeLongtext" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "documentsdb", - "weight": 840, + "method": "createLongtextAttribute", + "group": "attributes", + "weight": 764, "cookies": false, "type": "", - "demo": "documentsdb\/update.md", + "demo": "databases\/create-longtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-longtext-attribute.md", "auth": { "Project": [] } @@ -18788,67 +17260,99 @@ "x-example": "<DATABASE_ID>", "in": "path" }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "key": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Attribute Key.", + "x-example": null }, - "enabled": { + "required": { "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, + "description": "Is attribute required?", "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false, + "default": false } }, "required": [ - "name" + "key", + "required" ] } } ] - }, - "delete": { - "summary": "Delete database", - "operationId": "documentsDBDelete", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/longtext\/{key}": { + "patch": { + "summary": "Update longtext attribute", + "operationId": "databasesUpdateLongtextAttribute", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": "Update a longtext attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeLongtext", + "schema": { + "$ref": "#\/definitions\/attributeLongtext" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "documentsdb", - "weight": 841, + "method": "updateLongtextAttribute", + "group": "attributes", + "weight": 765, "cookies": false, "type": "", - "demo": "documentsdb\/delete.md", + "demo": "databases\/update-longtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-longtext-attribute.md", "auth": { "Project": [] } @@ -18867,49 +17371,96 @@ "type": "string", "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/documentsdb\/{databaseId}\/collections": { - "get": { - "summary": "List collections", - "operationId": "documentsDBListCollections", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext": { + "post": { + "summary": "Create mediumtext attribute", + "operationId": "databasesCreateMediumtextAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "Create a mediumtext attribute.\n", "responses": { - "200": { - "description": "Collections List", + "202": { + "description": "AttributeMediumtext", "schema": { - "$ref": "#\/definitions\/collectionList" + "$ref": "#\/definitions\/attributeMediumtext" } } }, "deprecated": false, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 849, + "method": "createMediumtextAttribute", + "group": "attributes", + "weight": 762, "cookies": false, "type": "", - "demo": "documentsdb\/list-collections.md", + "demo": "databases\/create-mediumtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-collections.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-mediumtext-attribute.md", "auth": { "Project": [] } @@ -18930,66 +17481,87 @@ "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<COLLECTION_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - }, - "post": { - "summary": "Create collection", - "operationId": "documentsDBCreateCollection", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "documentsDB" - ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } + } + ] + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/mediumtext\/{key}": { + "patch": { + "summary": "Update mediumtext attribute", + "operationId": "databasesUpdateMediumtextAttribute", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "databases" + ], + "description": "Update a mediumtext attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "201": { - "description": "Collection", + "200": { + "description": "AttributeMediumtext", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/attributeMediumtext" } } }, "deprecated": false, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 845, + "method": "updateMediumtextAttribute", + "group": "attributes", + "weight": 763, "cookies": false, "type": "", - "demo": "documentsdb\/create-collection.md", + "demo": "databases\/update-mediumtext-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19000,7 +17572,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-mediumtext-attribute.md", "auth": { "Project": [] } @@ -19020,113 +17592,99 @@ "x-example": "<DATABASE_ID>", "in": "path" }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "collectionId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<COLLECTION_ID>" - }, - "name": { - "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { + "required": { "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, + "description": "Is attribute required?", "x-example": false }, - "attributes": { - "type": "array", - "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], + "newKey": { + "type": "string", + "description": "New Attribute Key.", "x-example": null, - "items": { - "type": "object" - } + "x-nullable": true } }, "required": [ - "collectionId", - "name" + "required", + "default" ] } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}": { - "get": { - "summary": "Get collection", - "operationId": "documentsDBGetCollection", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point": { + "post": { + "summary": "Create point attribute", + "operationId": "databasesCreatePointAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": "Create a geometric point attribute.", "responses": { - "200": { - "description": "Collection", + "202": { + "description": "AttributePoint", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/attributePoint" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 846, + "method": "createPointAttribute", + "group": "attributes", + "weight": 748, "cookies": false, "type": "", - "demo": "documentsdb\/get-collection.md", + "demo": "databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createPointColumn" + }, "auth": { "Project": [] } @@ -19148,17 +17706,48 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", + "x-example": "[1, 2]", + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } } ] - }, - "put": { - "summary": "Update collection", - "operationId": "documentsDBUpdateCollection", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/point\/{key}": { + "patch": { + "summary": "Update point attribute", + "operationId": "databasesUpdatePointAttribute", "consumes": [ "application\/json" ], @@ -19166,25 +17755,25 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Update a collection by its unique ID.", + "description": "Update a point attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Collection", + "description": "AttributePoint", "schema": { - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/attributePoint" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 847, + "method": "updatePointAttribute", + "group": "attributes", + "weight": 749, "cookies": false, "type": "", - "demo": "documentsdb\/update-collection.md", + "demo": "databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19195,7 +17784,11 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updatePointColumn" + }, "auth": { "Project": [] } @@ -19217,83 +17810,81 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "documentSecurity": { + "required": { "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, + "description": "Is attribute required?", "x-example": false }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "default": { + "type": "array", + "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", + "x-example": "[1, 2]", + "x-nullable": true }, - "purge": { - "type": "boolean", - "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "name" + "required" ] } } ] - }, - "delete": { - "summary": "Delete collection", - "operationId": "documentsDBDeleteCollection", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon": { + "post": { + "summary": "Create polygon attribute", + "operationId": "databasesCreatePolygonAttribute", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Create a geometric polygon attribute.", "responses": { - "204": { - "description": "No content" + "202": { + "description": "AttributePolygon", + "schema": { + "$ref": "#\/definitions\/attributePolygon" + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 848, + "method": "createPolygonAttribute", + "group": "attributes", + "weight": 750, "cookies": false, "type": "", - "demo": "documentsdb\/delete-collection.md", + "demo": "databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19304,7 +17895,11 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createPolygonColumn" + }, "auth": { "Project": [] } @@ -19326,55 +17921,89 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents": { - "get": { - "summary": "List documents", - "operationId": "documentsDBListDocuments", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/polygon\/{key}": { + "patch": { + "summary": "Update polygon attribute", + "operationId": "databasesUpdatePolygonAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "Update a polygon attribute. Changing the `default` value will not update already existing documents.", "responses": { "200": { - "description": "Documents List", + "description": "AttributePolygon", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/attributePolygon" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 906, + "method": "updatePolygonAttribute", + "group": "attributes", + "weight": 751, "cookies": false, "type": "", - "demo": "documentsdb\/list-documents.md", + "demo": "databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updatePolygonColumn" + }, "auth": { "Project": [] } @@ -19382,9 +18011,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -19398,56 +18025,55 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#createCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, + "name": "key", + "description": "Attribute Key.", + "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "in": "path" }, { - "name": "ttl", - "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New attribute key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } } ] - }, + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship": { "post": { - "summary": "Create document", - "operationId": "documentsDBCreateDocument", + "summary": "Create relationship attribute", + "operationId": "databasesCreateRelationshipAttribute", "consumes": [ "application\/json" ], @@ -19455,96 +18081,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Create relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", "responses": { - "201": { - "description": "Document", + "202": { + "description": "AttributeRelationship", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeRelationship" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createDocument", - "group": "documents", - "weight": 855, + "method": "createRelationshipAttribute", + "group": "attributes", + "weight": 752, "cookies": false, "type": "", - "demo": "documentsdb\/create-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-relationship-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-document.md", - "methods": [ - { - "name": "createDocument", - "namespace": "documentsDB", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/create-document.md", - "public": true - }, - { - "name": "createDocuments", - "namespace": "documentsDB", - "desc": "Create documents", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/documentList" - } - ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/create-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRelationshipColumn" + }, "auth": { "Project": [] } @@ -19552,9 +18122,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -19568,7 +18136,7 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", @@ -19580,50 +18148,69 @@ "schema": { "type": "object", "properties": { - "documentId": { + "relatedCollectionId": { "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "description": "Related Collection ID.", + "x-example": "<RELATED_COLLECTION_ID>" }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "type": { + "type": "string", + "description": "Relation type", + "x-example": "oneToOne", + "enum": [ + "oneToOne", + "manyToOne", + "manyToMany", + "oneToMany" + ], + "x-enum-name": "RelationshipType", + "x-enum-keys": [] }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "twoWay": { + "type": "boolean", + "description": "Is Two Way?", + "x-example": false, + "default": false }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", - "default": [], + "key": { + "type": "string", + "description": "Attribute Key.", "x-example": null, - "items": { - "type": "object" - } + "x-nullable": true }, - "transactionId": { + "twoWayKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Two Way Attribute Key.", + "x-example": null, + "x-nullable": true + }, + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "default": "restrict", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] } - } + }, + "required": [ + "relatedCollectionId", + "type" + ] } } ] - }, - "put": { - "summary": "Upsert documents", - "operationId": "documentsDBUpsertDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship\/{key}": { + "patch": { + "summary": "Update relationship attribute", + "operationId": "databasesUpdateRelationshipAttribute", "consumes": [ "application\/json" ], @@ -19631,66 +18218,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "description": "Update relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n", "responses": { - "201": { - "description": "Documents List", + "200": { + "description": "AttributeRelationship", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/attributeRelationship" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 860, + "method": "updateRelationshipAttribute", + "group": "attributes", + "weight": 753, "cookies": false, "type": "", - "demo": "documentsdb\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-relationship-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-documents.md", - "methods": [ - { - "name": "upsertDocuments", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/documentList" - } - ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", - "demo": "documentsdb\/upsert-documents.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRelationshipColumn" + }, "auth": { "Project": [] } @@ -19718,38 +18279,47 @@ "x-example": "<COLLECTION_ID>", "in": "path" }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, - "x-example": null, - "items": { - "type": "object" - } + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] }, - "transactionId": { + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - }, - "required": [ - "documents" - ] + } } } ] - }, - "patch": { - "summary": "Update documents", - "operationId": "documentsDBUpdateDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string": { + "post": { + "summary": "Create string attribute", + "operationId": "databasesCreateStringAttribute", "consumes": [ "application\/json" ], @@ -19757,36 +18327,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Create a string attribute.\n", "responses": { - "200": { - "description": "Documents List", + "202": { + "description": "AttributeString", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/attributeString" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 858, + "method": "createStringAttribute", + "group": "attributes", + "weight": 754, "cookies": false, "type": "", - "demo": "documentsdb\/update-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-string-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createStringColumn" + }, "auth": { "Project": [] } @@ -19808,7 +18382,7 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", @@ -19820,35 +18394,55 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{}" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "size": { + "type": "integer", + "description": "Attribute size for text attributes, in number of characters.", + "x-example": 1, + "format": "int32" }, - "transactionId": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "size", + "required" + ] } } ] - }, - "delete": { - "summary": "Delete documents", - "operationId": "documentsDBDeleteDocuments", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string\/{key}": { + "patch": { + "summary": "Update string attribute", + "operationId": "databasesUpdateStringAttribute", "consumes": [ "application\/json" ], @@ -19856,36 +18450,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Update a string attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Documents List", + "description": "AttributeString", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/attributeString" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 862, + "method": "updateStringAttribute", + "group": "attributes", + "weight": 755, "cookies": false, "type": "", - "demo": "documentsdb\/delete-documents.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-string-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-documents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateStringColumn" + }, "auth": { "Project": [] } @@ -19907,79 +18505,100 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, + { + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "transactionId": { + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "size": { + "type": "integer", + "description": "Maximum size of the string attribute.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { - "get": { - "summary": "Get document", - "operationId": "documentsDBGetDocument", - "consumes": [], + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text": { + "post": { + "summary": "Create text attribute", + "operationId": "databasesCreateTextAttribute", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "description": "Create a text attribute.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeText", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeText" } } }, "deprecated": false, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 856, + "method": "createTextAttribute", + "group": "attributes", + "weight": 760, "cookies": false, "type": "", - "demo": "documentsdb\/get-document.md", + "demo": "databases\/create-text-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-text-attribute.md", "auth": { "Project": [] } @@ -19987,9 +18606,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20010,108 +18627,90 @@ "in": "path" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" - } - ] - }, - "put": { - "summary": "Upsert a document", - "operationId": "documentsDBUpsertDocument", - "consumes": [ - "application\/json" - ], - "produces": [ + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } + } + ] + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/text\/{key}": { + "patch": { + "summary": "Update text attribute", + "operationId": "databasesUpdateTextAttribute", + "consumes": [ + "application\/json" + ], + "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Update a text attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "201": { - "description": "Document", + "200": { + "description": "AttributeText", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeText" } } }, "deprecated": false, "x-appwrite": { - "method": "upsertDocument", - "group": "documents", - "weight": 859, + "method": "updateTextAttribute", + "group": "attributes", + "weight": 761, "cookies": false, "type": "", - "demo": "documentsdb\/upsert-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-text-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-document.md", - "methods": [ - { - "name": "upsertDocument", - "namespace": "documentsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "documentsdb\/upsert-document.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-text-attribute.md", "auth": { "Project": [] } @@ -20119,9 +18718,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20135,18 +18732,17 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", - "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -20155,35 +18751,37 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "transactionId": { + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] - }, - "patch": { - "summary": "Update document", - "operationId": "documentsDBUpdateDocument", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url": { + "post": { + "summary": "Create URL attribute", + "operationId": "databasesCreateUrlAttribute", "consumes": [ "application\/json" ], @@ -20191,37 +18789,40 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Create a URL attribute.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeURL", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeUrl" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateDocument", - "group": "documents", - "weight": 857, + "method": "createUrlAttribute", + "group": "attributes", + "weight": 756, "cookies": false, "type": "", - "demo": "documentsdb\/update-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-url-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createUrlColumn" + }, "auth": { "Project": [] } @@ -20229,9 +18830,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20251,82 +18850,90 @@ "x-example": "<COLLECTION_ID>", "in": "path" }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "transactionId": { + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] - }, - "delete": { - "summary": "Delete document", - "operationId": "documentsDBDeleteDocument", + } + }, + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url\/{key}": { + "patch": { + "summary": "Update URL attribute", + "operationId": "databasesUpdateUrlAttribute", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "documentsDB" + "databases" ], - "description": "Delete a document by its unique ID.", + "description": "Update an url attribute. Changing the `default` value will not update already existing documents.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "AttributeURL", + "schema": { + "$ref": "#\/definitions\/attributeUrl" + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteDocument", - "group": "documents", - "weight": 861, + "method": "updateUrlAttribute", + "group": "attributes", + "weight": 757, "cookies": false, "type": "", - "demo": "documentsdb\/delete-document.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-url-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateUrlColumn" + }, "auth": { "Project": [] } @@ -20334,9 +18941,7 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ @@ -20350,18 +18955,17 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "documentId", - "description": "Document ID.", + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", - "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -20370,22 +18974,38 @@ "schema": { "type": "object", "properties": { - "transactionId": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { - "patch": { - "summary": "Decrement document attribute", - "operationId": "documentsDBDecrementDocumentAttribute", + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar": { + "post": { + "summary": "Create varchar attribute", + "operationId": "databasesCreateVarcharAttribute", "consumes": [ "application\/json" ], @@ -20393,37 +19013,36 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Decrement a specific column of a row by a given value.", + "description": "Create a varchar attribute.\n", "responses": { - "200": { - "description": "Document", + "202": { + "description": "AttributeVarchar", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeVarchar" } } }, "deprecated": false, "x-appwrite": { - "method": "decrementDocumentAttribute", - "group": "documents", - "weight": 865, + "method": "createVarcharAttribute", + "group": "attributes", + "weight": 758, "cookies": false, "type": "", - "demo": "documentsdb\/decrement-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/create-varchar-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/decrement-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-varchar-attribute.md", "auth": { "Project": [] } @@ -20431,8 +19050,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -20447,63 +19064,67 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to decrement the attribute by. The value must be a number.", - "default": 1, - "x-example": null, - "format": "float" + "key": { + "type": "string", + "description": "Attribute Key.", + "x-example": null }, - "min": { - "type": "number", - "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, - "x-example": null, - "format": "float" + "size": { + "type": "integer", + "description": "Attribute size for varchar attributes, in number of characters. Maximum size is 16381.", + "x-example": 1, + "format": "int32" }, - "transactionId": { + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is attribute an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "size", + "required" + ] } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/varchar\/{key}": { "patch": { - "summary": "Increment document attribute", - "operationId": "documentsDBIncrementDocumentAttribute", + "summary": "Update varchar attribute", + "operationId": "databasesUpdateVarcharAttribute", "consumes": [ "application\/json" ], @@ -20511,37 +19132,36 @@ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Increment a specific column of a row by a given value.", + "description": "Update a varchar attribute. Changing the `default` value will not update already existing documents.\n", "responses": { "200": { - "description": "Document", + "description": "AttributeVarchar", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/attributeVarchar" } } }, "deprecated": false, "x-appwrite": { - "method": "incrementDocumentAttribute", - "group": "documents", - "weight": 864, + "method": "updateVarcharAttribute", + "group": "attributes", + "weight": 759, "cookies": false, "type": "", - "demo": "documentsdb\/increment-document-attribute.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "databases\/update-varchar-attribute.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", "platforms": [ - "client", - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/increment-document-attribute.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-varchar-attribute.md", "auth": { "Project": [] } @@ -20549,8 +19169,6 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [], "Key": [] } ], @@ -20565,23 +19183,15 @@ }, { "name": "collectionId", - "description": "Collection ID.", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, - { - "name": "attribute", - "description": "Attribute key.", + "name": "key", + "description": "Attribute Key.", "required": true, "type": "string", "in": "path" @@ -20592,60 +19202,150 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, - "x-example": null, - "format": "float" + "required": { + "type": "boolean", + "description": "Is attribute required?", + "x-example": false }, - "max": { - "type": "number", - "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, - "x-example": null, - "format": "float" + "default": { + "type": "string", + "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "transactionId": { + "size": { + "type": "integer", + "description": "Maximum size of the varchar attribute.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "New Attribute Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}": { "get": { - "summary": "List indexes", - "operationId": "documentsDBListIndexes", + "summary": "Get attribute", + "operationId": "databasesGetAttribute", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "List indexes in the collection.", + "description": "Get attribute by ID.", "responses": { "200": { - "description": "Indexes List", + "description": "AttributeBoolean, or AttributeInteger, or AttributeFloat, or AttributeEmail, or AttributeEnum, or AttributeURL, or AttributeIP, or AttributeDatetime, or AttributeRelationship, or AttributeString", "schema": { - "$ref": "#\/definitions\/indexList" + "x-oneOf": [ + { + "$ref": "#\/definitions\/attributeBoolean" + }, + { + "$ref": "#\/definitions\/attributeInteger" + }, + { + "$ref": "#\/definitions\/attributeFloat" + }, + { + "$ref": "#\/definitions\/attributeEmail" + }, + { + "$ref": "#\/definitions\/attributeEnum" + }, + { + "$ref": "#\/definitions\/attributeUrl" + }, + { + "$ref": "#\/definitions\/attributeIp" + }, + { + "$ref": "#\/definitions\/attributeDatetime" + }, + { + "$ref": "#\/definitions\/attributeRelationship" + }, + { + "$ref": "#\/definitions\/attributeString" + } + ], + "x-discriminator": { + "propertyName": "type", + "mapping": { + "boolean": "#\/definitions\/attributeBoolean", + "integer": "#\/definitions\/attributeInteger", + "double": "#\/definitions\/attributeFloat", + "string": "#\/definitions\/attributeString", + "datetime": "#\/definitions\/attributeDatetime", + "relationship": "#\/definitions\/attributeRelationship" + }, + "x-propertyNames": [ + "type", + "format" + ], + "x-mapping": { + "#\/definitions\/attributeBoolean": { + "type": "boolean" + }, + "#\/definitions\/attributeInteger": { + "type": "integer" + }, + "#\/definitions\/attributeFloat": { + "type": "double" + }, + "#\/definitions\/attributeEmail": { + "type": "string", + "format": "email" + }, + "#\/definitions\/attributeEnum": { + "type": "string", + "format": "enum" + }, + "#\/definitions\/attributeUrl": { + "type": "string", + "format": "url" + }, + "#\/definitions\/attributeIp": { + "type": "string", + "format": "ip" + }, + "#\/definitions\/attributeDatetime": { + "type": "datetime" + }, + "#\/definitions\/attributeRelationship": { + "type": "relationship" + }, + "#\/definitions\/attributeString": { + "type": "string" + } + } + } } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 854, + "method": "getAttribute", + "group": "attributes", + "weight": 727, "cookies": false, "type": "", - "demo": "documentsdb\/list-indexes.md", + "demo": "databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20656,7 +19356,11 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getColumn" + }, "auth": { "Project": [] } @@ -20678,64 +19382,45 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" } ] }, - "post": { - "summary": "Create index", - "operationId": "documentsDBCreateIndex", + "delete": { + "summary": "Delete attribute", + "operationId": "databasesDeleteAttribute", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "documentsDB" + "databases" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Deletes an attribute.", "responses": { - "202": { - "description": "Index", - "schema": { - "$ref": "#\/definitions\/index" - } + "204": { + "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 851, + "method": "deleteAttribute", + "group": "attributes", + "weight": 728, "cookies": false, "type": "", - "demo": "documentsdb\/create-index.md", + "demo": "databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20746,7 +19431,11 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteColumn" + }, "auth": { "Project": [] } @@ -20768,120 +19457,66 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Index Key.", - "default": null, - "x-example": null - }, - "type": { - "type": "string", - "description": "Index type.", - "default": null, - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique" - ], - "x-enum-name": "DocumentsDBIndexType", - "x-enum-keys": [] - }, - "attributes": { - "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } - }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "default": [], - "x-example": null, - "items": { - "type": "integer" - } - } - }, - "required": [ - "key", - "type", - "attributes" - ] - } + "name": "key", + "description": "Attribute Key.", + "required": true, + "type": "string", + "in": "path" } ] } }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents": { "get": { - "summary": "Get index", - "operationId": "documentsDBGetIndex", + "summary": "List documents", + "operationId": "databasesListDocuments", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get index by ID.", + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", "responses": { "200": { - "description": "Index", + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/documentList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 852, + "method": "listDocuments", + "group": "documents", + "weight": 918, "cookies": false, "type": "", - "demo": "documentsdb\/get-index.md", + "demo": "databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "documents.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listRows" + }, "auth": { "Project": [] } @@ -20889,7 +19524,9 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ @@ -20910,49 +19547,160 @@ "in": "path" }, { - "name": "key", - "description": "Index Key.", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, "type": "string", - "in": "path" + "x-example": "<TRANSACTION_ID>", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] }, - "delete": { - "summary": "Delete index", - "operationId": "documentsDBDeleteIndex", + "post": { + "summary": "Create document", + "operationId": "databasesCreateDocument", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "documentsDB" + "databases" ], - "description": "Delete an index.", + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Document", + "schema": { + "$ref": "#\/definitions\/document" + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 853, + "method": "createDocument", + "group": "documents", + "weight": 715, "cookies": false, "type": "", - "demo": "documentsdb\/delete-index.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "demo": "databases\/create-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRow" + }, + "methods": [ + { + "name": "createDocument", + "namespace": "databases", + "desc": "Create document", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/create-document.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRow" + } + }, + { + "name": "createDocuments", + "namespace": "databases", + "desc": "Create documents", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/create-documents.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createRows" + } + } + ], "auth": { "Project": [] } @@ -20960,7 +19708,9 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ @@ -20974,171 +19724,135 @@ }, { "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", "required": true, "type": "string", "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "key", - "description": "Index Key.", - "required": true, - "type": "string", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "documentId": { + "type": "string", + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>", + "default": "" + }, + "data": { + "type": "object", + "description": "Document data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] - } - }, - "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/usage": { - "get": { - "summary": "Get collection usage stats", - "operationId": "documentsDBGetCollectionUsage", - "consumes": [], - "produces": [ + }, + "put": { + "summary": "Upsert documents", + "operationId": "databasesUpsertDocuments", + "consumes": [ "application\/json" ], - "tags": [ - "documentsDB" - ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "responses": { - "200": { - "description": "UsageCollection", - "schema": { - "$ref": "#\/definitions\/usageCollection" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 850, - "cookies": false, - "type": "", - "demo": "documentsdb\/get-collection-usage.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection-usage.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - } - ] - } - }, - "\/documentsdb\/{databaseId}\/usage": { - "get": { - "summary": "Get DocumentsDB usage stats", - "operationId": "documentsDBGetUsage", - "consumes": [], "produces": [ "application\/json" ], "tags": [ - "documentsDB" + "databases" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", "responses": { - "200": { - "description": "UsageDocumentsDB", + "201": { + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/usageDocumentsDB" + "$ref": "#\/definitions\/documentList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 843, + "method": "upsertDocuments", + "group": "documents", + "weight": 720, "cookies": false, "type": "", - "demo": "documentsdb\/get-usage.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "demo": "databases\/upsert-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-database-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRows" + }, "methods": [ { - "name": "getUsage", - "namespace": "documentsDB", + "name": "upsertDocuments", + "namespace": "databases", "desc": "", "auth": { "Project": [] }, "parameters": [ "databaseId", - "range" + "collectionId", + "documents", + "transactionId" ], "required": [ - "databaseId" + "databaseId", + "collectionId", + "documents" ], "responses": [ { - "code": 200, - "model": "#\/definitions\/usageDocumentsDB" + "code": 201, + "model": "#\/definitions\/documentList" } ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "documentsdb\/get-usage.md", - "public": true + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n", + "demo": "databases\/upsert-documents.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRows" + } } ], "auth": { @@ -21147,7 +19861,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -21160,101 +19875,147 @@ "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "documents": { + "type": "array", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + }, + "required": [ + "documents" + ] + } } ] - } - }, - "\/domains": { - "get": { - "summary": "List domains", - "operationId": "domainsList", - "consumes": [], + }, + "patch": { + "summary": "Update documents", + "operationId": "databasesUpdateDocuments", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " List all domains registered for this project. This endpoint supports pagination.", + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", "responses": { "200": { - "description": "Domains list", + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/domainsList" + "$ref": "#\/definitions\/documentList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "list", - "group": null, - "weight": 930, + "method": "updateDocuments", + "group": "documents", + "weight": 718, "cookies": false, "type": "", - "demo": "domains\/list.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "demo": "databases\/update-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRows" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on attributes such as domain name, teamInternalId, expiration, etc.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "collectionId", + "description": "Collection ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] }, - "post": { - "summary": "Create a new domain.", - "operationId": "domainsCreate", + "delete": { + "summary": "Delete documents", + "operationId": "databasesDeleteDocuments", "consumes": [ "application\/json" ], @@ -21262,159 +20023,200 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Create a new domain. Before creating a domain, you need to ensure that your DNS provider is properly configured. After creating the domain, you can use the verification endpoint to check if the domain is ready to be used.", + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", "responses": { - "201": { - "description": "Domain", + "200": { + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/documentList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "create", - "group": null, - "weight": 925, + "method": "deleteDocuments", + "group": "documents", + "weight": 722, "cookies": false, "type": "", - "demo": "domains\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "databases\/delete-documents.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteRows" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "teamId": { - "type": "string", - "description": "Team unique ID.", - "default": null, - "x-example": "<TEAM_ID>" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "domain": { + "transactionId": { "type": "string", - "description": "Domain name (e.g. \"example.com\").", - "default": null, - "x-example": null + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "teamId", - "domain" - ] + } } } ] } }, - "\/domains\/price": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { "get": { - "summary": "Get domain price", - "operationId": "domainsGetPrice", + "summary": "Get document", + "operationId": "databasesGetDocument", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Get the registration price for a domain name.", + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", "responses": { "200": { - "description": "DomainPrice", + "description": "Document", "schema": { - "$ref": "#\/definitions\/domainPrice" + "$ref": "#\/definitions\/document" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getPrice", - "group": null, - "weight": 928, + "method": "getDocument", + "group": "documents", + "weight": 716, "cookies": false, "type": "", - "demo": "domains\/get-price.md", + "demo": "databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "documents.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getRow" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domain", - "description": "Domain name to get price for.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "periodYears", - "description": "Number of years to calculate the domain price for. Must be at least 1.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", "required": false, - "type": "integer", - "format": "uint32", - "default": 1, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], "in": "query" }, { - "name": "registrationType", - "description": "Type of registration pricing to fetch. Allowed values: new, transfer, renewal, trade.", + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", "required": false, "type": "string", - "x-example": "new", - "enum": [ - "new", - "transfer", - "renewal", - "trade" - ], - "x-enum-name": null, - "x-enum-keys": [], - "default": "new", + "x-example": "<TRANSACTION_ID>", "in": "query" } ] - } - }, - "\/domains\/purchases": { - "post": { - "summary": "Create a domain purchase", - "operationId": "domainsCreatePurchase", + }, + "put": { + "summary": "Upsert a document", + "operationId": "databasesUpsertDocument", "consumes": [ "application\/json" ], @@ -21422,145 +20224,149 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain purchase by providing registrant details and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Purchase endpoint to capture the payment and finalize the purchase.", + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", "responses": { "201": { - "description": "DomainPurchase", + "description": "Document", "schema": { - "$ref": "#\/definitions\/domainPurchase" + "$ref": "#\/definitions\/document" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createPurchase", - "group": null, - "weight": 975, + "method": "upsertDocument", + "group": "documents", + "weight": 719, "cookies": false, "type": "", - "demo": "domains\/create-purchase.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "demo": "databases\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRow" + }, + "methods": [ + { + "name": "upsertDocument", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.", + "demo": "databases\/upsert-document.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.upsertRow" + } + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "domain": { - "type": "string", - "description": "Fully qualified domain name to purchase (for example, example.com).", - "default": null, - "x-example": null - }, - "organizationId": { - "type": "string", - "description": "Team ID that will own the domain.", - "default": null, - "x-example": "<ORGANIZATION_ID>" - }, - "firstName": { - "type": "string", - "description": "Registrant first name used for domain registration.", - "default": null, - "x-example": "<FIRST_NAME>" - }, - "lastName": { - "type": "string", - "description": "Registrant last name used for domain registration.", - "default": null, - "x-example": "<LAST_NAME>" - }, - "email": { - "type": "string", - "description": "Registrant email address for registration and notices.", - "default": null, - "x-example": "email@example.com", - "format": "email" - }, - "phone": { - "type": "string", - "description": "Registrant phone number in E.164 format (for example, +15555551234).", - "default": null, - "x-example": "+12065550100", - "format": "phone" - }, - "billingAddressId": { - "type": "string", - "description": "Billing address ID used for registration contact details.", - "default": null, - "x-example": "<BILLING_ADDRESS_ID>" - }, - "addressLine3": { - "type": "string", - "description": "Additional address line for the registrant (line 3).", - "default": "", - "x-example": "<ADDRESS_LINE3>" - }, - "companyName": { - "type": "string", - "description": "Company or organization name for the registrant.", - "default": "", - "x-example": "<COMPANY_NAME>" - }, - "periodYears": { - "type": "integer", - "description": "Registration term in years (1-10).", - "default": 1, - "x-example": 1, - "format": "int32" + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, - "autoRenewal": { - "type": "boolean", - "description": "Whether the domain should renew automatically after purchase.", - "default": true, - "x-example": false + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } }, - "paymentMethodId": { + "transactionId": { "type": "string", - "description": "Payment method ID to authorize and capture the purchase.", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "domain", - "organizationId", - "firstName", - "lastName", - "email", - "phone", - "billingAddressId", - "paymentMethodId" - ] + } } } ] - } - }, - "\/domains\/purchases\/{invoiceId}": { + }, "patch": { - "summary": "Confirm a domain purchase", - "operationId": "domainsUpdatePurchase", + "summary": "Update document", + "operationId": "databasesUpdateDocument", "consumes": [ "application\/json" ], @@ -21568,50 +20374,185 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Finalize a domain purchase initiated with Create Purchase. Verifies that any required 3D Secure authentication is complete, registers the domain, captures the payment, and provisions default DNS records. Returns a 402 error if authentication is still pending.", + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { "200": { - "description": "DomainPurchase", + "description": "Document", "schema": { - "$ref": "#\/definitions\/domainPurchase" + "$ref": "#\/definitions\/document" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updatePurchase", - "group": null, - "weight": 976, + "method": "updateDocument", + "group": "documents", + "weight": 717, "cookies": false, "type": "", - "demo": "domains\/update-purchase.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "demo": "databases\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.updateRow" + }, "auth": { "Project": [] } }, "security": [ { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } + } + ] + }, + "delete": { + "summary": "Delete document", + "operationId": "databasesDeleteDocument", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "databases" + ], + "description": "Delete a document by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": true, + "x-appwrite": { + "method": "deleteDocument", + "group": "documents", + "weight": 721, + "cookies": false, + "type": "", + "demo": "databases\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteRow" + }, + "auth": { "Project": [] } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } ], "parameters": [ { - "name": "invoiceId", - "description": "Invoice ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INVOICE_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -21620,58 +20561,60 @@ "schema": { "type": "object", "properties": { - "organizationId": { + "transactionId": { "type": "string", - "description": "Team ID that owns the domain.", - "default": null, - "x-example": "<ORGANIZATION_ID>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "organizationId" - ] + } } } ] } }, - "\/domains\/suggestions": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/logs": { "get": { - "summary": "List domain suggestions", - "operationId": "domainsListSuggestions", + "summary": "List document logs", + "operationId": "databasesListDocumentLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " List domain suggestions.", + "description": "Get the document activity logs list by its unique ID.", "responses": { "200": { - "description": "Domain suggestions list", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/domainSuggestionsList" + "$ref": "#\/definitions\/logList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listSuggestions", - "group": null, - "weight": 974, + "method": "listDocumentLogs", + "group": "logs", + "weight": 724, "cookies": false, "type": "", - "demo": "domains\/list-suggestions.md", - "rate-limit": 50, + "demo": "databases\/list-document-logs.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "documents.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listRowLogs" + }, "auth": { "Project": [] } @@ -21683,16 +20626,32 @@ ], "parameters": [ { - "name": "query", - "description": "Query to find available domains and suggestions. Max length: 256 chars.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<QUERY>", - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "tlds", - "description": "TLDs to suggest.", + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "type": "array", "collectionFormat": "multi", @@ -21701,52 +20660,14 @@ }, "default": [], "in": "query" - }, - { - "name": "limit", - "description": "Maximum number of suggestions to return.", - "required": false, - "type": "integer", - "format": "int32", - "in": "query" - }, - { - "name": "filterType", - "description": "Filter type: premium, suggestion.", - "required": false, - "type": "string", - "x-example": "premium", - "enum": [ - "premium", - "suggestion" - ], - "x-enum-name": null, - "x-enum-keys": [], - "in": "query" - }, - { - "name": "priceMax", - "description": "Filter premium domains by maximum price. Only premium domains at or below this price will be returned. Does not affect regular domain suggestions.", - "required": false, - "type": "integer", - "format": "int32", - "in": "query" - }, - { - "name": "priceMin", - "description": "Filter premium domains by minimum price. Only premium domains at or above this price will be returned. Does not affect regular domain suggestions.", - "required": false, - "type": "integer", - "format": "int32", - "in": "query" } ] } }, - "\/domains\/transfers\/in": { - "post": { - "summary": "Create a domain transfer in.", - "operationId": "domainsCreateTransferIn", + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { + "patch": { + "summary": "Decrement document attribute", + "operationId": "databasesDecrementDocumentAttribute", "consumes": [ "application\/json" ], @@ -21754,96 +20675,121 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain transfer-in by providing an authorization code, registrant details, and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Transfer In endpoint to capture the payment and submit the transfer.", + "description": "Decrement a specific attribute of a document by a given value.", "responses": { - "201": { - "description": "DomainPurchase", + "200": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/domainPurchase" + "$ref": "#\/definitions\/document" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTransferIn", - "group": null, - "weight": 935, + "method": "decrementDocumentAttribute", + "group": "documents", + "weight": 726, "cookies": false, "type": "", - "demo": "domains\/create-transfer-in.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "demo": "databases\/decrement-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ + "client", + "server", "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.decrementRowColumn" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { "type": "object", "properties": { - "domain": { - "type": "string", - "description": "Domain name to transfer in.", - "default": null, - "x-example": null - }, - "organizationId": { - "type": "string", - "description": "Organization ID that this domain will belong to.", - "default": null, - "x-example": "<ORGANIZATION_ID>" - }, - "authCode": { - "type": "string", - "description": "Authorization code for the domain transfer.", - "default": null, - "x-example": "<AUTH_CODE>" + "value": { + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" }, - "autoRenewal": { - "type": "boolean", - "description": "Whether the domain should renew automatically after transfer.", - "default": true, - "x-example": false + "min": { + "type": "number", + "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true }, - "paymentMethodId": { + "transactionId": { "type": "string", - "description": "Payment method ID to authorize and capture the transfer.", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "domain", - "organizationId", - "authCode", - "paymentMethodId" - ] + } } } ] } }, - "\/domains\/transfers\/in\/{invoiceId}": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { "patch": { - "summary": "Confirm a domain transfer in", - "operationId": "domainsUpdateTransferIn", + "summary": "Increment document attribute", + "operationId": "databasesIncrementDocumentAttribute", "consumes": [ "application\/json" ], @@ -21851,50 +20797,83 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Finalize a domain transfer-in initiated with Create Transfer In. Verifies that any required 3D Secure authentication is complete, submits the transfer with the authorization code, captures the payment, and sends a confirmation email. Returns a 402 error if authentication is still pending.", + "description": "Increment a specific attribute of a document by a given value.", "responses": { "200": { - "description": "DomainPurchase", + "description": "Document", "schema": { - "$ref": "#\/definitions\/domainPurchase" + "$ref": "#\/definitions\/document" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateTransferIn", - "group": null, - "weight": 936, + "method": "incrementDocumentAttribute", + "group": "documents", + "weight": 725, "cookies": false, "type": "", - "demo": "domains\/update-transfer-in.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "demo": "databases\/increment-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ + "client", + "server", "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.incrementRowColumn" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "invoiceId", - "description": "Invoice ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", "required": true, "type": "string", - "x-example": "<INVOICE_ID>", "in": "path" }, { @@ -21903,25 +20882,128 @@ "schema": { "type": "object", "properties": { - "organizationId": { + "value": { + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" + }, + "max": { + "type": "number", + "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { "type": "string", - "description": "Team ID that owns the domain.", - "default": null, - "x-example": "<ORGANIZATION_ID>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "organizationId" - ] + } } } ] } }, - "\/domains\/transfers\/out": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes": { + "get": { + "summary": "List indexes", + "operationId": "databasesListIndexes", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "databases" + ], + "description": "List indexes in the collection.", + "responses": { + "200": { + "description": "Indexes List", + "schema": { + "$ref": "#\/definitions\/indexList" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "listIndexes", + "group": "indexes", + "weight": 769, + "cookies": false, + "type": "", + "demo": "databases\/list-indexes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listIndexes" + }, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, "post": { - "summary": "Create a domain transfer out.", - "operationId": "domainsCreateTransferOut", + "summary": "Create index", + "operationId": "databasesCreateIndex", "consumes": [ "application\/json" ], @@ -21929,224 +21011,331 @@ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Initiate a domain transfer-out by generating an authorization code for the specified domain. The returned `authCode` should be provided to the gaining provider to complete the transfer. If the domain has auto-renewal enabled, it will be automatically disabled as part of this operation.", + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", "responses": { "202": { - "description": "domainTransferOut", + "description": "Index", "schema": { - "$ref": "#\/definitions\/domainTransferOut" + "$ref": "#\/definitions\/index" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createTransferOut", - "group": null, - "weight": 937, + "method": "createIndex", + "group": "indexes", + "weight": 766, "cookies": false, "type": "", - "demo": "domains\/create-transfer-out.md", + "demo": "databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.createIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "domainId": { + "key": { "type": "string", - "description": "Domain unique ID.", - "default": null, - "x-example": "<DOMAIN_ID>" + "description": "Index Key.", + "x-example": null }, - "organizationId": { + "type": { "type": "string", - "description": "Organization ID that this domain belongs to.", - "default": null, - "x-example": "<ORGANIZATION_ID>" + "description": "Index type.", + "x-example": "key", + "enum": [ + "key", + "fulltext", + "unique", + "spatial" + ], + "x-enum-name": "DatabasesIndexType", + "x-enum-keys": [] + }, + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } + }, + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "default": [], + "items": { + "type": "integer" + } } }, "required": [ - "domainId", - "organizationId" + "key", + "type", + "attributes" ] } } ] } }, - "\/domains\/{domainId}": { + "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { "get": { - "summary": "Get a single domain by its unique ID.", - "operationId": "domainsGet", + "summary": "Get index", + "operationId": "databasesGetIndex", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Get a domain by its unique ID.", + "description": "Get an index by its unique ID.", "responses": { "200": { - "description": "Domain", + "description": "Index", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/index" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "get", - "group": null, - "weight": 927, + "method": "getIndex", + "group": "indexes", + "weight": 767, "cookies": false, "type": "", - "demo": "domains\/get.md", + "demo": "databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", "in": "path" } ] }, "delete": { - "summary": "Delete a domain by its unique ID.", - "operationId": "domainsDelete", + "summary": "Delete index", + "operationId": "databasesDeleteIndex", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "domains" + "databases" ], - "description": "Delete a domain by its unique ID. This endpoint can be used to delete a domain from your project.\nOnce deleted, the domain will no longer be available for use and all associated resources will be removed.", + "description": "Delete an index.", "responses": { "204": { "description": "No content" } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 926, + "method": "deleteIndex", + "group": "indexes", + "weight": 768, "cookies": false, "type": "", - "demo": "domains\/delete.md", + "demo": "databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.deleteIndex" + }, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", "in": "path" } ] } }, - "\/domains\/{domainId}\/auto-renewal": { - "patch": { - "summary": "Update domain auto-renewal setting.", - "operationId": "domainsUpdateAutoRenewal", - "consumes": [ - "application\/json" - ], + "\/databases\/{databaseId}\/collections\/{collectionId}\/logs": { + "get": { + "summary": "List collection logs", + "operationId": "databasesListCollectionLogs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Enable or disable auto-renewal for a domain.", + "description": "Get the collection activity logs list by its unique ID.", "responses": { "200": { - "description": "Domain", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/logList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateAutoRenewal", - "group": null, - "weight": 931, + "method": "listCollectionLogs", + "group": "collections", + "weight": 713, "cookies": false, "type": "", - "demo": "domains\/update-auto-renewal.md", + "demo": "databases\/list-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listTableLogs" + }, "auth": { "Project": [] } @@ -22158,73 +21347,78 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "autoRenewal": { - "type": "boolean", - "description": "Whether the domain should renew automatically.", - "default": null, - "x-example": false - } - }, - "required": [ - "autoRenewal" - ] - } + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] } }, - "\/domains\/{domainId}\/nameservers": { - "patch": { - "summary": "Verify which NS records are used and update the domain accordingly.", - "operationId": "domainsUpdateNameservers", - "consumes": [ - "application\/json" - ], + "\/databases\/{databaseId}\/collections\/{collectionId}\/usage": { + "get": { + "summary": "Get collection usage stats", + "operationId": "databasesGetCollectionUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Verify which NS records are used and update the domain accordingly. This will check the domain's\n nameservers and update the domain's status based on whether the nameservers match the expected\n Appwrite nameservers.", + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "Domain", + "description": "UsageCollection", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/usageCollection" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "updateNameservers", + "method": "getCollectionUsage", "group": null, - "weight": 932, + "weight": 714, "cookies": false, "type": "", - "demo": "domains\/update-nameservers.md", + "demo": "databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getTableUsage" + }, "auth": { "Project": [] } @@ -22236,53 +21430,116 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", "in": "path" } ] } }, - "\/domains\/{domainId}\/presets\/google-workspace": { + "\/databases\/{databaseId}\/logs": { "get": { - "summary": "Get Google Workspace preset (Records)", - "operationId": "domainsGetPresetGoogleWorkspace", + "summary": "List database logs", + "operationId": "databasesListLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " List Google Workspace DNS records.", + "description": "Get the database activity logs list by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/logList" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getPresetGoogleWorkspace", - "group": null, - "weight": 963, + "method": "listLogs", + "group": "logs", + "weight": 705, "cookies": false, "type": "", - "demo": "domains\/get-preset-google-workspace.md", + "demo": "databases\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listDatabaseLogs" + }, + "methods": [ + { + "name": "listLogs", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "queries" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/logList" + } + ], + "description": "Get the database activity logs list by its unique ID.", + "demo": "databases\/list-logs.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.listDatabaseLogs" + } + } + ], "auth": { "Project": [] } @@ -22294,53 +21551,100 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] - }, - "post": { - "summary": "Create Google Workspace preset (Records)", - "operationId": "domainsCreatePresetGoogleWorkspace", - "consumes": [ - "application\/json" - ], + } + }, + "\/databases\/{databaseId}\/usage": { + "get": { + "summary": "Get database usage stats", + "operationId": "databasesGetUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "databases" ], - "description": " Add Google Workspace DNS records to the domain. This will create the required MX records \n for Google Workspace email hosting.", + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "UsageDatabase", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/usageDatabase" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createPresetGoogleWorkspace", + "method": "getUsage", "group": null, - "weight": 962, + "weight": 706, "cookies": false, "type": "", - "demo": "domains\/create-preset-google-workspace.md", + "demo": "databases\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getUsage" + }, + "methods": [ + { + "name": "getUsage", + "namespace": "databases", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageDatabase" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "databases\/get-usage.md", + "public": true, + "deprecated": { + "since": "1.8.0", + "replaceWith": "tablesDB.getUsage" + } + } + ], "auth": { "Project": [] } @@ -22352,76 +21656,112 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/domains\/{domainId}\/presets\/icloud": { + "\/documentsdb": { "get": { - "summary": "Get iCloud preset (Records)", - "operationId": "domainsGetPresetICloud", + "summary": "List databases", + "operationId": "documentsDBList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " List iCloud DNS records.", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Databases List", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/databaseList" } } }, "deprecated": false, "x-appwrite": { - "method": "getPresetICloud", - "group": null, - "weight": 973, + "method": "list", + "group": "documentsdb", + "weight": 920, "cookies": false, "type": "", - "demo": "domains\/get-preset-i-cloud.md", + "demo": "documentsdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, "post": { - "summary": "Create iCloud preset (Records)", - "operationId": "domainsCreatePresetICloud", + "summary": "Create database", + "operationId": "documentsDBCreate", "consumes": [ "application\/json" ], @@ -22429,115 +21769,149 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Add iCloud DNS records to the domain. This will create the required MX and SPF records\n for using iCloud email services with your domain.", + "description": "Create a new Database.\n", "responses": { "201": { - "description": "DNS records list", + "description": "Database", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/database" } } }, "deprecated": false, "x-appwrite": { - "method": "createPresetICloud", - "group": null, - "weight": 972, + "method": "create", + "group": "documentsdb", + "weight": 922, "cookies": false, "type": "", - "demo": "domains\/create-preset-i-cloud.md", + "demo": "documentsdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "databaseId", + "name" + ] + } } ] } }, - "\/domains\/{domainId}\/presets\/mailgun": { + "\/documentsdb\/transactions": { "get": { - "summary": "Get Mailgun preset (Records)", - "operationId": "domainsGetPresetMailgun", + "summary": "List transactions", + "operationId": "documentsDBListTransactions", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " List Mailgun DNS records.", + "description": "List transactions across all databases.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Transaction List", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/transactionList" } } }, "deprecated": false, "x-appwrite": { - "method": "getPresetMailgun", - "group": null, - "weight": 965, + "method": "listTransactions", + "group": "transactions", + "weight": 883, "cookies": false, "type": "", - "demo": "domains\/get-preset-mailgun.md", + "demo": "documentsdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] }, "post": { - "summary": "Create Mailgun preset (Records)", - "operationId": "domainsCreatePresetMailgun", + "summary": "Create transaction", + "operationId": "documentsDBCreateTransaction", "consumes": [ "application\/json" ], @@ -22545,115 +21919,135 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Add Mailgun DNS records to the domain. This endpoint will create the required DNS records \n for Mailgun in the specified domain.", + "description": "Create a new transaction.", "responses": { "201": { - "description": "DNS records list", + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "createPresetMailgun", - "group": null, - "weight": 964, + "method": "createTransaction", + "group": "transactions", + "weight": 879, "cookies": false, "type": "", - "demo": "domains\/create-preset-mailgun.md", + "demo": "documentsdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "default": 300, + "format": "int32" + } + } + } } ] } }, - "\/domains\/{domainId}\/presets\/outlook": { + "\/documentsdb\/transactions\/{transactionId}": { "get": { - "summary": "Get Outlook preset (Records)", - "operationId": "domainsGetPresetOutlook", + "summary": "Get transaction", + "operationId": "documentsDBGetTransaction", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " List Outlook DNS records.", + "description": "Get a transaction by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "getPresetOutlook", - "group": null, - "weight": 971, + "method": "getTransaction", + "group": "transactions", + "weight": 880, "cookies": false, "type": "", - "demo": "domains\/get-preset-outlook.md", + "demo": "documentsdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" } ] }, - "post": { - "summary": "Create Outlook preset (Records)", - "operationId": "domainsCreatePresetOutlook", + "patch": { + "summary": "Update transaction", + "operationId": "documentsDBUpdateTransaction", "consumes": [ "application\/json" ], @@ -22661,150 +22055,202 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Add Outlook DNS records to the domain. This will create the required MX records\n for setting up Outlook email hosting for your domain.", + "description": "Update a transaction, to either commit or roll back its operations.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "createPresetOutlook", - "group": null, - "weight": 970, + "method": "updateTransaction", + "group": "transactions", + "weight": 881, "cookies": false, "type": "", - "demo": "domains\/create-preset-outlook.md", + "demo": "documentsdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false, + "default": false + }, + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false, + "default": false + } + } + } } ] - } - }, - "\/domains\/{domainId}\/presets\/proton-mail": { - "get": { - "summary": "Get ProtonMail preset (Records)", - "operationId": "domainsGetPresetProtonMail", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete transaction", + "operationId": "documentsDBDeleteTransaction", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ - "domains" + "documentsDB" ], - "description": " List ProtonMail DNS records.", + "description": "Delete a transaction by its unique ID.", "responses": { - "201": { - "description": "DNS records list", - "schema": { - "$ref": "#\/definitions\/dnsRecordsList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getPresetProtonMail", - "group": null, - "weight": 969, + "method": "deleteTransaction", + "group": "transactions", + "weight": 882, "cookies": false, "type": "", - "demo": "domains\/get-preset-proton-mail.md", + "demo": "documentsdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" } ] - }, - "post": { - "summary": "Create ProtonMail preset (Records)", - "operationId": "domainsCreatePresetProtonMail", - "consumes": [ - "application\/json" - ], + } + }, + "\/documentsdb\/usage": { + "get": { + "summary": "Get DocumentsDB usage stats", + "operationId": "documentsDBListUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Add ProtonMail DNS records to the domain. This will create the required MX records\n for using ProtonMail with your custom domain.", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "UsageDatabases", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/usageDatabases" } } }, "deprecated": false, "x-appwrite": { - "method": "createPresetProtonMail", + "method": "listUsage", "group": null, - "weight": 968, + "weight": 857, "cookies": false, "type": "", - "demo": "domains\/create-preset-proton-mail.md", + "demo": "documentsdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-usage.md", + "methods": [ + { + "name": "listUsage", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageDatabases" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "documentsdb\/list-usage.md", + "public": true + } + ], "auth": { "Project": [] } @@ -22816,76 +22262,91 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/domains\/{domainId}\/presets\/zoho": { + "\/documentsdb\/{databaseId}": { "get": { - "summary": "Get Zoho preset (Records)", - "operationId": "domainsGetPresetZoho", + "summary": "Get database", + "operationId": "documentsDBGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " List Zoho DNS records.", + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Database", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/database" } } }, "deprecated": false, "x-appwrite": { - "method": "getPresetZoho", - "group": null, - "weight": 967, + "method": "get", + "group": "documentsdb", + "weight": 852, "cookies": false, "type": "", - "demo": "domains\/get-preset-zoho.md", + "demo": "documentsdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] }, - "post": { - "summary": "Create Zoho Mail preset (Records)", - "operationId": "domainsCreatePresetZoho", + "put": { + "summary": "Update database", + "operationId": "documentsDBUpdate", "consumes": [ "application\/json" ], @@ -22893,105 +22354,198 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Add Zoho Mail DNS records to the domain. This will create the required MX records\n for setting up Zoho Mail on your domain.", + "description": "Update a database by its unique ID.", "responses": { - "201": { - "description": "DNS records list", + "200": { + "description": "Database", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/database" } } }, "deprecated": false, "x-appwrite": { - "method": "createPresetZoho", - "group": null, - "weight": 966, + "method": "update", + "group": "documentsdb", + "weight": 853, "cookies": false, "type": "", - "demo": "domains\/create-preset-zoho.md", + "demo": "documentsdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "databases.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update.md", "auth": { "Project": [] } }, "security": [ { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "name" + ] + } + } + ] + }, + "delete": { + "summary": "Delete database", + "operationId": "documentsDBDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "documentsDB" + ], + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "documentsdb", + "weight": 923, + "cookies": false, + "type": "", + "demo": "documentsdb\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete.md", + "auth": { "Project": [] } + }, + "security": [ + { + "Project": [], + "Key": [] + } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] } }, - "\/domains\/{domainId}\/records": { + "\/documentsdb\/{databaseId}\/collections": { "get": { - "summary": "List DNS records for a given domain.", - "operationId": "domainsListRecords", + "summary": "List collections", + "operationId": "documentsDBListCollections", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " List DNS records for a given domain. You can use this endpoint to list all the DNS records\n associated with your domain.", + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "DNS records list", + "description": "Collections List", "schema": { - "$ref": "#\/definitions\/dnsRecordsList" + "$ref": "#\/definitions\/collectionList" } } }, "deprecated": false, "x-appwrite": { - "method": "listRecords", - "group": null, - "weight": 961, + "method": "listCollections", + "group": "collections", + "weight": 862, "cookies": false, "type": "", - "demo": "domains\/list-records.md", + "demo": "documentsdb\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-collections.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. You may filter on attributes such as type, name, value, etc. Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", "required": false, "type": "array", "collectionFormat": "multi", @@ -23002,20 +22556,28 @@ "in": "query" }, { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/records\/a": { + }, "post": { - "summary": "Create a new A record for the given domain.", - "operationId": "domainsCreateRecordA", + "summary": "Create collection", + "operationId": "documentsDBCreateCollection", "consumes": [ "application\/json" ], @@ -23023,50 +22585,53 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": "Create a new A record for the given domain. A records are used to point a domain name \nto an IPv4 address. The record value should be a valid IPv4 address.", + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { "201": { - "description": "DNSRecord", + "description": "Collection", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/collection" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordA", - "group": null, - "weight": 939, + "method": "createCollection", + "group": "collections", + "weight": 858, "cookies": false, "type": "", - "demo": "domains\/create-record-a.md", + "demo": "documentsdb\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { @@ -23075,153 +22640,136 @@ "schema": { "type": "object", "properties": { - "name": { + "collectionId": { "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" }, - "value": { + "name": { "type": "string", - "description": "IPv4 address for this A record.", - "default": null, - "x-example": null + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } }, - "comment": { - "type": "string", - "description": "A comment explaining what this record is for.", - "default": "", - "x-example": "<COMMENT>" + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "attributes": { + "type": "array", + "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "default": [], + "items": { + "type": "object" + } } }, "required": [ - "name", - "value", - "ttl" + "collectionId", + "name" ] } } ] } }, - "\/domains\/{domainId}\/records\/a\/{recordId}": { - "put": { - "summary": "Update an existing A record for the given domain.", - "operationId": "domainsUpdateRecordA", - "consumes": [ - "application\/json" - ], + "\/documentsdb\/{databaseId}\/collections\/{collectionId}": { + "get": { + "summary": "Get collection", + "operationId": "documentsDBGetCollection", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing A record for the given domain. This endpoint allows you to modify \n the properties of an A record including its name (subdomain), IPv4 address, TTL, \n and optional comment.", + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", "responses": { "200": { - "description": "DNSRecord", + "description": "Collection", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/collection" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordA", - "group": null, - "weight": 940, + "method": "getCollection", + "group": "collections", + "weight": 859, "cookies": false, "type": "", - "demo": "domains\/update-record-a.md", + "demo": "documentsdb\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "IPv4 address for this A record.", - "default": null, - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment explaining what this record is for.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } } ] - } - }, - "\/domains\/{domainId}\/records\/aaaa": { - "post": { - "summary": "Create a new AAAA record for the given domain.", - "operationId": "domainsCreateRecordAAAA", + }, + "put": { + "summary": "Update collection", + "operationId": "documentsDBUpdateCollection", "consumes": [ "application\/json" ], @@ -23229,50 +22777,61 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new AAAA record for the given domain. This endpoint allows you to add a new IPv6 DNS record \n to your domain. The record will be used to point a hostname to an IPv6 address.", + "description": "Update a collection by its unique ID.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Collection", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/collection" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordAAAA", - "group": null, - "weight": 941, + "method": "updateCollection", + "group": "collections", + "weight": 860, "cookies": false, "type": "", - "demo": "domains\/create-record-aaaa.md", + "demo": "documentsdb\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -23283,250 +22842,221 @@ "properties": { "name": { "type": "string", - "description": "Record name (subdomain).", - "default": null, + "description": "Collection name. Max length: 128 chars.", "x-example": "<NAME>" }, - "value": { - "type": "string", - "description": "IPv6 address for this AAAA record.", - "default": null, - "x-example": null + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false }, - "comment": { - "type": "string", - "description": "A comment explaining what this record is for.", - "default": "", - "x-example": "<COMMENT>" + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false, + "default": false } }, "required": [ - "name", - "value", - "ttl" + "name" ] } } ] - } - }, - "\/domains\/{domainId}\/records\/aaaa\/{recordId}": { - "put": { - "summary": "Update an existing AAAA record for the given domain.", - "operationId": "domainsUpdateRecordAAAA", + }, + "delete": { + "summary": "Delete collection", + "operationId": "documentsDBDeleteCollection", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing AAAA record for the given domain. This endpoint allows you to modify\n the properties of an existing AAAA record, including its name (subdomain), IPv6 address,\n TTL, and optional comment.", + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { - "200": { - "description": "DNSRecord", - "schema": { - "$ref": "#\/definitions\/dnsRecord" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordAAAA", - "group": null, - "weight": 942, + "method": "deleteCollection", + "group": "collections", + "weight": 861, "cookies": false, "type": "", - "demo": "domains\/update-record-aaaa.md", + "demo": "documentsdb\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-collection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "IPv6 address for this AAAA record.", - "default": null, - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } } ] } }, - "\/domains\/{domainId}\/records\/alias": { - "post": { - "summary": "Create a new ALIAS record for the given domain.", - "operationId": "domainsCreateRecordAlias", - "consumes": [ - "application\/json" - ], + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents": { + "get": { + "summary": "List documents", + "operationId": "documentsDBListDocuments", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new ALIAS record for the given domain. This record type can be used to point your domain \n to another domain name that will serve as an alias. This is particularly useful when you want to \n map your domain to a target domain that may change its IP address.", + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/documentList" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordAlias", - "group": null, - "weight": 943, + "method": "listDocuments", + "group": "documents", + "weight": 921, "cookies": false, "type": "", - "demo": "domains\/create-record-alias.md", + "demo": "documentsdb\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name.", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target domain for this ALIAS record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/records\/alias\/{recordId}": { - "put": { - "summary": "Update an existing ALIAS record for the given domain.", - "operationId": "domainsUpdateRecordAlias", + }, + "post": { + "summary": "Create document", + "operationId": "documentsDBCreateDocument", "consumes": [ "application\/json" ], @@ -23534,157 +23064,123 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing ALIAS record for the specified domain. This endpoint allows you to modify\n the properties of an existing ALIAS record including its name, target domain, TTL, and comment.\n \n The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).\n It provides a way to map one domain name to another.", + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { - "200": { - "description": "DNSRecord", + "201": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordAlias", - "group": null, - "weight": 944, + "method": "createDocument", + "group": "documents", + "weight": 868, "cookies": false, "type": "", - "demo": "domains\/update-record-alias.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/create-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" - }, - { - "name": "recordId", - "description": "DNS record unique ID.", - "required": true, - "type": "string", - "x-example": "<RECORD_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name.", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target domain for this ALIAS record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-document.md", + "methods": [ + { + "name": "createDocument", + "namespace": "documentsDB", + "desc": "Create document", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions" + ], + "required": [ + "databaseId", + "collectionId", + "documentId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/create-document.md", + "public": true + }, + { + "name": "createDocuments", + "namespace": "documentsDB", + "desc": "Create documents", + "auth": { + "Project": [] }, + "parameters": [ + "databaseId", + "collectionId", + "documents" + ], "required": [ - "name", - "value", - "ttl" - ] - } - } - ] - } - }, - "\/domains\/{domainId}\/records\/caa": { - "post": { - "summary": "Create a new CAA record for the given domain.", - "operationId": "domainsCreateRecordCAA", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "domains" - ], - "description": "Create a new CAA record for the given domain. CAA records are used to specify which \nCertificate Authorities (CAs) are allowed to issue SSL\/TLS certificates for your domain.", - "responses": { - "201": { - "description": "DNSRecord", - "schema": { - "$ref": "#\/definitions\/dnsRecord" + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/create-documents.md", + "public": true } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createRecordCAA", - "group": null, - "weight": 945, - "cookies": false, - "type": "", - "demo": "domains\/create-record-caa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", - "platforms": [ - "console" ], - "packaging": false, - "public": true, "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -23693,46 +23189,48 @@ "schema": { "type": "object", "properties": { - "name": { + "documentId": { "type": "string", - "description": "Record name.", - "default": null, - "x-example": null + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>", + "default": "" }, - "value": { - "type": "string", - "description": "CAA value (e.g. issuer domain).", - "default": null, - "x-example": null + "data": { + "type": "object", + "description": "Document data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] - } - }, - "\/domains\/{domainId}\/records\/caa\/{recordId}": { + }, "put": { - "summary": "Update an existing CAA record for the given domain.", - "operationId": "domainsUpdateRecordCAA", + "summary": "Upsert documents", + "operationId": "documentsDBUpsertDocuments", "consumes": [ "application\/json" ], @@ -23740,58 +23238,91 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing CAA record for the given domain. A CAA (Certification Authority Authorization) \n record is used to specify which certificate authorities (CAs) are authorized to issue certificates \n for a domain.", + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", "responses": { - "200": { - "description": "DNSRecord", + "201": { + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/documentList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordCAA", - "group": null, - "weight": 946, + "method": "upsertDocuments", + "group": "documents", + "weight": 873, "cookies": false, "type": "", - "demo": "domains\/update-record-caa.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/upsert-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-documents.md", + "methods": [ + { + "name": "upsertDocuments", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/documentList" + } + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "demo": "documentsdb\/upsert-documents.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -23800,46 +23331,30 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name.", - "default": null, - "x-example": null - }, - "value": { - "type": "string", - "description": "CAA value (e.g. issuer domain).", - "default": null, - "x-example": null - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "documents": { + "type": "array", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, + "items": { + "type": "object" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } }, "required": [ - "name", - "value", - "ttl" + "documents" ] } } ] - } - }, - "\/domains\/{domainId}\/records\/cname": { - "post": { - "summary": "Create a new CNAME record for the given domain.", - "operationId": "domainsCreateRecordCNAME", + }, + "patch": { + "summary": "Update documents", + "operationId": "documentsDBUpdateDocuments", "consumes": [ "application\/json" ], @@ -23847,50 +23362,61 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new CNAME record for the given domain.\n \n A CNAME record maps a subdomain to another domain name, allowing you to create aliases \n for your domain. For example, you can create a CNAME record to point 'blog.example.com' \n to 'example.wordpress.com'.", + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/documentList" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordCNAME", - "group": null, - "weight": 947, + "method": "updateDocuments", + "group": "documents", + "weight": 871, "cookies": false, "type": "", - "demo": "domains\/create-record-cname.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/update-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -23899,46 +23425,34 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Canonical target for this CNAME record.", - "default": null, - "x-example": "<VALUE>" + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{}", + "default": [] }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] - } - }, - "\/domains\/{domainId}\/records\/cname\/{recordId}": { - "put": { - "summary": "Update an existing CNAME record for the given domain.", - "operationId": "domainsUpdateRecordCNAME", + }, + "delete": { + "summary": "Delete documents", + "operationId": "documentsDBDeleteDocuments", "consumes": [ "application\/json" ], @@ -23946,58 +23460,61 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing CNAME record for the given domain.", + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", "responses": { "200": { - "description": "DNSRecord", + "description": "Documents List", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/documentList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordCNAME", - "group": null, - "weight": 948, + "method": "deleteDocuments", + "group": "documents", + "weight": 875, "cookies": false, "type": "", - "demo": "domains\/update-record-cname.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/delete-documents.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-documents.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -24006,145 +23523,128 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Canonical target for this CNAME record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] } }, - "\/domains\/{domainId}\/records\/https": { - "post": { - "summary": "Create a new HTTPS record for the given domain.", - "operationId": "domainsCreateRecordHTTPS", - "consumes": [ - "application\/json" - ], + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "get": { + "summary": "Get document", + "operationId": "documentsDBGetDocument", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new HTTPS record for the given domain. This record is used to configure HTTPS \n settings for your domain, enabling secure communication over SSL\/TLS.", + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordHTTPS", - "group": null, - "weight": 949, + "method": "getDocument", + "group": "documents", + "weight": 869, "cookies": false, "type": "", - "demo": "domains\/create-record-https.md", + "demo": "documentsdb\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "documents.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target for the HTTPS record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/records\/https\/{recordId}": { + }, "put": { - "summary": "Update an existing HTTPS record for the given domain.", - "operationId": "domainsUpdateRecordHTTPS", + "summary": "Upsert a document", + "operationId": "documentsDBUpsertDocument", "consumes": [ "application\/json" ], @@ -24152,58 +23652,104 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": "Update an existing HTTPS record for the given domain. This endpoint allows you to modify \nthe properties of an HTTPS record associated with your domain, including the name (subdomain), \ntarget value, TTL, and optional comment.", + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", "responses": { - "200": { - "description": "DNSRecord", + "201": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordHTTPS", - "group": null, - "weight": 950, + "method": "upsertDocument", + "group": "documents", + "weight": 872, "cookies": false, "type": "", - "demo": "domains\/update-record-https.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/upsert-document.md", + "methods": [ + { + "name": "upsertDocument", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "documentsdb\/upsert-document.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -24212,46 +23758,33 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target for the HTTPS record.", - "default": null, - "x-example": "<VALUE>" + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", + "x-example": "{}", + "default": [] }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] - } - }, - "\/domains\/{domainId}\/records\/mx": { - "post": { - "summary": "Create a new MX record for the given domain.", - "operationId": "domainsCreateRecordMX", + }, + "patch": { + "summary": "Update document", + "operationId": "documentsDBUpdateDocument", "consumes": [ "application\/json" ], @@ -24259,50 +23792,72 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new MX record for the given domain. MX records are used to define the mail servers responsible \n for accepting email messages for the domain. Multiple MX records can be created with different priorities.\n The priority parameter determines the order in which mail servers are used, with lower values indicating \n higher priority.", + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordMX", - "group": null, - "weight": 951, + "method": "updateDocument", + "group": "documents", + "weight": 870, "cookies": false, "type": "", - "demo": "domains\/create-record-mx.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/update-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -24311,113 +23866,101 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Mail server domain for this MX record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "data": { + "type": "object", + "description": "Document data as JSON object. Include only fields and value pairs to be updated.", + "x-example": "{}", + "default": [] }, - "priority": { - "type": "integer", - "description": "MX priority.", - "default": null, - "x-example": null, - "format": "int32" + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl", - "priority" - ] + } } } ] - } - }, - "\/domains\/{domainId}\/records\/mx\/{recordId}": { - "put": { - "summary": "Update an existing MX record for the given domain.", - "operationId": "domainsUpdateRecordMX", + }, + "delete": { + "summary": "Delete document", + "operationId": "documentsDBDeleteDocument", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing MX record for the given domain.", + "description": "Delete a document by its unique ID.", "responses": { - "200": { - "description": "DNSRecord", - "schema": { - "$ref": "#\/definitions\/dnsRecord" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordMX", - "group": null, - "weight": 952, + "method": "deleteDocument", + "group": "documents", + "weight": 874, "cookies": false, "type": "", - "demo": "domains\/update-record-mx.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-document.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", "in": "path" }, { @@ -24426,54 +23969,21 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Mail server domain for this MX record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "MX priority.", - "default": null, - "x-example": null, - "format": "int32" - }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl", - "priority" - ] + } } } ] } }, - "\/domains\/{domainId}\/records\/ns": { - "post": { - "summary": "Create a new NS record for the given domain.", - "operationId": "domainsCreateRecordNS", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/decrement": { + "patch": { + "summary": "Decrement document attribute", + "operationId": "documentsDBDecrementDocumentAttribute", "consumes": [ "application\/json" ], @@ -24481,50 +23991,79 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new NS record for the given domain. NS records specify the nameservers that are used \n to resolve the domain name to IP addresses. Each domain can have multiple NS records.", + "description": "Decrement a specific column of a row by a given value.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordNS", - "group": null, - "weight": 953, + "method": "decrementDocumentAttribute", + "group": "documents", + "weight": 878, "cookies": false, "type": "", - "demo": "domains\/create-record-ns.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/decrement-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ + "client", + "server", "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/decrement-document-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", "in": "path" }, { @@ -24533,46 +24072,34 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, "value": { - "type": "string", - "description": "Nameserver target for this NS record.", - "default": null, - "x-example": "<VALUE>" + "type": "number", + "description": "Value to decrement the attribute by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "min": { + "type": "number", + "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float" }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] } }, - "\/domains\/{domainId}\/records\/ns\/{recordId}": { - "put": { - "summary": "Update an existing NS record for the given domain.", - "operationId": "domainsUpdateRecordNS", + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}\/{attribute}\/increment": { + "patch": { + "summary": "Increment document attribute", + "operationId": "documentsDBIncrementDocumentAttribute", "consumes": [ "application\/json" ], @@ -24580,58 +24107,79 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing NS record for the given domain. This endpoint allows you to modify \n the properties of an NS (nameserver) record associated with your domain. You can update \n the record name (subdomain), target nameserver value, TTL, and add or modify comments \n for better record management.", + "description": "Increment a specific column of a row by a given value.", "responses": { "200": { - "description": "DNSRecord", + "description": "Document", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/document" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordNS", - "group": null, - "weight": 954, + "method": "incrementDocumentAttribute", + "group": "documents", + "weight": 877, "cookies": false, "type": "", - "demo": "domains\/update-record-ns.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "demo": "documentsdb\/increment-document-attribute.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", "platforms": [ + "client", + "server", "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/increment-document-attribute.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "attribute", + "description": "Attribute key.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", "in": "path" }, { @@ -24640,169 +24188,122 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain).", - "default": null, - "x-example": "<NAME>" - }, "value": { - "type": "string", - "description": "Nameserver target for this NS record.", - "default": null, - "x-example": "<VALUE>" + "type": "number", + "description": "Value to increment the attribute by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "max": { + "type": "number", + "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float" }, - "comment": { + "transactionId": { "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" } - }, - "required": [ - "name", - "value", - "ttl" - ] + } } } ] } }, - "\/domains\/{domainId}\/records\/srv": { - "post": { - "summary": "Create a new SRV record for the given domain.", - "operationId": "domainsCreateRecordSRV", - "consumes": [ - "application\/json" - ], + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "get": { + "summary": "List indexes", + "operationId": "documentsDBListIndexes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new SRV record for the given domain. SRV records are used to define the location \n of servers for specific services. For example, they can be used to specify which server \n handles a specific service like SIP or XMPP for the domain.", + "description": "List indexes in the collection.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Indexes List", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/indexList" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordSRV", - "group": null, - "weight": 955, + "method": "listIndexes", + "group": "indexes", + "weight": 867, "cookies": false, "type": "", - "demo": "domains\/create-record-srv.md", + "demo": "documentsdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/list-indexes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (service name).", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "Target hostname for this SRV record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "priority": { - "type": "integer", - "description": "Record priority.", - "default": null, - "x-example": null, - "format": "int32" - }, - "weight": { - "type": "integer", - "description": "Record weight.", - "default": null, - "x-example": null, - "format": "int32" - }, - "port": { - "type": "integer", - "description": "Port number for the service.", - "default": null, - "x-example": null, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl", - "priority", - "weight", - "port" - ] - } + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/records\/srv\/{recordId}": { - "put": { - "summary": "Update an existing SRV record for the given domain.", - "operationId": "domainsUpdateRecordSRV", + }, + "post": { + "summary": "Create index", + "operationId": "documentsDBCreateIndex", "consumes": [ "application\/json" ], @@ -24810,58 +24311,61 @@ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing SRV record for the given domain.\n \n Required parameters:\n - domainId: Domain unique ID\n - recordId: DNS record unique ID\n - name: Record name (service name)\n - value: Target hostname for this SRV record\n - ttl: Time to live, in seconds\n - priority: Record priority\n - weight: Record weight\n - port: Port number for the service\n \n Optional parameters:\n - comment: A comment for this record", + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", "responses": { - "200": { - "description": "DNSRecord", + "202": { + "description": "Index", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/index" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordSRV", - "group": null, - "weight": 956, + "method": "createIndex", + "group": "indexes", + "weight": 864, "cookies": false, "type": "", - "demo": "domains\/update-record-srv.md", + "demo": "documentsdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/create-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" }, { @@ -24870,308 +24374,251 @@ "schema": { "type": "object", "properties": { - "name": { + "key": { "type": "string", - "description": "Record name (service name).", - "default": null, - "x-example": "<NAME>" + "description": "Index Key.", + "x-example": null }, - "value": { + "type": { "type": "string", - "description": "Target hostname for this SRV record.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" + "description": "Index type.", + "x-example": "key", + "enum": [ + "key", + "fulltext", + "unique" + ], + "x-enum-name": "DocumentsDBIndexType", + "x-enum-keys": [] }, - "priority": { - "type": "integer", - "description": "Record priority.", - "default": null, + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", "x-example": null, - "format": "int32" + "items": { + "type": "string" + } }, - "weight": { - "type": "integer", - "description": "Record weight.", - "default": null, + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, - "format": "int32" + "default": [], + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } }, - "port": { - "type": "integer", - "description": "Port number for the service.", - "default": null, + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", "x-example": null, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" + "default": [], + "items": { + "type": "integer" + } } }, "required": [ - "name", - "value", - "ttl", - "priority", - "weight", - "port" + "key", + "type", + "attributes" ] } } ] } }, - "\/domains\/{domainId}\/records\/txt": { - "post": { - "summary": "Create a new TXT record for the given domain.", - "operationId": "domainsCreateRecordTXT", - "consumes": [ - "application\/json" - ], + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "documentsDBGetIndex", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Create a new TXT record for the given domain. TXT records can be used \n to provide additional information about your domain, such as domain \n verification records, SPF records, or DKIM records.", + "description": "Get index by ID.", "responses": { - "201": { - "description": "DNSRecord", + "200": { + "description": "Index", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/index" } } }, "deprecated": false, "x-appwrite": { - "method": "createRecordTXT", - "group": null, - "weight": 957, + "method": "getIndex", + "group": "indexes", + "weight": 865, "cookies": false, "type": "", - "demo": "domains\/create-record-txt.md", + "demo": "documentsdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain) for the TXT record.", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "TXT record value.", - "default": "", - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "ttl" - ] - } + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "type": "string", + "in": "path" } ] - } - }, - "\/domains\/{domainId}\/records\/txt\/{recordId}": { - "put": { - "summary": "Update an existing TXT record for the given domain.", - "operationId": "domainsUpdateRecordTXT", + }, + "delete": { + "summary": "Delete index", + "operationId": "documentsDBDeleteIndex", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "domains" + "documentsDB" ], - "description": " Update an existing TXT record for the given domain.\n \n Update the TXT record details for a specific domain by providing the domain ID,\n record ID, and the new record configuration including name, value, TTL, and an optional comment.", + "description": "Delete an index.", "responses": { - "200": { - "description": "DNSRecord", - "schema": { - "$ref": "#\/definitions\/dnsRecord" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateRecordTXT", - "group": null, - "weight": 958, + "method": "deleteIndex", + "group": "indexes", + "weight": 866, "cookies": false, "type": "", - "demo": "domains\/update-record-txt.md", + "demo": "documentsdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/delete-index.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Record name (subdomain) for the TXT record.", - "default": null, - "x-example": "<NAME>" - }, - "value": { - "type": "string", - "description": "TXT record value.", - "default": null, - "x-example": "<VALUE>" - }, - "ttl": { - "type": "integer", - "description": "Time to live, in seconds. Must be greater than 0.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "comment": { - "type": "string", - "description": "A comment for this record.", - "default": "", - "x-example": "<COMMENT>" - } - }, - "required": [ - "name", - "value", - "ttl" - ] - } + "name": "key", + "description": "Index Key.", + "required": true, + "type": "string", + "in": "path" } ] } }, - "\/domains\/{domainId}\/records\/{recordId}": { + "\/documentsdb\/{databaseId}\/collections\/{collectionId}\/usage": { "get": { - "summary": "Get a single DNS record for a given domain by record ID.", - "operationId": "domainsGetRecord", + "summary": "Get collection usage stats", + "operationId": "documentsDBGetCollectionUsage", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Get a single DNS record for a given domain by record ID.\n \n This endpoint allows you to retrieve a specific DNS record associated with a domain\n using its unique identifier. The record contains information about the DNS configuration\n such as type, value, and TTL settings.", + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "DNSRecord", + "description": "UsageCollection", "schema": { - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/usageCollection" } } }, "deprecated": false, "x-appwrite": { - "method": "getRecord", + "method": "getCollectionUsage", "group": null, - "weight": 960, + "weight": 863, "cookies": false, "type": "", - "demo": "domains\/get-record.md", + "demo": "documentsdb\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-collection-usage.md", "auth": { "Project": [] } @@ -25183,58 +24630,108 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", "required": true, "type": "string", - "x-example": "<RECORD_ID>", + "x-example": "<COLLECTION_ID>", "in": "path" } ] - }, - "delete": { - "summary": "Delete a DNS record for the given domain.", - "operationId": "domainsDeleteRecord", - "consumes": [ - "application\/json" - ], + } + }, + "\/documentsdb\/{databaseId}\/usage": { + "get": { + "summary": "Get DocumentsDB usage stats", + "operationId": "documentsDBGetUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "domains" + "documentsDB" ], - "description": " Delete a DNS record for the given domain. This endpoint allows you to delete an existing DNS record \n from a specific domain.", + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "UsageDocumentsDB", + "schema": { + "$ref": "#\/definitions\/usageDocumentsDB" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRecord", + "method": "getUsage", "group": null, - "weight": 959, + "weight": 856, "cookies": false, "type": "", - "demo": "domains\/delete-record.md", + "demo": "documentsdb\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "collections.read", "platforms": [ "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/documentsdb\/get-database-usage.md", + "methods": [ + { + "name": "getUsage", + "namespace": "documentsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageDocumentsDB" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "documentsdb\/get-usage.md", + "public": true + } + ], "auth": { "Project": [] } @@ -25246,58 +24743,68 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "recordId", - "description": "DNS record unique ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<RECORD_ID>", - "in": "path" + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/domains\/{domainId}\/team": { - "patch": { - "summary": "Update domain team.", - "operationId": "domainsUpdateTeam", - "consumes": [ - "application\/json" - ], + "\/domains": { + "get": { + "summary": "List domains", + "operationId": "domainsList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "domains" ], - "description": " Update the team ID for a specific domain. This endpoint requires admin access.\n \n Updating the team ID will transfer ownership and access control of the domain\n and all its DNS records to the new team.", + "description": " List all domains registered for this project. This endpoint supports pagination.", "responses": { "200": { - "description": "Domain", + "description": "Domains list", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/domainsList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTeam", + "method": "list", "group": null, - "weight": 934, + "weight": 991, "cookies": false, "type": "", - "demo": "domains\/update-team.md", + "demo": "domains\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "domains.read", "platforms": [ "console" ], @@ -25314,66 +24821,61 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on attributes such as domain name, teamInternalId, expiration, etc.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "teamId": { - "type": "string", - "description": "New team unique ID.", - "default": null, - "x-example": "<TEAM_ID>" - } - }, - "required": [ - "teamId" - ] - } + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" } ] - } - }, - "\/domains\/{domainId}\/transfers\/status": { - "get": { - "summary": "Get domain transfer status.", - "operationId": "domainsGetTransferStatus", - "consumes": [], + }, + "post": { + "summary": "Create a new domain.", + "operationId": "domainsCreate", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "domains" ], - "description": " Retrieve the current transfer status for a domain. Returns the status, an optional reason, and a timestamp of the last status change.", + "description": " Create a new domain. Before creating a domain, you need to ensure that your DNS provider is properly configured. After creating the domain, you can use the verification endpoint to check if the domain is ready to be used.", "responses": { - "200": { - "description": "domainTransferStatus", + "201": { + "description": "Domain", "schema": { - "$ref": "#\/definitions\/domainTransferStatus" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "getTransferStatus", + "method": "create", "group": null, - "weight": 938, + "weight": 986, "cookies": false, "type": "", - "demo": "domains\/get-transfer-status.md", + "demo": "domains\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -25390,20 +24892,35 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team unique ID.", + "x-example": "<TEAM_ID>" + }, + "domain": { + "type": "string", + "description": "Domain name (e.g. \"example.com\").", + "x-example": null + } + }, + "required": [ + "teamId", + "domain" + ] + } } ] } }, - "\/domains\/{domainId}\/zone": { + "\/domains\/price": { "get": { - "summary": "Retrieve the DNS zone file for the given domain.", - "operationId": "domainsGetZone", + "summary": "Get domain price", + "operationId": "domainsGetPrice", "consumes": [], "produces": [ "application\/json" @@ -25411,23 +24928,23 @@ "tags": [ "domains" ], - "description": " Retrieve the DNS zone file for the given domain. This endpoint will return the DNS\n zone file in a standardized format that can be used to configure DNS servers.", + "description": " Get the registration price for a domain name.", "responses": { "200": { - "description": "File", + "description": "DomainPrice", "schema": { - "type": "file" + "$ref": "#\/definitions\/domainPrice" } } }, "deprecated": false, "x-appwrite": { - "method": "getZone", + "method": "getPrice", "group": null, - "weight": 929, + "weight": 989, "cookies": false, "type": "", - "demo": "domains\/get-zone.md", + "demo": "domains\/get-price.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25448,18 +24965,45 @@ ], "parameters": [ { - "name": "domainId", - "description": "Domain unique ID.", + "name": "domain", + "description": "Domain name to get price for.", "required": true, "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" + "in": "query" + }, + { + "name": "periodYears", + "description": "Number of years to calculate the domain price for. Must be at least 1.", + "required": false, + "type": "integer", + "format": "uint32", + "default": 1, + "in": "query" + }, + { + "name": "registrationType", + "description": "Type of registration pricing to fetch. Allowed values: new, transfer, renewal, trade.", + "required": false, + "type": "string", + "x-example": "new", + "enum": [ + "new", + "transfer", + "renewal", + "trade" + ], + "x-enum-name": null, + "x-enum-keys": [], + "default": "new", + "in": "query" } ] - }, - "put": { - "summary": "Update the DNS zone for the given domain using the provided zone file content. All parsed records are imported and then the main domain document is returned.", - "operationId": "domainsUpdateZone", + } + }, + "\/domains\/purchases": { + "post": { + "summary": "Create a domain purchase", + "operationId": "domainsCreatePurchase", "consumes": [ "application\/json" ], @@ -25469,27 +25013,27 @@ "tags": [ "domains" ], - "description": "Update the DNS zone for the given domain using the provided zone file content.\nAll parsed records are imported and then the main domain document is returned.", + "description": " Initiate a domain purchase by providing registrant details and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Purchase endpoint to capture the payment and finalize the purchase.", "responses": { "201": { - "description": "Domain", + "description": "DomainPurchase", "schema": { - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/domainPurchase" } } }, "deprecated": false, "x-appwrite": { - "method": "updateZone", + "method": "createPurchase", "group": null, - "weight": 933, + "weight": 1036, "cookies": false, "type": "", - "demo": "domains\/update-zone.md", + "demo": "domains\/create-purchase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.write", + "scope": "billing.write", "platforms": [ "console" ], @@ -25505,70 +25049,131 @@ } ], "parameters": [ - { - "name": "domainId", - "description": "Domain unique ID.", - "required": true, - "type": "string", - "x-example": "<DOMAIN_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "content": { + "domain": { "type": "string", - "description": "DNS zone file content as a string.", - "default": null, - "x-example": "<CONTENT>" + "description": "Fully qualified domain name to purchase (for example, example.com).", + "x-example": null + }, + "organizationId": { + "type": "string", + "description": "Team ID that will own the domain.", + "x-example": "<ORGANIZATION_ID>" + }, + "firstName": { + "type": "string", + "description": "Registrant first name used for domain registration.", + "x-example": "<FIRST_NAME>" + }, + "lastName": { + "type": "string", + "description": "Registrant last name used for domain registration.", + "x-example": "<LAST_NAME>" + }, + "email": { + "type": "string", + "description": "Registrant email address for registration and notices.", + "x-example": "email@example.com", + "format": "email" + }, + "phone": { + "type": "string", + "description": "Registrant phone number in E.164 format (for example, +15555551234).", + "x-example": "+12065550100", + "format": "phone" + }, + "billingAddressId": { + "type": "string", + "description": "Billing address ID used for registration contact details.", + "x-example": "<BILLING_ADDRESS_ID>" + }, + "addressLine3": { + "type": "string", + "description": "Additional address line for the registrant (line 3).", + "x-example": "<ADDRESS_LINE3>", + "default": "" + }, + "companyName": { + "type": "string", + "description": "Company or organization name for the registrant.", + "x-example": "<COMPANY_NAME>", + "default": "" + }, + "periodYears": { + "type": "integer", + "description": "Registration term in years (1-10).", + "x-example": 1, + "default": 1, + "format": "int32" + }, + "autoRenewal": { + "type": "boolean", + "description": "Whether the domain should renew automatically after purchase.", + "x-example": false, + "default": true + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID to authorize and capture the purchase.", + "x-example": "<PAYMENT_METHOD_ID>" } }, "required": [ - "content" + "domain", + "organizationId", + "firstName", + "lastName", + "email", + "phone", + "billingAddressId", + "paymentMethodId" ] } } ] } }, - "\/functions": { - "get": { - "summary": "List functions", - "operationId": "functionsList", - "consumes": [], + "\/domains\/purchases\/{invoiceId}": { + "patch": { + "summary": "Confirm a domain purchase", + "operationId": "domainsUpdatePurchase", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the project's functions. You can use the query params to filter your results.", + "description": " Finalize a domain purchase initiated with Create Purchase. Verifies that any required 3D Secure authentication is complete, registers the domain, captures the payment, and provisions default DNS records. Returns a 402 error if authentication is still pending.", "responses": { "200": { - "description": "Functions List", + "description": "DomainPurchase", "schema": { - "$ref": "#\/definitions\/functionList" + "$ref": "#\/definitions\/domainPurchase" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "functions", - "weight": 420, + "method": "updatePurchase", + "group": null, + "weight": 1037, "cookies": false, "type": "", - "demo": "functions\/list.md", + "demo": "domains\/update-purchase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -25578,14 +25183,96 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId", + "name": "invoiceId", + "description": "Invoice ID.", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Team ID that owns the domain.", + "x-example": "<ORGANIZATION_ID>" + } + }, + "required": [ + "organizationId" + ] + } + } + ] + } + }, + "\/domains\/suggestions": { + "get": { + "summary": "List domain suggestions", + "operationId": "domainsListSuggestions", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "domains" + ], + "description": " List domain suggestions.", + "responses": { + "200": { + "description": "Domain suggestions list", + "schema": { + "$ref": "#\/definitions\/domainSuggestionsList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listSuggestions", + "group": null, + "weight": 1035, + "cookies": false, + "type": "", + "demo": "domains\/list-suggestions.md", + "rate-limit": 50, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "query", + "description": "Query to find available domains and suggestions. Max length: 256 chars.", + "required": true, + "type": "string", + "x-example": "<QUERY>", + "in": "query" + }, + { + "name": "tlds", + "description": "TLDs to suggest.", "required": false, "type": "array", "collectionFormat": "multi", @@ -25596,28 +25283,50 @@ "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "limit", + "description": "Maximum number of suggestions to return.", + "required": false, + "type": "integer", + "format": "int32", + "in": "query" + }, + { + "name": "filterType", + "description": "Filter type: premium, suggestion.", "required": false, "type": "string", - "x-example": "<SEARCH>", - "default": "", + "x-example": "premium", + "enum": [ + "premium", + "suggestion" + ], + "x-enum-name": null, + "x-enum-keys": [], "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "priceMax", + "description": "Filter premium domains by maximum price. Only premium domains at or below this price will be returned. Does not affect regular domain suggestions.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "in": "query" + }, + { + "name": "priceMin", + "description": "Filter premium domains by minimum price. Only premium domains at or above this price will be returned. Does not affect regular domain suggestions.", + "required": false, + "type": "integer", + "format": "int32", "in": "query" } ] - }, + } + }, + "\/domains\/transfers\/in": { "post": { - "summary": "Create function", - "operationId": "functionsCreate", + "summary": "Create a domain transfer in.", + "operationId": "domainsCreateTransferIn", "consumes": [ "application\/json" ], @@ -25625,32 +25334,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", + "description": " Initiate a domain transfer-in by providing an authorization code, registrant details, and a payment method. Authorizes the payment and returns a `clientSecret`. If 3D Secure is required, use the `clientSecret` on the client to complete the authentication challenge. Once authentication is complete (or if none is needed), call the Update Transfer In endpoint to capture the payment and submit the transfer.", "responses": { "201": { - "description": "Function", + "description": "DomainPurchase", "schema": { - "$ref": "#\/definitions\/function" + "$ref": "#\/definitions\/domainPurchase" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "functions", - "weight": 908, + "method": "createTransferIn", + "group": null, + "weight": 996, "cookies": false, "type": "", - "demo": "functions\/create.md", + "demo": "domains\/create-transfer-in.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -25660,8 +25368,7 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -25671,370 +25378,80 @@ "schema": { "type": "object", "properties": { - "functionId": { - "type": "string", - "description": "Function ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<FUNCTION_ID>" - }, - "name": { - "type": "string", - "description": "Function name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "runtime": { - "type": "string", - "description": "Execution runtime.", - "default": null, - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "execute": { - "type": "array", - "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": [], - "x-example": "[\"any\"]", - "items": { - "type": "string" - } - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "schedule": { + "domain": { "type": "string", - "description": "Schedule CRON syntax.", - "default": "", + "description": "Domain name to transfer in.", "x-example": null }, - "timeout": { - "type": "integer", - "description": "Function maximum execution time in seconds.", - "default": 15, - "x-example": 1, - "format": "int32" - }, - "enabled": { - "type": "boolean", - "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "default": true, - "x-example": false - }, - "entrypoint": { - "type": "string", - "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "default": "", - "x-example": "<ENTRYPOINT>" - }, - "commands": { - "type": "string", - "description": "Build Commands.", - "default": "", - "x-example": "<COMMANDS>" - }, - "scopes": { - "type": "array", - "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { + "organizationId": { "type": "string", - "description": "Repository ID of the repo linked to the function.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "description": "Organization ID that this domain will belong to.", + "x-example": "<ORGANIZATION_ID>" }, - "providerBranch": { + "authCode": { "type": "string", - "description": "Production branch for the repo linked to the function.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" + "description": "Authorization code for the domain transfer.", + "x-example": "<AUTH_CODE>" }, - "providerSilentMode": { + "autoRenewal": { "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to function code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the function deployments.", - "default": {}, - "x-example": null + "description": "Whether the domain should renew automatically after transfer.", + "x-example": false, + "default": true }, - "runtimeSpecification": { + "paymentMethodId": { "type": "string", - "description": "Runtime specification for the function executions.", - "default": {}, - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, - "x-example": 0, - "format": "int32" + "description": "Payment method ID to authorize and capture the transfer.", + "x-example": "<PAYMENT_METHOD_ID>" } }, "required": [ - "functionId", - "name", - "runtime" + "domain", + "organizationId", + "authCode", + "paymentMethodId" ] } } ] } }, - "\/functions\/runtimes": { - "get": { - "summary": "List runtimes", - "operationId": "functionsListRuntimes", - "consumes": [], + "\/domains\/transfers\/in\/{invoiceId}": { + "patch": { + "summary": "Confirm a domain transfer in", + "operationId": "domainsUpdateTransferIn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a list of all runtimes that are currently active on your instance.", + "description": " Finalize a domain transfer-in initiated with Create Transfer In. Verifies that any required 3D Secure authentication is complete, submits the transfer with the authorization code, captures the payment, and sends a confirmation email. Returns a 402 error if authentication is still pending.", "responses": { "200": { - "description": "Runtimes List", + "description": "DomainPurchase", "schema": { - "$ref": "#\/definitions\/runtimeList" + "$ref": "#\/definitions\/domainPurchase" } } }, "deprecated": false, "x-appwrite": { - "method": "listRuntimes", - "group": "runtimes", - "weight": 422, + "method": "updateTransferIn", + "group": null, + "weight": 997, "cookies": false, "type": "", - "demo": "functions\/list-runtimes.md", + "demo": "domains\/update-transfer-in.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26044,46 +25461,73 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } - ] - } - }, - "\/functions\/specifications": { - "get": { - "summary": "List specifications", - "operationId": "functionsListSpecifications", - "consumes": [], + ], + "parameters": [ + { + "name": "invoiceId", + "description": "Invoice ID.", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Team ID that owns the domain.", + "x-example": "<ORGANIZATION_ID>" + } + }, + "required": [ + "organizationId" + ] + } + } + ] + } + }, + "\/domains\/transfers\/out": { + "post": { + "summary": "Create a domain transfer out.", + "operationId": "domainsCreateTransferOut", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "List allowed function specifications for this instance.", + "description": " Initiate a domain transfer-out by generating an authorization code for the specified domain. The returned `authCode` should be provided to the gaining provider to complete the transfer. If the domain has auto-renewal enabled, it will be automatically disabled as part of this operation.", "responses": { - "200": { - "description": "Specifications List", + "202": { + "description": "domainTransferOut", "schema": { - "$ref": "#\/definitions\/specificationList" + "$ref": "#\/definitions\/domainTransferOut" } } }, "deprecated": false, "x-appwrite": { - "method": "listSpecifications", - "group": "runtimes", - "weight": 423, + "method": "createTransferOut", + "group": null, + "weight": 998, "cookies": false, "type": "", - "demo": "functions\/list-specifications.md", + "demo": "domains\/create-transfer-out.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "billing.write", "platforms": [ - "server", "console" ], "packaging": false, @@ -26094,44 +25538,68 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "domainId": { + "type": "string", + "description": "Domain unique ID.", + "x-example": "<DOMAIN_ID>" + }, + "organizationId": { + "type": "string", + "description": "Organization ID that this domain belongs to.", + "x-example": "<ORGANIZATION_ID>" + } + }, + "required": [ + "domainId", + "organizationId" + ] + } } ] } }, - "\/functions\/templates": { + "\/domains\/{domainId}": { "get": { - "summary": "List templates", - "operationId": "functionsListTemplates", + "summary": "Get a single domain by its unique ID.", + "operationId": "domainsGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "List available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", + "description": " Get a domain by its unique ID.", "responses": { "200": { - "description": "Function Templates List", + "description": "Domain", "schema": { - "$ref": "#\/definitions\/templateFunctionList" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "listTemplates", - "group": "templates", - "weight": 446, + "method": "get", + "group": null, + "weight": 988, "cookies": false, "type": "", - "demo": "functions\/list-templates.md", + "demo": "domains\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "domains.read", "platforms": [ "console" ], @@ -26148,200 +25616,105 @@ ], "parameters": [ { - "name": "runtimes", - "description": "List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [], - "in": "query" - }, - { - "name": "useCases", - "description": "List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "starter", - "databases", - "ai", - "messaging", - "utilities", - "dev-tools", - "auth" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [], - "in": "query" - }, - { - "name": "limit", - "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 25, - "in": "query" - }, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete a domain by its unique ID.", + "operationId": "domainsDelete", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "domains" + ], + "description": "Delete a domain by its unique ID. This endpoint can be used to delete a domain from your project.\nOnce deleted, the domain will no longer be available for use and all associated resources will be removed.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": null, + "weight": 987, + "cookies": false, + "type": "", + "demo": "domains\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "domains.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "offset", - "description": "Offset the list of returned templates. Maximum offset is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" - }, + "Project": [] + } + ], + "parameters": [ { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" } ] } }, - "\/functions\/templates\/{templateId}": { - "get": { - "summary": "Get function template", - "operationId": "functionsGetTemplate", - "consumes": [], + "\/domains\/{domainId}\/auto-renewal": { + "patch": { + "summary": "Update domain auto-renewal setting.", + "operationId": "domainsUpdateAutoRenewal", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", + "description": " Enable or disable auto-renewal for a domain.", "responses": { "200": { - "description": "Template Function", + "description": "Domain", "schema": { - "$ref": "#\/definitions\/templateFunction" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "getTemplate", - "group": "templates", - "weight": 445, + "method": "updateAutoRenewal", + "group": null, + "weight": 992, "cookies": false, "type": "", - "demo": "functions\/get-template.md", + "demo": "domains\/update-auto-renewal.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "domains.write", "platforms": [ "console" ], @@ -26358,48 +25731,67 @@ ], "parameters": [ { - "name": "templateId", - "description": "Template ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<TEMPLATE_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "autoRenewal": { + "type": "boolean", + "description": "Whether the domain should renew automatically.", + "x-example": false + } + }, + "required": [ + "autoRenewal" + ] + } } ] } }, - "\/functions\/usage": { - "get": { - "summary": "Get functions usage", - "operationId": "functionsListUsage", - "consumes": [], + "\/domains\/{domainId}\/nameservers": { + "patch": { + "summary": "Verify which NS records are used and update the domain accordingly.", + "operationId": "domainsUpdateNameservers", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": " Verify which NS records are used and update the domain accordingly. This will check the domain's\n nameservers and update the domain's status based on whether the nameservers match the expected\n Appwrite nameservers.", "responses": { "200": { - "description": "UsageFunctions", + "description": "Domain", "schema": { - "$ref": "#\/definitions\/usageFunctions" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "listUsage", + "method": "updateNameservers", "group": null, - "weight": 439, + "weight": 993, "cookies": false, "type": "", - "demo": "functions\/list-usage.md", + "demo": "domains\/update-nameservers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -26416,63 +25808,50 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "x-example": "<DOMAIN_ID>", + "in": "path" } ] } }, - "\/functions\/{functionId}": { + "\/domains\/{domainId}\/presets\/google-workspace": { "get": { - "summary": "Get function", - "operationId": "functionsGet", + "summary": "Get Google Workspace preset (Records)", + "operationId": "domainsGetPresetGoogleWorkspace", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a function by its unique ID.", + "description": " List Google Workspace DNS records.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/function" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "functions", - "weight": 418, + "method": "getPresetGoogleWorkspace", + "group": null, + "weight": 1024, "cookies": false, "type": "", - "demo": "functions\/get.md", + "demo": "domains\/get-preset-google-workspace.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26482,24 +25861,23 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" } ] }, - "put": { - "summary": "Update function", - "operationId": "functionsUpdate", + "post": { + "summary": "Create Google Workspace preset (Records)", + "operationId": "domainsCreatePresetGoogleWorkspace", "consumes": [ "application\/json" ], @@ -26507,32 +25885,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Update function by its unique ID.", + "description": " Add Google Workspace DNS records to the domain. This will create the required MX records \n for Google Workspace email hosting.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/function" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "functions", - "weight": 909, + "method": "createPresetGoogleWorkspace", + "group": null, + "weight": 1023, "cookies": false, "type": "", - "demo": "functions\/update.md", + "demo": "domains\/create-preset-google-workspace.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26542,377 +25919,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Function name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "runtime": { - "type": "string", - "description": "Execution runtime.", - "default": "", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "execute": { - "type": "array", - "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": [], - "x-example": "[\"any\"]", - "items": { - "type": "string" - } - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "schedule": { - "type": "string", - "description": "Schedule CRON syntax.", - "default": "", - "x-example": null - }, - "timeout": { - "type": "integer", - "description": "Maximum execution time in seconds.", - "default": 15, - "x-example": 1, - "format": "int32" - }, - "enabled": { - "type": "boolean", - "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "default": true, - "x-example": false - }, - "entrypoint": { - "type": "string", - "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "default": "", - "x-example": "<ENTRYPOINT>" - }, - "commands": { - "type": "string", - "description": "Build Commands.", - "default": "", - "x-example": "<COMMANDS>" - }, - "scopes": { - "type": "array", - "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Controle System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the function", - "default": null, - "x-example": "<PROVIDER_REPOSITORY_ID>", - "x-nullable": true - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the function", - "default": "", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to function code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the function deployments.", - "default": {}, - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the function executions.", - "default": {}, - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, - "x-example": 0, - "format": "int32" - } - }, - "required": [ - "name" - ] - } } ] - }, - "delete": { - "summary": "Delete function", - "operationId": "functionsDelete", - "consumes": [ + } + }, + "\/domains\/{domainId}\/presets\/icloud": { + "get": { + "summary": "Get iCloud preset (Records)", + "operationId": "domainsGetPresetICloud", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "functions" + "domains" ], - "description": "Delete a function by its unique ID.", + "description": " List iCloud DNS records.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "DNS records list", + "schema": { + "$ref": "#\/definitions\/dnsRecordsList" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "functions", - "weight": 421, + "method": "getPresetICloud", + "group": null, + "weight": 1034, "cookies": false, "type": "", - "demo": "functions\/delete.md", + "demo": "domains\/get-preset-i-cloud.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26922,26 +25977,23 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" } ] - } - }, - "\/functions\/{functionId}\/deployment": { - "patch": { - "summary": "Update function's deployment", - "operationId": "functionsUpdateFunctionDeployment", + }, + "post": { + "summary": "Create iCloud preset (Records)", + "operationId": "domainsCreatePresetICloud", "consumes": [ "application\/json" ], @@ -26949,32 +26001,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", + "description": " Add iCloud DNS records to the domain. This will create the required MX and SPF records\n for using iCloud email services with your domain.", "responses": { - "200": { - "description": "Function", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/function" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateFunctionDeployment", - "group": "functions", - "weight": 426, + "method": "createPresetICloud", + "group": null, + "weight": 1033, "cookies": false, "type": "", - "demo": "functions\/update-function-deployment.md", + "demo": "domains\/create-preset-i-cloud.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -26984,75 +26035,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "deploymentId": { - "type": "string", - "description": "Deployment ID.", - "default": null, - "x-example": "<DEPLOYMENT_ID>" - } - }, - "required": [ - "deploymentId" - ] - } } ] } }, - "\/functions\/{functionId}\/deployments": { + "\/domains\/{domainId}\/presets\/mailgun": { "get": { - "summary": "List deployments", - "operationId": "functionsListDeployments", + "summary": "Get Mailgun preset (Records)", + "operationId": "domainsGetPresetMailgun", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the function's code deployments. You can use the query params to filter your results.", + "description": " List Mailgun DNS records.", "responses": { - "200": { - "description": "Deployments List", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deploymentList" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "listDeployments", - "group": "deployments", - "weight": 427, + "method": "getPresetMailgun", + "group": null, + "weight": 1026, "cookies": false, "type": "", - "demo": "functions\/list-deployments.md", + "demo": "domains\/get-preset-mailgun.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27062,89 +26093,57 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" } ] }, "post": { - "summary": "Create deployment", - "operationId": "functionsCreateDeployment", + "summary": "Create Mailgun preset (Records)", + "operationId": "domainsCreatePresetMailgun", "consumes": [ - "multipart\/form-data" + "application\/json" ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", + "description": " Add Mailgun DNS records to the domain. This endpoint will create the required DNS records \n for Mailgun in the specified domain.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "createDeployment", - "group": "deployments", - "weight": 424, + "method": "createPresetMailgun", + "group": null, + "weight": 1025, "cookies": false, - "type": "upload", - "demo": "functions\/create-deployment.md", + "type": "", + "demo": "domains\/create-preset-mailgun.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], - "packaging": true, + "packaging": false, "public": true, "auth": { "Project": [] @@ -27152,90 +26151,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "entrypoint", - "description": "Entrypoint File.", - "required": false, - "type": "string", - "x-example": "<ENTRYPOINT>", - "in": "formData" - }, - { - "name": "commands", - "description": "Build Commands.", - "required": false, - "type": "string", - "x-example": "<COMMANDS>", - "in": "formData" - }, - { - "name": "code", - "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", - "required": true, - "type": "file", - "in": "formData" - }, - { - "name": "activate", - "description": "Automatically activate the deployment when it is finished building.", - "required": true, - "type": "boolean", - "x-example": false, - "in": "formData" } ] } }, - "\/functions\/{functionId}\/deployments\/duplicate": { - "post": { - "summary": "Create duplicate deployment", - "operationId": "functionsCreateDuplicateDeployment", - "consumes": [ - "application\/json" - ], + "\/domains\/{domainId}\/presets\/outlook": { + "get": { + "summary": "Get Outlook preset (Records)", + "operationId": "domainsGetPresetOutlook", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", + "description": " List Outlook DNS records.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "createDuplicateDeployment", - "group": "deployments", - "weight": 432, + "method": "getPresetOutlook", + "group": null, + "weight": 1032, "cookies": false, "type": "", - "demo": "functions\/create-duplicate-deployment.md", + "demo": "domains\/get-preset-outlook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27245,50 +26209,23 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "deploymentId": { - "type": "string", - "description": "Deployment ID.", - "default": null, - "x-example": "<DEPLOYMENT_ID>" - }, - "buildId": { - "type": "string", - "description": "Build unique ID.", - "default": "", - "x-example": "<BUILD_ID>" - } - }, - "required": [ - "deploymentId" - ] - } } ] - } - }, - "\/functions\/{functionId}\/deployments\/template": { + }, "post": { - "summary": "Create template deployment", - "operationId": "functionsCreateTemplateDeployment", + "summary": "Create Outlook preset (Records)", + "operationId": "domainsCreatePresetOutlook", "consumes": [ "application\/json" ], @@ -27296,32 +26233,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", + "description": " Add Outlook DNS records to the domain. This will create the required MX records\n for setting up Outlook email hosting for your domain.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "createTemplateDeployment", - "group": "deployments", - "weight": 429, + "method": "createPresetOutlook", + "group": null, + "weight": 1031, "cookies": false, "type": "", - "demo": "functions\/create-template-deployment.md", + "demo": "domains\/create-preset-outlook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27331,118 +26267,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "repository": { - "type": "string", - "description": "Repository name of the template.", - "default": null, - "x-example": "<REPOSITORY>" - }, - "owner": { - "type": "string", - "description": "The name of the owner of the template.", - "default": null, - "x-example": "<OWNER>" - }, - "rootDirectory": { - "type": "string", - "description": "Path to function code in the template repo.", - "default": null, - "x-example": "<ROOT_DIRECTORY>" - }, - "type": { - "type": "string", - "description": "Type for the reference provided. Can be commit, branch, or tag", - "default": null, - "x-example": "commit", - "enum": [ - "commit", - "branch", - "tag" - ], - "x-enum-name": "TemplateReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "Reference value, can be a commit hash, branch name, or release tag", - "default": null, - "x-example": "<REFERENCE>" - }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false - } - }, - "required": [ - "repository", - "owner", - "rootDirectory", - "type", - "reference" - ] - } } ] } }, - "\/functions\/{functionId}\/deployments\/vcs": { - "post": { - "summary": "Create VCS deployment", - "operationId": "functionsCreateVcsDeployment", - "consumes": [ - "application\/json" - ], + "\/domains\/{domainId}\/presets\/proton-mail": { + "get": { + "summary": "Get ProtonMail preset (Records)", + "operationId": "domainsGetPresetProtonMail", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", + "description": " List ProtonMail DNS records.", "responses": { - "202": { - "description": "Deployment", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "createVcsDeployment", - "group": "deployments", - "weight": 430, + "method": "getPresetProtonMail", + "group": null, + "weight": 1030, "cookies": false, "type": "", - "demo": "functions\/create-vcs-deployment.md", + "demo": "domains\/get-preset-proton-mail.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27452,94 +26325,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of reference passed. Allowed values are: branch, commit", - "default": null, - "x-example": "branch", - "enum": [ - "branch", - "commit" - ], - "x-enum-name": "VCSReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "default": null, - "x-example": "<REFERENCE>" - }, - "activate": { - "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false - } - }, - "required": [ - "type", - "reference" - ] - } } ] - } - }, - "\/functions\/{functionId}\/deployments\/{deploymentId}": { - "get": { - "summary": "Get deployment", - "operationId": "functionsGetDeployment", - "consumes": [], + }, + "post": { + "summary": "Create ProtonMail preset (Records)", + "operationId": "domainsCreatePresetProtonMail", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a function deployment by its unique ID.", + "description": " Add ProtonMail DNS records to the domain. This will create the required MX records\n for using ProtonMail with your custom domain.", "responses": { - "200": { - "description": "Deployment", + "201": { + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "getDeployment", - "group": "deployments", - "weight": 425, + "method": "createPresetProtonMail", + "group": null, + "weight": 1029, "cookies": false, "type": "", - "demo": "functions\/get-deployment.md", + "demo": "domains\/create-preset-proton-mail.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27549,60 +26383,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "type": "string", - "x-example": "<FUNCTION_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<DEPLOYMENT_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" } ] - }, - "delete": { - "summary": "Delete deployment", - "operationId": "functionsDeleteDeployment", - "consumes": [ + } + }, + "\/domains\/{domainId}\/presets\/zoho": { + "get": { + "summary": "Get Zoho preset (Records)", + "operationId": "domainsGetPresetZoho", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "functions" + "domains" ], - "description": "Delete a code deployment by its unique ID.", + "description": " List Zoho DNS records.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "DNS records list", + "schema": { + "$ref": "#\/definitions\/dnsRecordsList" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDeployment", - "group": "deployments", - "weight": 428, + "method": "getPresetZoho", + "group": null, + "weight": 1028, "cookies": false, "type": "", - "demo": "functions\/delete-deployment.md", + "demo": "domains\/get-preset-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27612,65 +26441,55 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "type": "string", - "x-example": "<FUNCTION_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<DEPLOYMENT_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" } ] - } - }, - "\/functions\/{functionId}\/deployments\/{deploymentId}\/download": { - "get": { - "summary": "Get deployment download", - "operationId": "functionsGetDeploymentDownload", - "consumes": [], + }, + "post": { + "summary": "Create Zoho Mail preset (Records)", + "operationId": "domainsCreatePresetZoho", + "consumes": [ + "application\/json" + ], "produces": [ - "*\/*" + "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": " Add Zoho Mail DNS records to the domain. This will create the required MX records\n for setting up Zoho Mail on your domain.", "responses": { - "200": { - "description": "File", + "201": { + "description": "DNS records list", "schema": { - "type": "file" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "getDeploymentDownload", - "group": "deployments", - "weight": 431, + "method": "createPresetZoho", + "group": null, + "weight": 1027, "cookies": false, - "type": "location", - "demo": "functions\/get-deployment-download.md", + "type": "", + "demo": "domains\/create-preset-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27680,83 +26499,55 @@ }, "security": [ { - "Project": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "type": "string", - "x-example": "<FUNCTION_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<DEPLOYMENT_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" - }, - { - "name": "type", - "description": "Deployment file to download. Can be: \"source\", \"output\".", - "required": false, - "type": "string", - "x-example": "source", - "enum": [ - "source", - "output" - ], - "x-enum-name": "DeploymentDownloadType", - "x-enum-keys": [], - "default": "source", - "in": "query" } ] } }, - "\/functions\/{functionId}\/deployments\/{deploymentId}\/status": { - "patch": { - "summary": "Update deployment status", - "operationId": "functionsUpdateDeploymentStatus", - "consumes": [ - "application\/json" - ], + "\/domains\/{domainId}\/records": { + "get": { + "summary": "List DNS records for a given domain.", + "operationId": "domainsListRecords", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", + "description": " List DNS records for a given domain. You can use this endpoint to list all the DNS records\n associated with your domain.", "responses": { "200": { - "description": "Deployment", + "description": "DNS records list", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/dnsRecordsList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDeploymentStatus", - "group": "deployments", - "weight": 433, + "method": "listRecords", + "group": null, + "weight": 1022, "cookies": false, "type": "", - "demo": "functions\/update-deployment-status.md", + "demo": "domains\/list-records.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -27766,69 +26557,69 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", - "required": true, - "type": "string", - "x-example": "<FUNCTION_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. You may filter on attributes such as type, name, value, etc. Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "deploymentId", - "description": "Deployment ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<DEPLOYMENT_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" } ] } }, - "\/functions\/{functionId}\/executions": { - "get": { - "summary": "List executions", - "operationId": "functionsListExecutions", - "consumes": [], + "\/domains\/{domainId}\/records\/a": { + "post": { + "summary": "Create a new A record for the given domain.", + "operationId": "domainsCreateRecordA", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a list of all the current user function execution logs. You can use the query params to filter your results.", + "description": "Create a new A record for the given domain. A records are used to point a domain name \nto an IPv4 address. The record value should be a valid IPv4 address.", "responses": { - "200": { - "description": "Executions List", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/executionList" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "listExecutions", - "group": "executions", - "weight": 436, + "method": "createRecordA", + "group": null, + "weight": 1000, "cookies": false, "type": "", - "demo": "functions\/list-executions.md", + "demo": "domains\/create-record-a.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.read", - "execution.read" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, @@ -27838,84 +26629,93 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "IPv4 address for this A record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] - }, - "post": { - "summary": "Create execution", - "operationId": "functionsCreateExecution", + } + }, + "\/domains\/{domainId}\/records\/a\/{recordId}": { + "put": { + "summary": "Update an existing A record for the given domain.", + "operationId": "domainsUpdateRecordA", "consumes": [ "application\/json" ], "produces": [ - "multipart\/form-data" + "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Trigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", + "description": " Update an existing A record for the given domain. This endpoint allows you to modify \n the properties of an A record including its name (subdomain), IPv4 address, TTL, \n and optional comment.", "responses": { - "201": { - "description": "Execution", + "200": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/execution" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "createExecution", - "group": "executions", - "weight": 434, + "method": "updateRecordA", + "group": null, + "weight": 1001, "cookies": false, "type": "", - "demo": "functions\/create-execution.md", + "demo": "domains\/update-record-a.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.write", - "execution.write" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, @@ -27925,19 +26725,24 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", "in": "path" }, { @@ -27946,99 +26751,75 @@ "schema": { "type": "object", "properties": { - "body": { - "type": "string", - "description": "HTTP body of execution. Default value is empty string.", - "default": "", - "x-example": "<BODY>" - }, - "async": { - "type": "boolean", - "description": "Execute code in the background. Default value is false.", - "default": false, - "x-example": false - }, - "path": { + "name": { "type": "string", - "description": "HTTP path of execution. Path can include query params. Default value is \/", - "default": "\/", - "x-example": "<PATH>" + "description": "Record name (subdomain).", + "x-example": "<NAME>" }, - "method": { + "value": { "type": "string", - "description": "HTTP method of execution. Default value is POST.", - "default": "POST", - "x-example": "GET", - "enum": [ - "GET", - "POST", - "PUT", - "PATCH", - "DELETE", - "OPTIONS", - "HEAD" - ], - "x-enum-name": "ExecutionMethod", - "x-enum-keys": [] + "description": "IPv4 address for this A record.", + "x-example": null }, - "headers": { - "type": "object", - "description": "HTTP headers of execution. Defaults to empty.", - "default": [], - "x-example": "{}" + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" }, - "scheduledAt": { + "comment": { "type": "string", - "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "default": null, - "x-example": "<SCHEDULED_AT>", - "x-nullable": true + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>", + "default": "" } - } + }, + "required": [ + "name", + "value", + "ttl" + ] } } ] } }, - "\/functions\/{functionId}\/executions\/{executionId}": { - "get": { - "summary": "Get execution", - "operationId": "functionsGetExecution", - "consumes": [], + "\/domains\/{domainId}\/records\/aaaa": { + "post": { + "summary": "Create a new AAAA record for the given domain.", + "operationId": "domainsCreateRecordAAAA", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a function execution log by its unique ID.", + "description": " Create a new AAAA record for the given domain. This endpoint allows you to add a new IPv6 DNS record \n to your domain. The record will be used to point a hostname to an IPv6 address.", "responses": { - "200": { - "description": "Execution", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/execution" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getExecution", - "group": "executions", - "weight": 435, + "method": "createRecordAAAA", + "group": null, + "weight": 1002, "cookies": false, "type": "", - "demo": "functions\/get-execution.md", + "demo": "domains\/create-record-aaaa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.read", - "execution.read" - ], + "scope": "domains.write", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, @@ -28048,65 +26829,93 @@ }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "executionId", - "description": "Execution ID.", - "required": true, - "type": "string", - "x-example": "<EXECUTION_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "IPv6 address for this AAAA record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment explaining what this record is for.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] - }, - "delete": { - "summary": "Delete execution", - "operationId": "functionsDeleteExecution", + } + }, + "\/domains\/{domainId}\/records\/aaaa\/{recordId}": { + "put": { + "summary": "Update an existing AAAA record for the given domain.", + "operationId": "domainsUpdateRecordAAAA", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "functions" + "domains" ], - "description": "Delete a function execution by its unique ID.", + "description": " Update an existing AAAA record for the given domain. This endpoint allows you to modify\n the properties of an existing AAAA record, including its name (subdomain), IPv6 address,\n TTL, and optional comment.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "DNSRecord", + "schema": { + "$ref": "#\/definitions\/dnsRecord" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteExecution", - "group": "executions", - "weight": 437, + "method": "updateRecordAAAA", + "group": null, + "weight": 1003, "cookies": false, "type": "", - "demo": "functions\/delete-execution.md", + "demo": "domains\/update-record-aaaa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "executions.write", - "execution.write" - ], + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28116,62 +26925,99 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "executionId", - "description": "Execution ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "type": "string", - "x-example": "<EXECUTION_ID>", + "x-example": "<RECORD_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "IPv6 address for this AAAA record.", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/functions\/{functionId}\/usage": { - "get": { - "summary": "Get function usage", - "operationId": "functionsGetUsage", - "consumes": [], + "\/domains\/{domainId}\/records\/alias": { + "post": { + "summary": "Create a new ALIAS record for the given domain.", + "operationId": "domainsCreateRecordAlias", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": " Create a new ALIAS record for the given domain. This record type can be used to point your domain \n to another domain name that will serve as an alias. This is particularly useful when you want to \n map your domain to a target domain that may change its IP address.", "responses": { - "200": { - "description": "UsageFunction", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/usageFunction" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "createRecordAlias", "group": null, - "weight": 438, + "weight": 1004, "cookies": false, "type": "", - "demo": "functions\/get-usage.md", + "demo": "domains\/create-record-alias.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ "console" ], @@ -28188,71 +27034,88 @@ ], "parameters": [ { - "name": "functionId", - "description": "Function ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name.", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target domain for this ALIAS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/functions\/{functionId}\/variables": { - "get": { - "summary": "List variables", - "operationId": "functionsListVariables", - "consumes": [], + "\/domains\/{domainId}\/records\/alias\/{recordId}": { + "put": { + "summary": "Update an existing ALIAS record for the given domain.", + "operationId": "domainsUpdateRecordAlias", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a list of all variables of a specific function.", + "description": " Update an existing ALIAS record for the specified domain. This endpoint allows you to modify\n the properties of an existing ALIAS record including its name, target domain, TTL, and comment.\n \n The ALIAS record type is similar to a CNAME record but can be used at the zone apex (root domain).\n It provides a way to map one domain name to another.", "responses": { "200": { - "description": "Variables List", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/variableList" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 442, + "method": "updateRecordAlias", + "group": null, + "weight": 1005, "cookies": false, "type": "", - "demo": "functions\/list-variables.md", + "demo": "domains\/update-record-alias.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28262,45 +27125,69 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name.", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target domain for this ALIAS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] - }, + } + }, + "\/domains\/{domainId}\/records\/caa": { "post": { - "summary": "Create variable", - "operationId": "functionsCreateVariable", + "summary": "Create a new CAA record for the given domain.", + "operationId": "domainsCreateRecordCAA", "consumes": [ "application\/json" ], @@ -28308,32 +27195,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", + "description": "Create a new CAA record for the given domain. CAA records are used to specify which \nCertificate Authorities (CAs) are allowed to issue SSL\/TLS certificates for your domain.", "responses": { "201": { - "description": "Variable", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 910, + "method": "createRecordCAA", + "group": null, + "weight": 1006, "cookies": false, "type": "", - "demo": "functions\/create-variable.md", + "demo": "domains\/create-record-caa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28343,17 +27229,16 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { @@ -28362,76 +27247,75 @@ "schema": { "type": "object", "properties": { - "variableId": { - "type": "string", - "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<VARIABLE_ID>" - }, - "key": { + "name": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>" + "description": "Record name.", + "x-example": null }, "value": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>" + "description": "CAA value (e.g. issuer domain).", + "x-example": null }, - "secret": { - "type": "boolean", - "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "default": true, - "x-example": false + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" } }, "required": [ - "variableId", - "key", - "value" + "name", + "value", + "ttl" ] } } ] } }, - "\/functions\/{functionId}\/variables\/{variableId}": { - "get": { - "summary": "Get variable", - "operationId": "functionsGetVariable", - "consumes": [], + "\/domains\/{domainId}\/records\/caa\/{recordId}": { + "put": { + "summary": "Update an existing CAA record for the given domain.", + "operationId": "domainsUpdateRecordCAA", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Get a variable by its unique ID.", + "description": " Update an existing CAA record for the given domain. A CAA (Certification Authority Authorization) \n record is used to specify which certificate authorities (CAs) are authorized to issue certificates \n for a domain.", "responses": { "200": { - "description": "Variable", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getVariable", - "group": "variables", - "weight": 441, + "method": "updateRecordCAA", + "group": null, + "weight": 1007, "cookies": false, "type": "", - "demo": "functions\/get-variable.md", + "demo": "domains\/update-record-caa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28441,32 +27325,69 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "variableId", - "description": "Variable unique ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "type": "string", - "x-example": "<VARIABLE_ID>", + "x-example": "<RECORD_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name.", + "x-example": null + }, + "value": { + "type": "string", + "description": "CAA value (e.g. issuer domain).", + "x-example": null + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] - }, - "put": { - "summary": "Update variable", - "operationId": "functionsUpdateVariable", + } + }, + "\/domains\/{domainId}\/records\/cname": { + "post": { + "summary": "Create a new CNAME record for the given domain.", + "operationId": "domainsCreateRecordCNAME", "consumes": [ "application\/json" ], @@ -28474,32 +27395,31 @@ "application\/json" ], "tags": [ - "functions" + "domains" ], - "description": "Update variable by its unique ID.", + "description": " Create a new CNAME record for the given domain.\n \n A CNAME record maps a subdomain to another domain name, allowing you to create aliases \n for your domain. For example, you can create a CNAME record to point 'blog.example.com' \n to 'example.wordpress.com'.", "responses": { - "200": { - "description": "Variable", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "updateVariable", - "group": "variables", - "weight": 443, + "method": "createRecordCNAME", + "group": null, + "weight": 1008, "cookies": false, "type": "", - "demo": "functions\/update-variable.md", + "demo": "domains\/create-record-cname.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28509,25 +27429,16 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", - "required": true, - "type": "string", - "x-example": "<FUNCTION_ID>", - "in": "path" - }, - { - "name": "variableId", - "description": "Variable unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<VARIABLE_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { @@ -28536,63 +27447,75 @@ "schema": { "type": "object", "properties": { - "key": { + "name": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>", - "x-nullable": true + "description": "Record name (subdomain).", + "x-example": "<NAME>" }, "value": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>", - "x-nullable": true + "description": "Canonical target for this CNAME record.", + "x-example": "<VALUE>" }, - "secret": { - "type": "boolean", - "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "default": null, - "x-example": false, - "x-nullable": true + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" } - } + }, + "required": [ + "name", + "value", + "ttl" + ] } } ] - }, - "delete": { - "summary": "Delete variable", - "operationId": "functionsDeleteVariable", + } + }, + "\/domains\/{domainId}\/records\/cname\/{recordId}": { + "put": { + "summary": "Update an existing CNAME record for the given domain.", + "operationId": "domainsUpdateRecordCNAME", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "functions" + "domains" ], - "description": "Delete a variable by its unique ID.", + "description": " Update an existing CNAME record for the given domain.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "DNSRecord", + "schema": { + "$ref": "#\/definitions\/dnsRecord" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteVariable", - "group": "variables", - "weight": 444, + "method": "updateRecordCNAME", + "group": null, + "weight": 1009, "cookies": false, "type": "", - "demo": "functions\/delete-variable.md", + "demo": "domains\/update-record-cname.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "functions.write", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -28602,34 +27525,69 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "functionId", - "description": "Function unique ID.", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "<FUNCTION_ID>", + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "variableId", - "description": "Variable unique ID.", + "name": "recordId", + "description": "DNS record unique ID.", "required": true, "type": "string", - "x-example": "<VARIABLE_ID>", + "x-example": "<RECORD_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Canonical target for this CNAME record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/graphql": { + "\/domains\/{domainId}\/records\/https": { "post": { - "summary": "GraphQL endpoint", - "operationId": "graphqlQuery", + "summary": "Create a new HTTPS record for the given domain.", + "operationId": "domainsCreateRecordHTTPS", "consumes": [ "application\/json" ], @@ -28637,75 +27595,95 @@ "application\/json" ], "tags": [ - "graphql" + "domains" ], - "description": "Execute a GraphQL mutation.", + "description": " Create a new HTTPS record for the given domain. This record is used to configure HTTPS \n settings for your domain, enabling secure communication over SSL\/TLS.", "responses": { - "200": { - "description": "Any", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/any" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "query", - "group": "graphql", - "weight": 117, + "method": "createRecordHTTPS", + "group": null, + "weight": 1010, "cookies": false, - "type": "graphql", - "demo": "graphql\/query.md", - "rate-limit": 60, - "rate-time": 60, + "type": "", + "demo": "domains\/create-record-https.md", + "rate-limit": 0, + "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "graphql", + "scope": "domains.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "query": { - "type": "object", - "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target for the HTTPS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" } }, "required": [ - "query" + "name", + "value", + "ttl" ] } } ] } }, - "\/graphql\/mutation": { - "post": { - "summary": "GraphQL endpoint", - "operationId": "graphqlMutation", + "\/domains\/{domainId}\/records\/https\/{recordId}": { + "put": { + "summary": "Update an existing HTTPS record for the given domain.", + "operationId": "domainsUpdateRecordHTTPS", "consumes": [ "application\/json" ], @@ -28713,1150 +27691,1390 @@ "application\/json" ], "tags": [ - "graphql" + "domains" ], - "description": "Execute a GraphQL mutation.", + "description": "Update an existing HTTPS record for the given domain. This endpoint allows you to modify \nthe properties of an HTTPS record associated with your domain, including the name (subdomain), \ntarget value, TTL, and optional comment.", "responses": { "200": { - "description": "Any", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/any" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "mutation", - "group": "graphql", - "weight": 116, + "method": "updateRecordHTTPS", + "group": null, + "weight": 1011, "cookies": false, - "type": "graphql", - "demo": "graphql\/mutation.md", - "rate-limit": 60, - "rate-time": 60, + "type": "", + "demo": "domains\/update-record-https.md", + "rate-limit": 0, + "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "graphql", + "scope": "domains.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "payload", + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" + }, + { + "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "query": { - "type": "object", - "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target for the HTTPS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" } }, "required": [ - "query" + "name", + "value", + "ttl" ] } } ] } }, - "\/health": { - "get": { - "summary": "Get HTTP", - "operationId": "healthGet", - "consumes": [], + "\/domains\/{domainId}\/records\/mx": { + "post": { + "summary": "Create a new MX record for the given domain.", + "operationId": "domainsCreateRecordMX", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite HTTP server is up and responsive.", + "description": " Create a new MX record for the given domain. MX records are used to define the mail servers responsible \n for accepting email messages for the domain. Multiple MX records can be created with different priorities.\n The priority parameter determines the order in which mail servers are used, with lower values indicating \n higher priority.", "responses": { - "200": { - "description": "Health Status", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthStatus" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "health", - "weight": 447, + "method": "createRecordMX", + "group": null, + "weight": 1012, "cookies": false, "type": "", - "demo": "health\/get.md", + "demo": "domains\/create-record-mx.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } - ] - } - }, - "\/health\/anti-virus": { - "get": { - "summary": "Get antivirus", - "operationId": "healthGetAntivirus", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" ], - "description": "Check the Appwrite Antivirus server is up and connection is successful.", - "responses": { - "200": { - "description": "Health Antivirus", + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/healthAntivirus" + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Mail server domain for this MX record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "MX priority.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority" + ] } } - }, - "deprecated": false, - "x-appwrite": { - "method": "getAntivirus", - "group": "health", - "weight": 456, - "cookies": false, - "type": "", - "demo": "health\/get-antivirus.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } ] } }, - "\/health\/cache": { - "get": { - "summary": "Get cache", - "operationId": "healthGetCache", - "consumes": [], + "\/domains\/{domainId}\/records\/mx\/{recordId}": { + "put": { + "summary": "Update an existing MX record for the given domain.", + "operationId": "domainsUpdateRecordMX", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite in-memory cache servers are up and connection is successful.", + "description": " Update an existing MX record for the given domain.", "responses": { "200": { - "description": "Status List", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthStatusList" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getCache", - "group": "health", - "weight": 450, + "method": "updateRecordMX", + "group": null, + "weight": 1013, "cookies": false, "type": "", - "demo": "health\/get-cache.md", + "demo": "domains\/update-record-mx.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Mail server domain for this MX record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "MX priority.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority" + ] + } } ] } }, - "\/health\/certificate": { - "get": { - "summary": "Get the SSL certificate for a domain", - "operationId": "healthGetCertificate", - "consumes": [], + "\/domains\/{domainId}\/records\/ns": { + "post": { + "summary": "Create a new NS record for the given domain.", + "operationId": "domainsCreateRecordNS", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the SSL certificate for a domain", + "description": " Create a new NS record for the given domain. NS records specify the nameservers that are used \n to resolve the domain name to IP addresses. Each domain can have multiple NS records.", "responses": { - "200": { - "description": "Health Certificate", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthCertificate" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getCertificate", - "group": "health", - "weight": 453, + "method": "createRecordNS", + "group": null, + "weight": 1014, "cookies": false, "type": "", - "demo": "health\/get-certificate.md", + "demo": "domains\/create-record-ns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "domain", - "description": "string", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "type": "string", - "in": "query" + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Nameserver target for this NS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/health\/console-pausing": { - "get": { - "summary": "Get console pausing health", - "operationId": "healthGetConsolePausing", - "consumes": [], + "\/domains\/{domainId}\/records\/ns\/{recordId}": { + "put": { + "summary": "Update an existing NS record for the given domain.", + "operationId": "domainsUpdateRecordNS", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get console pausing health status. Monitors projects approaching the pause threshold to detect potential issues with console access tracking.\n", + "description": " Update an existing NS record for the given domain. This endpoint allows you to modify \n the properties of an NS (nameserver) record associated with your domain. You can update \n the record name (subdomain), target nameserver value, TTL, and add or modify comments \n for better record management.", "responses": { "200": { - "description": "Health Status", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthStatus" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getConsolePausing", + "method": "updateRecordNS", "group": null, - "weight": 1052, + "weight": 1015, "cookies": false, "type": "", - "demo": "health\/get-console-pausing.md", + "demo": "domains\/update-record-ns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-console-pausing.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Percentage threshold of projects approaching pause. When hit (equal or higher), endpoint returns server error. Default value is 10.", - "required": false, - "type": "integer", - "format": "int32", - "default": 10, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" }, { - "name": "inactivityDays", - "description": "Number of days of inactivity before a project is paused. Should match the plan's projectInactivityDays setting. Default value is 7.", - "required": false, - "type": "integer", - "format": "int32", - "default": 7, - "in": "query" + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Nameserver target for this NS record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/health\/db": { - "get": { - "summary": "Get DB", - "operationId": "healthGetDB", - "consumes": [], + "\/domains\/{domainId}\/records\/srv": { + "post": { + "summary": "Create a new SRV record for the given domain.", + "operationId": "domainsCreateRecordSRV", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Check the Appwrite database servers are up and connection is successful.", + "description": " Create a new SRV record for the given domain. SRV records are used to define the location \n of servers for specific services. For example, they can be used to specify which server \n handles a specific service like SIP or XMPP for the domain.", "responses": { - "200": { - "description": "Status List", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthStatusList" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getDB", - "group": "health", - "weight": 449, + "method": "createRecordSRV", + "group": null, + "weight": 1016, "cookies": false, "type": "", - "demo": "health\/get-db.md", + "demo": "domains\/create-record-srv.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } - ] - } - }, - "\/health\/pubsub": { - "get": { - "summary": "Get pubsub", - "operationId": "healthGetPubSub", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" ], - "description": "Check the Appwrite pub-sub servers are up and connection is successful.", - "responses": { - "200": { - "description": "Status List", - "schema": { - "$ref": "#\/definitions\/healthStatusList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getPubSub", - "group": "health", - "weight": 451, - "cookies": false, - "type": "", - "demo": "health\/get-pub-sub.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", - "auth": { - "Project": [] - } - }, - "security": [ + "parameters": [ { - "Project": [], - "Key": [] + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (service name).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target hostname for this SRV record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Record priority.", + "x-example": null, + "format": "int32" + }, + "weight": { + "type": "integer", + "description": "Record weight.", + "x-example": null, + "format": "int32" + }, + "port": { + "type": "integer", + "description": "Port number for the service.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority", + "weight", + "port" + ] + } } ] } }, - "\/health\/queue\/audits": { - "get": { - "summary": "Get audits queue", - "operationId": "healthGetQueueAudits", - "consumes": [], + "\/domains\/{domainId}\/records\/srv\/{recordId}": { + "put": { + "summary": "Update an existing SRV record for the given domain.", + "operationId": "domainsUpdateRecordSRV", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the number of audit logs that are waiting to be processed in the Appwrite internal queue server.\n", + "description": " Update an existing SRV record for the given domain.\n \n Required parameters:\n - domainId: Domain unique ID\n - recordId: DNS record unique ID\n - name: Record name (service name)\n - value: Target hostname for this SRV record\n - ttl: Time to live, in seconds\n - priority: Record priority\n - weight: Record weight\n - port: Port number for the service\n \n Optional parameters:\n - comment: A comment for this record", "responses": { "200": { - "description": "Health Queue", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueAudits", - "group": "queue", - "weight": 457, + "method": "updateRecordSRV", + "group": null, + "weight": 1017, "cookies": false, "type": "", - "demo": "health\/get-queue-audits.md", + "demo": "domains\/update-record-srv.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-audits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (service name).", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "Target hostname for this SRV record.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Record priority.", + "x-example": null, + "format": "int32" + }, + "weight": { + "type": "integer", + "description": "Record weight.", + "x-example": null, + "format": "int32" + }, + "port": { + "type": "integer", + "description": "Port number for the service.", + "x-example": null, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl", + "priority", + "weight", + "port" + ] + } } ] } }, - "\/health\/queue\/billing-project-aggregation": { - "get": { - "summary": "Get billing project aggregation queue", - "operationId": "healthGetQueueBillingProjectAggregation", - "consumes": [], + "\/domains\/{domainId}\/records\/txt": { + "post": { + "summary": "Create a new TXT record for the given domain.", + "operationId": "domainsCreateRecordTXT", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get billing project aggregation queue.", + "description": " Create a new TXT record for the given domain. TXT records can be used \n to provide additional information about your domain, such as domain \n verification records, SPF records, or DKIM records.", "responses": { - "200": { - "description": "Health Queue", + "201": { + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueBillingProjectAggregation", + "method": "createRecordTXT", "group": null, - "weight": 1048, + "weight": 1018, "cookies": false, "type": "", - "demo": "health\/get-queue-billing-project-aggregation.md", + "demo": "domains\/create-record-txt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-project-aggregation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 10000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain) for the TXT record.", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "TXT record value.", + "x-example": "<VALUE>", + "default": "" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "ttl" + ] + } } ] } }, - "\/health\/queue\/billing-team-aggregation": { - "get": { - "summary": "Get billing team aggregation queue", - "operationId": "healthGetQueueBillingTeamAggregation", - "consumes": [], + "\/domains\/{domainId}\/records\/txt\/{recordId}": { + "put": { + "summary": "Update an existing TXT record for the given domain.", + "operationId": "domainsUpdateRecordTXT", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get billing team aggregation queue.", + "description": " Update an existing TXT record for the given domain.\n \n Update the TXT record details for a specific domain by providing the domain ID,\n record ID, and the new record configuration including name, value, TTL, and an optional comment.", "responses": { "200": { - "description": "Health Queue", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueBillingTeamAggregation", + "method": "updateRecordTXT", "group": null, - "weight": 1047, + "weight": 1019, "cookies": false, "type": "", - "demo": "health\/get-queue-billing-team-aggregation.md", + "demo": "domains\/update-record-txt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-team-aggregation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 10000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Record name (subdomain) for the TXT record.", + "x-example": "<NAME>" + }, + "value": { + "type": "string", + "description": "TXT record value.", + "x-example": "<VALUE>" + }, + "ttl": { + "type": "integer", + "description": "Time to live, in seconds. Must be greater than 0.", + "x-example": 1, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "A comment for this record.", + "x-example": "<COMMENT>", + "default": "" + } + }, + "required": [ + "name", + "value", + "ttl" + ] + } } ] } }, - "\/health\/queue\/builds": { + "\/domains\/{domainId}\/records\/{recordId}": { "get": { - "summary": "Get builds queue", - "operationId": "healthGetQueueBuilds", + "summary": "Get a single DNS record for a given domain by record ID.", + "operationId": "domainsGetRecord", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the number of builds that are waiting to be processed in the Appwrite internal queue server.", + "description": " Get a single DNS record for a given domain by record ID.\n \n This endpoint allows you to retrieve a specific DNS record associated with a domain\n using its unique identifier. The record contains information about the DNS configuration\n such as type, value, and TTL settings.", "responses": { "200": { - "description": "Health Queue", + "description": "DNSRecord", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/dnsRecord" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueBuilds", - "group": "queue", - "weight": 461, + "method": "getRecord", + "group": null, + "weight": 1021, "cookies": false, "type": "", - "demo": "health\/get-queue-builds.md", + "demo": "domains\/get-record.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" } ] - } - }, - "\/health\/queue\/builds-priority": { - "get": { - "summary": "Get billing aggregation queue", - "operationId": "healthGetQueuePriorityBuilds", - "consumes": [], + }, + "delete": { + "summary": "Delete a DNS record for the given domain.", + "operationId": "domainsDeleteRecord", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the priority builds queue size.", + "description": " Delete a DNS record for the given domain. This endpoint allows you to delete an existing DNS record \n from a specific domain.", "responses": { - "200": { - "description": "Health Queue", - "schema": { - "$ref": "#\/definitions\/healthQueue" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getQueuePriorityBuilds", + "method": "deleteRecord", "group": null, - "weight": 1049, + "weight": 1020, "cookies": false, "type": "", - "demo": "health\/get-queue-priority-builds.md", + "demo": "domains\/delete-record.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-priority-builds.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 500.", - "required": false, - "type": "integer", - "format": "int32", - "default": 500, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "recordId", + "description": "DNS record unique ID.", + "required": true, + "type": "string", + "x-example": "<RECORD_ID>", + "in": "path" } ] } }, - "\/health\/queue\/certificates": { - "get": { - "summary": "Get certificates queue", - "operationId": "healthGetQueueCertificates", - "consumes": [], + "\/domains\/{domainId}\/team": { + "patch": { + "summary": "Update domain team.", + "operationId": "domainsUpdateTeam", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the number of certificates that are waiting to be issued against [Letsencrypt](https:\/\/letsencrypt.org\/) in the Appwrite internal queue server.", + "description": " Update the team ID for a specific domain. This endpoint requires admin access.\n \n Updating the team ID will transfer ownership and access control of the domain\n and all its DNS records to the new team.", "responses": { "200": { - "description": "Health Queue", + "description": "Domain", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueCertificates", - "group": "queue", - "weight": 460, + "method": "updateTeam", + "group": null, + "weight": 995, "cookies": false, "type": "", - "demo": "health\/get-queue-certificates.md", + "demo": "domains\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "New team unique ID.", + "x-example": "<TEAM_ID>" + } + }, + "required": [ + "teamId" + ] + } } ] } }, - "\/health\/queue\/databases": { + "\/domains\/{domainId}\/transfers\/status": { "get": { - "summary": "Get databases queue", - "operationId": "healthGetQueueDatabases", + "summary": "Get domain transfer status.", + "operationId": "domainsGetTransferStatus", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.", + "description": " Retrieve the current transfer status for a domain. Returns the status, an optional reason, and a timestamp of the last status change.", "responses": { "200": { - "description": "Health Queue", + "description": "domainTransferStatus", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/domainTransferStatus" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueDatabases", - "group": "queue", - "weight": 462, + "method": "getTransferStatus", + "group": null, + "weight": 999, "cookies": false, "type": "", - "demo": "health\/get-queue-databases.md", + "demo": "domains\/get-transfer-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "name", - "description": "Queue name for which to check the queue size", - "required": false, + "name": "domainId", + "description": "Domain unique ID.", + "required": true, "type": "string", - "x-example": "<NAME>", - "default": "database_db_main", - "in": "query" - }, - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" + "x-example": "<DOMAIN_ID>", + "in": "path" } ] } }, - "\/health\/queue\/deletes": { + "\/domains\/{domainId}\/zone": { "get": { - "summary": "Get deletes queue", - "operationId": "healthGetQueueDeletes", + "summary": "Retrieve the DNS zone file for the given domain.", + "operationId": "domainsGetZone", "consumes": [], "produces": [ - "application\/json" + "text\/plain" ], "tags": [ - "health" + "domains" ], - "description": "Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.", + "description": " Retrieve the DNS zone file for the given domain. This endpoint will return the DNS\n zone file in a standardized format that can be used to configure DNS servers.", "responses": { "200": { - "description": "Health Queue", + "description": "Text", "schema": { - "$ref": "#\/definitions\/healthQueue" + "type": "string" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueDeletes", - "group": "queue", - "weight": 463, + "method": "getZone", + "group": null, + "weight": 990, "cookies": false, "type": "", - "demo": "health\/get-queue-deletes.md", + "demo": "domains\/get-zone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" + "name": "domainId", + "description": "Domain unique ID.", + "required": true, + "type": "string", + "x-example": "<DOMAIN_ID>", + "in": "path" } ] - } - }, - "\/health\/queue\/failed\/{name}": { - "get": { - "summary": "Get number of failed queue jobs", - "operationId": "healthGetFailedJobs", - "consumes": [], + }, + "put": { + "summary": "Update the DNS zone for the given domain using the provided zone file content. All parsed records are imported and then the main domain document is returned.", + "operationId": "domainsUpdateZone", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "domains" ], - "description": "Returns the amount of failed jobs in a given queue.\n", + "description": "Update the DNS zone for the given domain using the provided zone file content.\nAll parsed records are imported and then the main domain document is returned.", "responses": { - "200": { - "description": "Health Queue", + "201": { + "description": "Domain", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/domain" } } }, "deprecated": false, "x-appwrite": { - "method": "getFailedJobs", - "group": "queue", - "weight": 470, + "method": "updateZone", + "group": null, + "weight": 994, "cookies": false, "type": "", - "demo": "health\/get-failed-jobs.md", + "demo": "domains\/update-zone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "domains.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "name", - "description": "The name of the queue", + "name": "domainId", + "description": "Domain unique ID.", "required": true, "type": "string", - "x-example": "v1-database", - "enum": [ - "v1-database", - "v1-deletes", - "v1-audits", - "v1-mails", - "v1-functions", - "v1-stats-resources", - "v1-stats-usage", - "v1-webhooks", - "v1-certificates", - "v1-builds", - "v1-screenshots", - "v1-messaging", - "v1-migrations" - ], - "x-enum-name": null, - "x-enum-keys": [], + "x-example": "<DOMAIN_ID>", "in": "path" }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" - } - ] - } - }, - "\/health\/queue\/functions": { - "get": { - "summary": "Get functions queue", - "operationId": "healthGetQueueFunctions", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.", - "responses": { - "200": { - "description": "Health Queue", + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/healthQueue" + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "DNS zone file content as a string.", + "x-example": "<CONTENT>" + } + }, + "required": [ + "content" + ] } } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueFunctions", - "group": "queue", - "weight": 467, - "cookies": false, - "type": "", - "demo": "health\/get-queue-functions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" - } ] } }, - "\/health\/queue\/logs": { + "\/functions": { "get": { - "summary": "Get logs queue", - "operationId": "healthGetQueueLogs", + "summary": "List functions", + "operationId": "functionsList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Get the number of logs that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a list of all the project's functions. You can use the query params to filter your results.", "responses": { "200": { - "description": "Health Queue", + "description": "Functions List", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/functionList" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueLogs", - "group": "queue", - "weight": 459, + "method": "list", + "group": "functions", + "weight": 425, "cookies": false, "type": "", - "demo": "health\/get-queue-logs.md", + "demo": "functions\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -29869,180 +29087,76 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId", "required": false, - "type": "integer", - "format": "int32", - "default": 5000, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], "in": "query" - } - ] - } - }, - "\/health\/queue\/mails": { - "get": { - "summary": "Get mails queue", - "operationId": "healthGetQueueMails", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Get the number of mails that are waiting to be processed in the Appwrite internal queue server.", - "responses": { - "200": { - "description": "Health Queue", - "schema": { - "$ref": "#\/definitions\/healthQueue" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueMails", - "group": "queue", - "weight": 464, - "cookies": false, - "type": "", - "demo": "health\/get-queue-mails.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ + }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", "required": false, - "type": "integer", - "format": "int32", - "default": 5000, + "type": "string", + "x-example": "<SEARCH>", + "default": "", "in": "query" - } - ] - } - }, - "\/health\/queue\/messaging": { - "get": { - "summary": "Get messaging queue", - "operationId": "healthGetQueueMessaging", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Get the number of messages that are waiting to be processed in the Appwrite internal queue server.", - "responses": { - "200": { - "description": "Health Queue", - "schema": { - "$ref": "#\/definitions\/healthQueue" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueMessaging", - "group": "queue", - "weight": 465, - "cookies": false, - "type": "", - "demo": "health\/get-queue-messaging.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ + }, { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, - "type": "integer", - "format": "int32", - "default": 5000, + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] - } - }, - "\/health\/queue\/migrations": { - "get": { - "summary": "Get migrations queue", - "operationId": "healthGetQueueMigrations", - "consumes": [], + }, + "post": { + "summary": "Create function", + "operationId": "functionsCreate", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.", + "description": "Create a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "responses": { - "200": { - "description": "Health Queue", + "201": { + "description": "Function", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/function" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueMigrations", - "group": "queue", - "weight": 466, + "method": "create", + "group": "functions", + "weight": 969, "cookies": false, "type": "", - "demo": "health\/get-queue-migrations.md", + "demo": "functions\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -30055,180 +29169,382 @@ ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" - } - ] - } - }, - "\/health\/queue\/region-manager": { - "get": { - "summary": "Get region manager queue", - "operationId": "healthGetQueueRegionManager", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Get region manager queue.", - "responses": { - "200": { - "description": "Health Queue", + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/healthQueue" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueRegionManager", - "group": null, - "weight": 1050, - "cookies": false, - "type": "", - "demo": "health\/get-queue-region-manager.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-region-manager.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", - "required": false, - "type": "integer", - "format": "int32", - "default": 100, - "in": "query" - } - ] - } - }, - "\/health\/queue\/stats-resources": { - "get": { - "summary": "Get stats resources queue", - "operationId": "healthGetQueueStatsResources", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.", - "responses": { - "200": { - "description": "Health Queue", - "schema": { - "$ref": "#\/definitions\/healthQueue" + "type": "object", + "properties": { + "functionId": { + "type": "string", + "description": "Function ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<FUNCTION_ID>" + }, + "name": { + "type": "string", + "description": "Function name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "runtime": { + "type": "string", + "description": "Execution runtime.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "execute": { + "type": "array", + "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "default": [], + "items": { + "type": "string" + } + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "schedule": { + "type": "string", + "description": "Schedule CRON syntax.", + "x-example": null, + "default": "" + }, + "timeout": { + "type": "integer", + "description": "Function maximum execution time in seconds.", + "x-example": 1, + "default": 15, + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "logging": { + "type": "boolean", + "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", + "x-example": false, + "default": true + }, + "entrypoint": { + "type": "string", + "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", + "x-example": "<ENTRYPOINT>", + "default": "" + }, + "commands": { + "type": "string", + "description": "Build Commands.", + "x-example": "<COMMANDS>", + "default": "" + }, + "scopes": { + "type": "array", + "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>", + "default": "" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the function.", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the function.", + "x-example": "<PROVIDER_BRANCH>", + "default": "" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false, + "default": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to function code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the function deployments.", + "x-example": null, + "default": {} + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the function executions.", + "x-example": null, + "default": {} + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "default": 0, + "format": "int32" + } + }, + "required": [ + "functionId", + "name", + "runtime" + ] } } - }, - "deprecated": false, - "x-appwrite": { - "method": "getQueueStatsResources", - "group": "queue", - "weight": 468, - "cookies": false, - "type": "", - "demo": "health\/get-queue-stats-resources.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" - } ] } }, - "\/health\/queue\/stats-usage": { + "\/functions\/runtimes": { "get": { - "summary": "Get stats usage queue", - "operationId": "healthGetQueueUsage", + "summary": "List runtimes", + "operationId": "functionsListRuntimes", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.", + "description": "Get a list of all runtimes that are currently active on your instance.", "responses": { "200": { - "description": "Health Queue", + "description": "Runtimes List", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/runtimeList" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueUsage", - "group": "queue", - "weight": 469, + "method": "listRuntimes", + "group": "runtimes", + "weight": 427, "cookies": false, "type": "", - "demo": "health\/get-queue-usage.md", + "demo": "functions\/list-runtimes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -30238,59 +29554,47 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5000, - "in": "query" - } ] } }, - "\/health\/queue\/threats": { + "\/functions\/specifications": { "get": { - "summary": "Get threats queue", - "operationId": "healthGetQueueThreats", + "summary": "List specifications", + "operationId": "functionsListSpecifications", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Get threats queue.", + "description": "List allowed function specifications for this instance.", "responses": { "200": { - "description": "Health Queue", + "description": "Specifications List", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/specificationList" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueThreats", - "group": null, - "weight": 1051, + "method": "listSpecifications", + "group": "runtimes", + "weight": 428, "cookies": false, "type": "", - "demo": "health\/get-queue-threats.md", + "demo": "functions\/list-specifications.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ - "console", - "server" + "server", + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-threats.md", "auth": { "Project": [] } @@ -30300,329 +29604,385 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", - "required": false, - "type": "integer", - "format": "int32", - "default": 100, - "in": "query" - } ] } }, - "\/health\/queue\/webhooks": { + "\/functions\/templates": { "get": { - "summary": "Get webhooks queue", - "operationId": "healthGetQueueWebhooks", + "summary": "List templates", + "operationId": "functionsListTemplates", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.", + "description": "List available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "responses": { "200": { - "description": "Health Queue", + "description": "Function Templates List", "schema": { - "$ref": "#\/definitions\/healthQueue" + "$ref": "#\/definitions\/templateFunctionList" } } }, "deprecated": false, "x-appwrite": { - "method": "getQueueWebhooks", - "group": "queue", - "weight": 458, + "method": "listTemplates", + "group": "templates", + "weight": 451, "cookies": false, "type": "", - "demo": "health\/get-queue-webhooks.md", + "demo": "functions\/list-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "threshold", - "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", - "required": false, + "name": "runtimes", + "description": "List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [], + "in": "query" + }, + { + "name": "useCases", + "description": "List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "starter", + "databases", + "ai", + "messaging", + "utilities", + "dev-tools", + "auth" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [], + "in": "query" + }, + { + "name": "limit", + "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", + "required": false, "type": "integer", "format": "int32", - "default": 5000, + "x-example": 1, + "default": 25, + "in": "query" + }, + { + "name": "offset", + "description": "Offset the list of returned templates. Maximum offset is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] } }, - "\/health\/storage": { + "\/functions\/templates\/{templateId}": { "get": { - "summary": "Get storage", - "operationId": "healthGetStorage", + "summary": "Get function template", + "operationId": "functionsGetTemplate", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite storage device is up and connection is successful.", + "description": "Get a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "responses": { "200": { - "description": "Health Status", + "description": "Template Function", "schema": { - "$ref": "#\/definitions\/healthStatus" + "$ref": "#\/definitions\/templateFunction" } } }, "deprecated": false, "x-appwrite": { - "method": "getStorage", - "group": "storage", - "weight": 455, + "method": "getTemplate", + "group": "templates", + "weight": 450, "cookies": false, "type": "", - "demo": "health\/get-storage.md", + "demo": "functions\/get-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ] - } - }, - "\/health\/storage\/local": { - "get": { - "summary": "Get local storage", - "operationId": "healthGetStorageLocal", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "health" - ], - "description": "Check the Appwrite local storage device is up and connection is successful.", - "responses": { - "200": { - "description": "Health Status", - "schema": { - "$ref": "#\/definitions\/healthStatus" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "getStorageLocal", - "group": "storage", - "weight": 454, - "cookies": false, - "type": "", - "demo": "health\/get-storage-local.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", - "auth": { "Project": [] } - }, - "security": [ + ], + "parameters": [ { - "Project": [], - "Key": [] + "name": "templateId", + "description": "Template ID.", + "required": true, + "type": "string", + "x-example": "<TEMPLATE_ID>", + "in": "path" } ] } }, - "\/health\/time": { + "\/functions\/usage": { "get": { - "summary": "Get time", - "operationId": "healthGetTime", + "summary": "Get functions usage", + "operationId": "functionsListUsage", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "health" + "functions" ], - "description": "Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https:\/\/en.wikipedia.org\/wiki\/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.", + "description": "Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { "200": { - "description": "Health Time", + "description": "UsageFunctions", "schema": { - "$ref": "#\/definitions\/healthTime" + "$ref": "#\/definitions\/usageFunctions" } } }, "deprecated": false, "x-appwrite": { - "method": "getTime", - "group": "health", - "weight": 452, + "method": "listUsage", + "group": null, + "weight": 444, "cookies": false, "type": "", - "demo": "health\/get-time.md", + "demo": "functions\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "health.read", + "scope": "functions.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ] - } - }, - "\/locale": { - "get": { - "summary": "Get user locale", - "operationId": "localeGet", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "locale" - ], - "description": "Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.\n\n([IP Geolocation by DB-IP](https:\/\/db-ip.com))", - "responses": { - "200": { - "description": "Locale", - "schema": { - "$ref": "#\/definitions\/locale" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "get", - "group": null, - "weight": 49, - "cookies": false, - "type": "", - "demo": "locale\/get.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", - "auth": { "Project": [] } - }, - "security": [ + ], + "parameters": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/locale\/codes": { + "\/functions\/{functionId}": { "get": { - "summary": "List locale codes", - "operationId": "localeListCodes", + "summary": "Get function", + "operationId": "functionsGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "locale" + "functions" ], - "description": "List of all locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes).", + "description": "Get a function by its unique ID.", "responses": { "200": { - "description": "Locale codes list", + "description": "Function", "schema": { - "$ref": "#\/definitions\/localeCodeList" + "$ref": "#\/definitions\/function" } } }, "deprecated": false, "x-appwrite": { - "method": "listCodes", - "group": null, - "weight": 50, + "method": "get", + "group": "functions", + "weight": 423, "cookies": false, "type": "", - "demo": "locale\/list-codes.md", + "demo": "functions\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -30630,107 +29990,59 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } - ] - } - }, - "\/locale\/continents": { - "get": { - "summary": "List continents", - "operationId": "localeListContinents", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "locale" ], - "description": "List of all continents. You can use the locale header to get the data in a supported language.", - "responses": { - "200": { - "description": "Continents List", - "schema": { - "$ref": "#\/definitions\/continentList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listContinents", - "group": null, - "weight": 54, - "cookies": false, - "type": "", - "demo": "locale\/list-continents.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", - "auth": { - "Project": [] - } - }, - "security": [ + "parameters": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" } ] - } - }, - "\/locale\/countries": { - "get": { - "summary": "List countries", - "operationId": "localeListCountries", - "consumes": [], + }, + "put": { + "summary": "Update function", + "operationId": "functionsUpdate", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "locale" + "functions" ], - "description": "List of all countries. You can use the locale header to get the data in a supported language.", + "description": "Update function by its unique ID.", "responses": { "200": { - "description": "Countries List", + "description": "Function", "schema": { - "$ref": "#\/definitions\/countryList" + "$ref": "#\/definitions\/function" } } }, "deprecated": false, "x-appwrite": { - "method": "listCountries", - "group": null, - "weight": 51, + "method": "update", + "group": "functions", + "weight": 970, "cookies": false, "type": "", - "demo": "locale\/list-countries.md", + "demo": "functions\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -30738,107 +30050,383 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } - ] - } - }, - "\/locale\/countries\/eu": { - "get": { - "summary": "List EU countries", - "operationId": "localeListCountriesEU", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "locale" ], - "description": "List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.", - "responses": { - "200": { - "description": "Countries List", + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/countryList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listCountriesEU", - "group": null, - "weight": 52, - "cookies": false, - "type": "", - "demo": "locale\/list-countries-eu.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Function name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "runtime": { + "type": "string", + "description": "Execution runtime.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "execute": { + "type": "array", + "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "default": [], + "items": { + "type": "string" + } + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "schedule": { + "type": "string", + "description": "Schedule CRON syntax.", + "x-example": null, + "default": "" + }, + "timeout": { + "type": "integer", + "description": "Maximum execution time in seconds.", + "x-example": 1, + "default": 15, + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "logging": { + "type": "boolean", + "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", + "x-example": false, + "default": true + }, + "entrypoint": { + "type": "string", + "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", + "x-example": "<ENTRYPOINT>", + "default": "" + }, + "commands": { + "type": "string", + "description": "Build Commands.", + "x-example": "<COMMANDS>", + "default": "" + }, + "scopes": { + "type": "array", + "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Controle System) deployment.", + "x-example": "<INSTALLATION_ID>", + "default": "" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the function", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "x-nullable": true + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the function", + "x-example": "<PROVIDER_BRANCH>", + "default": "" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false, + "default": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to function code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the function deployments.", + "x-example": null, + "default": {} + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the function executions.", + "x-example": null, + "default": {} + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "default": 0, + "format": "int32" + } + }, + "required": [ + "name" + ] + } } ] - } - }, - "\/locale\/countries\/phones": { - "get": { - "summary": "List countries phone codes", - "operationId": "localeListCountriesPhones", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete function", + "operationId": "functionsDelete", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ - "locale" + "functions" ], - "description": "List of all countries phone codes. You can use the locale header to get the data in a supported language.", + "description": "Delete a function by its unique ID.", "responses": { - "200": { - "description": "Phones List", - "schema": { - "$ref": "#\/definitions\/phoneList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "listCountriesPhones", - "group": null, - "weight": 53, + "method": "delete", + "group": "functions", + "weight": 426, "cookies": false, "type": "", - "demo": "locale\/list-countries-phones.md", + "demo": "functions\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -30846,53 +30434,61 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" } ] } }, - "\/locale\/currencies": { - "get": { - "summary": "List currencies", - "operationId": "localeListCurrencies", - "consumes": [], + "\/functions\/{functionId}\/deployment": { + "patch": { + "summary": "Update function's deployment", + "operationId": "functionsUpdateFunctionDeployment", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "locale" + "functions" ], - "description": "List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.", + "description": "Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "responses": { "200": { - "description": "Currencies List", + "description": "Function", "schema": { - "$ref": "#\/definitions\/currencyList" + "$ref": "#\/definitions\/function" } } }, "deprecated": false, "x-appwrite": { - "method": "listCurrencies", - "group": null, - "weight": 55, + "method": "updateFunctionDeployment", + "group": "functions", + "weight": 431, "cookies": false, "type": "", - "demo": "locale\/list-currencies.md", + "demo": "functions\/update-function-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -30900,53 +30496,76 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" + } + }, + "required": [ + "deploymentId" + ] + } } ] } }, - "\/locale\/languages": { + "\/functions\/{functionId}\/deployments": { "get": { - "summary": "List languages", - "operationId": "localeListLanguages", + "summary": "List deployments", + "operationId": "functionsListDeployments", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "locale" + "functions" ], - "description": "List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.", + "description": "Get a list of all the function's code deployments. You can use the query params to filter your results.", "responses": { "200": { - "description": "Languages List", + "description": "Deployments List", "schema": { - "$ref": "#\/definitions\/languageList" + "$ref": "#\/definitions\/deploymentList" } } }, "deprecated": false, "x-appwrite": { - "method": "listLanguages", - "group": null, - "weight": 56, + "method": "listDeployments", + "group": "deployments", + "weight": 432, "cookies": false, "type": "", - "demo": "locale\/list-languages.md", + "demo": "functions\/list-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "locale.read", + "scope": "functions.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -30954,254 +30573,231 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } - ] - } - }, - "\/manager\/blocks": { - "post": { - "summary": "Create a new resource block for a project", - "operationId": "managerCreateBlock", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" ], - "tags": [ - "manager" - ], - "description": "Creates a new resource block.", - "responses": { - "201": { - "description": "Block", - "schema": { - "$ref": "#\/definitions\/block" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createBlock", - "group": null, - "weight": 983, - "cookies": false, - "type": "", - "demo": "manager\/create-block.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "", - "platforms": [ - "console" - ], - "packaging": false, - "public": true - }, "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "projectId": { - "type": "string", - "description": "Project ID", - "default": null, - "x-example": "<PROJECT_ID>" - }, - "resourceType": { - "type": "string", - "description": "Resource type to block (e.g., projects, functions, databases, storage, etc.)", - "default": null, - "x-example": "projects", - "enum": [ - "projects", - "functions", - "sites", - "databases", - "buckets", - "providers", - "topics", - "subscribers", - "messages" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { - "type": "string", - "description": "Optional resource ID (if omitted, all resources of this type will be blocked)", - "default": "", - "x-example": "<RESOURCE_ID>" - }, - "reason": { - "type": "string", - "description": "Optional reason why the resource is blocked", - "default": "", - "x-example": "<REASON>" - }, - "expiredAt": { - "type": "string", - "description": "Optional expiration date for the block", - "default": "", - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" - } - }, - "required": [ - "projectId", - "resourceType" - ] - } + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "delete": { - "summary": "Delete resource blocks for a project", - "operationId": "managerDeleteBlock", + "post": { + "summary": "Create deployment", + "operationId": "functionsCreateDeployment", "consumes": [ - "application\/json" + "multipart\/form-data" ], "produces": [ "application\/json" ], "tags": [ - "manager" + "functions" ], - "description": "Deletes resource blocks for a project.", + "description": "Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "responses": { - "200": { - "description": "BlockDelete", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/blockDelete" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "deleteBlock", - "group": null, - "weight": 985, + "method": "createDeployment", + "group": "deployments", + "weight": 429, "cookies": false, - "type": "", - "demo": "manager\/delete-block.md", + "type": "upload", + "demo": "functions\/create-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "functions.write", "platforms": [ - "console" + "console", + "server" ], - "packaging": false, - "public": true + "packaging": true, + "public": true, + "auth": { + "Project": [] + } }, + "security": [ + { + "Project": [], + "Key": [] + } + ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "projectId": { - "type": "string", - "description": "Project ID", - "default": null, - "x-example": "<PROJECT_ID>" - }, - "resourceType": { - "type": "string", - "description": "Resource type to unblock", - "default": null, - "x-example": "projects", - "enum": [ - "projects", - "functions", - "sites", - "databases", - "buckets", - "providers", - "topics", - "subscribers", - "messages" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { - "type": "string", - "description": "Optional resource ID (if omitted, all blocks of this type will be removed)", - "default": "", - "x-example": "<RESOURCE_ID>" - } - }, - "required": [ - "projectId", - "resourceType" - ] - } + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "entrypoint", + "description": "Entrypoint File.", + "required": false, + "type": "string", + "x-example": "<ENTRYPOINT>", + "in": "formData" + }, + { + "name": "commands", + "description": "Build Commands.", + "required": false, + "type": "string", + "x-example": "<COMMANDS>", + "in": "formData" + }, + { + "name": "code", + "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", + "required": true, + "type": "file", + "in": "formData" + }, + { + "name": "activate", + "description": "Automatically activate the deployment when it is finished building.", + "required": true, + "type": "boolean", + "x-example": false, + "in": "formData" } ] } }, - "\/manager\/blocks\/{projectId}": { - "get": { - "summary": "List all resource blocks for a project", - "operationId": "managerListBlocks", - "consumes": [], + "\/functions\/{functionId}\/deployments\/duplicate": { + "post": { + "summary": "Create duplicate deployment", + "operationId": "functionsCreateDuplicateDeployment", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "manager" + "functions" ], - "description": "Lists all resource blocks for a project.", + "description": "Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "responses": { - "200": { - "description": "Blocks list", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/blockList" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "listBlocks", - "group": null, - "weight": 984, + "method": "createDuplicateDeployment", + "group": "deployments", + "weight": 437, "cookies": false, "type": "", - "demo": "manager\/list-blocks.md", + "demo": "functions\/create-duplicate-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "functions.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true + "public": true, + "auth": { + "Project": [] + } }, + "security": [ + { + "Project": [], + "Key": [] + } + ], "parameters": [ { - "name": "projectId", - "description": "Project ID", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<PROJECT_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" + }, + "buildId": { + "type": "string", + "description": "Build unique ID.", + "x-example": "<BUILD_ID>", + "default": "" + } + }, + "required": [ + "deploymentId" + ] + } } ] } }, - "\/manager\/users\/status": { - "patch": { - "summary": "Update a user status by ID or email", - "operationId": "managerUpdateUserStatus", + "\/functions\/{functionId}\/deployments\/template": { + "post": { + "summary": "Create template deployment", + "operationId": "functionsCreateTemplateDeployment", "consumes": [ "application\/json" ], @@ -31209,114 +30805,151 @@ "application\/json" ], "tags": [ - "manager" + "functions" ], - "description": "Updates a console user status using a user ID or email address.", + "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "responses": { - "200": { - "description": "User", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "updateUserStatus", - "group": "users", - "weight": 986, + "method": "createTemplateDeployment", + "group": "deployments", + "weight": 434, "cookies": false, "type": "", - "demo": "manager\/update-user-status.md", + "demo": "functions\/create-template-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "", + "scope": "functions.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true + "public": true, + "auth": { + "Project": [] + } }, + "security": [ + { + "Project": [], + "Key": [] + } + ], "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { + "repository": { "type": "string", - "description": "User ID.", - "default": "", - "x-example": "<USER_ID>" + "description": "Repository name of the template.", + "x-example": "<REPOSITORY>" }, - "email": { + "owner": { "type": "string", - "description": "User email address.", - "default": "", - "x-example": "<EMAIL>" + "description": "The name of the owner of the template.", + "x-example": "<OWNER>" }, - "status": { - "type": "boolean", - "description": "User status. Set to `false` to block and `true` to unblock.", - "default": null, - "x-example": false + "rootDirectory": { + "type": "string", + "description": "Path to function code in the template repo.", + "x-example": "<ROOT_DIRECTORY>" }, - "reason": { + "type": { "type": "string", - "description": "Optional reason when blocking a user. Accepted for parity with the CLI task but not persisted.", - "default": "", - "x-example": "<REASON>" + "description": "Type for the reference provided. Can be commit, branch, or tag", + "x-example": "commit", + "enum": [ + "commit", + "branch", + "tag" + ], + "x-enum-name": "TemplateReferenceType", + "x-enum-keys": [] + }, + "reference": { + "type": "string", + "description": "Reference value, can be a commit hash, branch name, or release tag", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false, + "default": false } }, "required": [ - "status" + "repository", + "owner", + "rootDirectory", + "type", + "reference" ] } } ] } }, - "\/messaging\/messages": { - "get": { - "summary": "List messages", - "operationId": "messagingListMessages", - "consumes": [], + "\/functions\/{functionId}\/deployments\/vcs": { + "post": { + "summary": "Create VCS deployment", + "operationId": "functionsCreateVcsDeployment", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Get a list of all messages from the current Appwrite project.", + "description": "Create a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "responses": { - "200": { - "description": "Message list", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/messageList" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "listMessages", - "group": "messages", - "weight": 158, + "method": "createVcsDeployment", + "group": "deployments", + "weight": 435, "cookies": false, "type": "", - "demo": "messaging\/list-messages.md", + "demo": "functions\/create-vcs-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -31329,79 +30962,89 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "functionId", + "description": "Function ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<FUNCTION_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of reference passed. Allowed values are: branch, commit", + "x-example": "branch", + "enum": [ + "branch", + "commit" + ], + "x-enum-name": "VCSReferenceType", + "x-enum-keys": [] + }, + "reference": { + "type": "string", + "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false, + "default": false + } + }, + "required": [ + "type", + "reference" + ] + } } ] } }, - "\/messaging\/messages\/email": { - "post": { - "summary": "Create email", - "operationId": "messagingCreateEmail", - "consumes": [ - "application\/json" - ], + "\/functions\/{functionId}\/deployments\/{deploymentId}": { + "get": { + "summary": "Get deployment", + "operationId": "functionsGetDeployment", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Create a new email message.", + "description": "Get a function deployment by its unique ID.", "responses": { - "201": { - "description": "Message", + "200": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/message" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "createEmail", - "group": "messages", - "weight": 155, + "method": "getDeployment", + "group": "deployments", + "weight": 430, "cookies": false, "type": "", - "demo": "messaging\/create-email.md", + "demo": "functions\/get-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -31414,155 +31057,57 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<MESSAGE_ID>" - }, - "subject": { - "type": "string", - "description": "Email Subject.", - "default": null, - "x-example": "<SUBJECT>" - }, - "content": { - "type": "string", - "description": "Email Content.", - "default": null, - "x-example": "<CONTENT>" - }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "cc": { - "type": "array", - "description": "Array of target IDs to be added as CC.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "bcc": { - "type": "array", - "description": "Array of target IDs to be added as BCC.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": false, - "x-example": false - }, - "html": { - "type": "boolean", - "description": "Is content of type HTML", - "default": false, - "x-example": false - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "messageId", - "subject", - "content" - ] - } + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "type": "string", + "x-example": "<DEPLOYMENT_ID>", + "in": "path" } ] - } - }, - "\/messaging\/messages\/email\/{messageId}": { - "patch": { - "summary": "Update email", - "operationId": "messagingUpdateEmail", + }, + "delete": { + "summary": "Delete deployment", + "operationId": "functionsDeleteDeployment", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "messaging" + "functions" ], - "description": "Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Delete a code deployment by its unique ID.", "responses": { - "200": { - "description": "Message", - "schema": { - "$ref": "#\/definitions\/message" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateEmail", - "group": "messages", - "weight": 162, + "method": "deleteDeployment", + "group": "deployments", + "weight": 433, "cookies": false, "type": "", - "demo": "messaging\/update-email.md", + "demo": "functions\/delete-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -31575,162 +31120,62 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "subject": { - "type": "string", - "description": "Email Subject.", - "default": null, - "x-example": "<SUBJECT>", - "x-nullable": true - }, - "content": { - "type": "string", - "description": "Email Content.", - "default": null, - "x-example": "<CONTENT>", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": null, - "x-example": false, - "x-nullable": true - }, - "html": { - "type": "boolean", - "description": "Is content of type HTML", - "default": null, - "x-example": false, - "x-nullable": true - }, - "cc": { - "type": "array", - "description": "Array of target IDs to be added as CC.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "bcc": { - "type": "array", - "description": "Array of target IDs to be added as BCC.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "attachments": { - "type": "array", - "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - } - } - } + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "type": "string", + "x-example": "<DEPLOYMENT_ID>", + "in": "path" } ] } }, - "\/messaging\/messages\/push": { - "post": { - "summary": "Create push notification", - "operationId": "messagingCreatePush", - "consumes": [ - "application\/json" - ], + "\/functions\/{functionId}\/deployments\/{deploymentId}\/download": { + "get": { + "summary": "Get deployment download", + "operationId": "functionsGetDeploymentDownload", + "consumes": [], "produces": [ - "application\/json" + "*\/*" ], "tags": [ - "messaging" + "functions" ], - "description": "Create a new push notification.", + "description": "Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { - "201": { - "description": "Message", + "200": { + "description": "File", "schema": { - "$ref": "#\/definitions\/message" + "type": "file" } } }, "deprecated": false, "x-appwrite": { - "method": "createPush", - "group": "messages", - "weight": 157, + "method": "getDeploymentDownload", + "group": "deployments", + "weight": 436, "cookies": false, - "type": "", - "demo": "messaging\/create-push.md", + "type": "location", + "demo": "functions\/get-deployment-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -31738,162 +31183,49 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<MESSAGE_ID>" - }, - "title": { - "type": "string", - "description": "Title for push notification.", - "default": "", - "x-example": "<TITLE>" - }, - "body": { - "type": "string", - "description": "Body for push notification.", - "default": "", - "x-example": "<BODY>" - }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "data": { - "type": "object", - "description": "Additional key-value pair data for push notification.", - "default": {}, - "x-example": "{}", - "x-nullable": true - }, - "action": { - "type": "string", - "description": "Action for push notification.", - "default": "", - "x-example": "<ACTION>" - }, - "image": { - "type": "string", - "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": "", - "x-example": "<ID1:ID2>" - }, - "icon": { - "type": "string", - "description": "Icon for push notification. Available only for Android and Web Platform.", - "default": "", - "x-example": "<ICON>" - }, - "sound": { - "type": "string", - "description": "Sound for push notification. Available only for Android and iOS Platform.", - "default": "", - "x-example": "<SOUND>" - }, - "color": { - "type": "string", - "description": "Color for push notification. Available only for Android Platform.", - "default": "", - "x-example": "<COLOR>" - }, - "tag": { - "type": "string", - "description": "Tag for push notification. Available only for Android Platform.", - "default": "", - "x-example": "<TAG>" - }, - "badge": { - "type": "integer", - "description": "Badge for push notification. Available only for iOS Platform.", - "default": -1, - "x-example": null, - "format": "int32" - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": false, - "x-example": false - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "contentAvailable": { - "type": "boolean", - "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "default": false, - "x-example": false - }, - "critical": { - "type": "boolean", - "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "default": false, - "x-example": false - }, - "priority": { - "type": "string", - "description": "Set the notification priority. \"normal\" will consider device state and may not deliver notifications immediately. \"high\" will always attempt to immediately deliver the notification.", - "default": "high", - "x-example": "normal", - "enum": [ - "normal", - "high" - ], - "x-enum-name": "MessagePriority", - "x-enum-keys": [] - } - }, - "required": [ - "messageId" - ] - } + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "type": "string", + "x-example": "<DEPLOYMENT_ID>", + "in": "path" + }, + { + "name": "type", + "description": "Deployment file to download. Can be: \"source\", \"output\".", + "required": false, + "type": "string", + "x-example": "source", + "enum": [ + "source", + "output" + ], + "x-enum-name": "DeploymentDownloadType", + "x-enum-keys": [], + "default": "source", + "in": "query" } ] } }, - "\/messaging\/messages\/push\/{messageId}": { + "\/functions\/{functionId}\/deployments\/{deploymentId}\/status": { "patch": { - "summary": "Update push notification", - "operationId": "messagingUpdatePush", + "summary": "Update deployment status", + "operationId": "functionsUpdateDeploymentStatus", "consumes": [ "application\/json" ], @@ -31901,36 +31233,35 @@ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "responses": { "200": { - "description": "Message", + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/message" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePush", - "group": "messages", - "weight": 164, + "method": "updateDeploymentStatus", + "group": "deployments", + "weight": 438, "cookies": false, "type": "", - "demo": "messaging\/update-push.md", + "demo": "functions\/update-deployment-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -31943,279 +31274,153 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", + "name": "deploymentId", + "description": "Deployment ID.", + "required": true, + "type": "string", + "x-example": "<DEPLOYMENT_ID>", + "in": "path" + } + ] + } + }, + "\/functions\/{functionId}\/executions": { + "get": { + "summary": "List executions", + "operationId": "functionsListExecutions", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "functions" + ], + "description": "Get a list of all the current user function execution logs. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Executions List", "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "title": { - "type": "string", - "description": "Title for push notification.", - "default": null, - "x-example": "<TITLE>", - "x-nullable": true - }, - "body": { - "type": "string", - "description": "Body for push notification.", - "default": null, - "x-example": "<BODY>", - "x-nullable": true - }, - "data": { - "type": "object", - "description": "Additional Data for push notification.", - "default": {}, - "x-example": "{}", - "x-nullable": true - }, - "action": { - "type": "string", - "description": "Action for push notification.", - "default": null, - "x-example": "<ACTION>", - "x-nullable": true - }, - "image": { - "type": "string", - "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": null, - "x-example": "<ID1:ID2>", - "x-nullable": true - }, - "icon": { - "type": "string", - "description": "Icon for push notification. Available only for Android and Web platforms.", - "default": null, - "x-example": "<ICON>", - "x-nullable": true - }, - "sound": { - "type": "string", - "description": "Sound for push notification. Available only for Android and iOS platforms.", - "default": null, - "x-example": "<SOUND>", - "x-nullable": true - }, - "color": { - "type": "string", - "description": "Color for push notification. Available only for Android platforms.", - "default": null, - "x-example": "<COLOR>", - "x-nullable": true - }, - "tag": { - "type": "string", - "description": "Tag for push notification. Available only for Android platforms.", - "default": null, - "x-example": "<TAG>", - "x-nullable": true - }, - "badge": { - "type": "integer", - "description": "Badge for push notification. Available only for iOS platforms.", - "default": null, - "x-example": null, - "format": "int32", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": null, - "x-example": false, - "x-nullable": true - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "contentAvailable": { - "type": "boolean", - "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "critical": { - "type": "boolean", - "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "priority": { - "type": "string", - "description": "Set the notification priority. \"normal\" will consider device battery state and may send notifications later. \"high\" will always attempt to immediately deliver the notification.", - "default": null, - "x-example": "normal", - "enum": [ - "normal", - "high" - ], - "x-enum-name": "MessagePriority", - "x-enum-keys": [], - "x-nullable": true - } - } + "$ref": "#\/definitions\/executionList" } } + }, + "deprecated": false, + "x-appwrite": { + "method": "listExecutions", + "group": "executions", + "weight": 441, + "cookies": false, + "type": "", + "demo": "functions\/list-executions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "executions.read", + "execution.read" + ], + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } ] - } - }, - "\/messaging\/messages\/sms": { + }, "post": { - "summary": "Create SMS", - "operationId": "messagingCreateSms", + "summary": "Create execution", + "operationId": "functionsCreateExecution", "consumes": [ "application\/json" ], "produces": [ - "application\/json" + "multipart\/form-data" ], "tags": [ - "messaging" + "functions" ], - "description": "Create a new SMS message.", + "description": "Trigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "responses": { "201": { - "description": "Message", + "description": "Execution", "schema": { - "$ref": "#\/definitions\/message" + "$ref": "#\/definitions\/execution" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createSms", - "group": "messages", - "weight": 156, + "method": "createExecution", + "group": "executions", + "weight": 439, "cookies": false, "type": "", - "demo": "messaging\/create-sms.md", + "demo": "functions\/create-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": [ + "executions.write", + "execution.write" + ], "platforms": [ "console", + "client", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMS" - }, - "methods": [ - { - "name": "createSms", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "content", - "topics", - "users", - "targets", - "draft", - "scheduledAt" - ], - "required": [ - "messageId", - "content" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/message" - } - ], - "description": "Create a new SMS message.", - "demo": "messaging\/create-sms.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMS" - } - }, - { - "name": "createSMS", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "content", - "topics", - "users", - "targets", - "draft", - "scheduledAt" - ], - "required": [ - "messageId", - "content" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/message" - } - ], - "description": "Create a new SMS message.", - "demo": "messaging\/create-sms.md", - "public": true - } - ], + "public": true, "auth": { "Project": [] } @@ -32223,188 +31428,121 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ + { + "name": "functionId", + "description": "Function ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "messageId": { - "type": "string", - "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<MESSAGE_ID>" - }, - "content": { + "body": { "type": "string", - "description": "SMS Content.", - "default": null, - "x-example": "<CONTENT>" + "description": "HTTP body of execution. Default value is empty string.", + "x-example": "<BODY>", + "default": "" }, - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "async": { + "type": "boolean", + "description": "Execute code in the background. Default value is false.", + "x-example": false, + "default": false }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "path": { + "type": "string", + "description": "HTTP path of execution. Path can include query params. Default value is \/", + "x-example": "<PATH>", + "default": "\/" }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "method": { + "type": "string", + "description": "HTTP method of execution. Default value is POST.", + "x-example": "GET", + "default": "POST", + "enum": [ + "GET", + "POST", + "PUT", + "PATCH", + "DELETE", + "OPTIONS", + "HEAD" + ], + "x-enum-name": "ExecutionMethod", + "x-enum-keys": [] }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": false, - "x-example": false + "headers": { + "type": "object", + "description": "HTTP headers of execution. Defaults to empty.", + "x-example": "{}", + "default": [] }, "scheduledAt": { "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", + "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", + "x-example": "<SCHEDULED_AT>", "x-nullable": true } - }, - "required": [ - "messageId", - "content" - ] + } } } ] } }, - "\/messaging\/messages\/sms\/{messageId}": { - "patch": { - "summary": "Update SMS", - "operationId": "messagingUpdateSms", - "consumes": [ - "application\/json" - ], + "\/functions\/{functionId}\/executions\/{executionId}": { + "get": { + "summary": "Get execution", + "operationId": "functionsGetExecution", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "description": "Get a function execution log by its unique ID.", "responses": { "200": { - "description": "Message", + "description": "Execution", "schema": { - "$ref": "#\/definitions\/message" + "$ref": "#\/definitions\/execution" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateSms", - "group": "messages", - "weight": 163, + "method": "getExecution", + "group": "executions", + "weight": 440, "cookies": false, "type": "", - "demo": "messaging\/update-sms.md", + "demo": "functions\/get-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": [ + "executions.read", + "execution.read" + ], "platforms": [ "console", + "client", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMS" - }, - "methods": [ - { - "name": "updateSms", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "topics", - "users", - "targets", - "content", - "draft", - "scheduledAt" - ], - "required": [ - "messageId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/message" - } - ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", - "demo": "messaging\/update-sms.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMS" - } - }, - { - "name": "updateSMS", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "messageId", - "topics", - "users", - "targets", - "content", - "draft", - "scheduledAt" - ], - "required": [ - "messageId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/message" - } - ], - "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", - "demo": "messaging\/update-sms.md", - "public": true - } - ], + "public": true, "auth": { "Project": [] } @@ -32412,121 +31550,67 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "topics": { - "type": "array", - "description": "List of Topic IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "description": "List of User IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "targets": { - "type": "array", - "description": "List of Targets IDs.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string" - } - }, - "content": { - "type": "string", - "description": "Email Content.", - "default": null, - "x-example": "<CONTENT>", - "x-nullable": true - }, - "draft": { - "type": "boolean", - "description": "Is message a draft", - "default": null, - "x-example": false, - "x-nullable": true - }, - "scheduledAt": { - "type": "string", - "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - } - } + "name": "executionId", + "description": "Execution ID.", + "required": true, + "type": "string", + "x-example": "<EXECUTION_ID>", + "in": "path" } ] - } - }, - "\/messaging\/messages\/{messageId}": { - "get": { - "summary": "Get message", - "operationId": "messagingGetMessage", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete execution", + "operationId": "functionsDeleteExecution", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ - "messaging" + "functions" ], - "description": "Get a message by its unique ID.\n", + "description": "Delete a function execution by its unique ID.", "responses": { - "200": { - "description": "Message", - "schema": { - "$ref": "#\/definitions\/message" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getMessage", - "group": "messages", - "weight": 161, + "method": "deleteExecution", + "group": "executions", + "weight": 442, "cookies": false, "type": "", - "demo": "messaging\/get-message.md", + "demo": "functions\/delete-execution.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": [ + "executions.write", + "execution.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } @@ -32539,111 +31623,140 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "executionId", + "description": "Execution ID.", + "required": true, + "type": "string", + "x-example": "<EXECUTION_ID>", "in": "path" } ] - }, - "delete": { - "summary": "Delete message", - "operationId": "messagingDelete", - "consumes": [ + } + }, + "\/functions\/{functionId}\/usage": { + "get": { + "summary": "Get function usage", + "operationId": "functionsGetUsage", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "messaging" + "functions" ], - "description": "Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.", + "description": "Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "UsageFunction", + "schema": { + "$ref": "#\/definitions\/usageFunction" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "messages", - "weight": 165, + "method": "getUsage", + "group": null, + "weight": 443, "cookies": false, "type": "", - "demo": "messaging\/delete.md", + "demo": "functions\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.write", + "scope": "functions.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/messaging\/messages\/{messageId}\/logs": { + "\/functions\/{functionId}\/variables": { "get": { - "summary": "List message logs", - "operationId": "messagingListMessageLogs", + "summary": "List variables", + "operationId": "functionsListVariables", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Get the message activity logs listed by its unique ID.", + "description": "Get a list of all variables of a specific function.", "responses": { "200": { - "description": "Logs List", + "description": "Variables List", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/variableList" } } }, "deprecated": false, "x-appwrite": { - "method": "listMessageLogs", - "group": "logs", - "weight": 159, + "method": "listVariables", + "group": "variables", + "weight": 447, "cookies": false, "type": "", - "demo": "messaging\/list-message-logs.md", + "demo": "functions\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } @@ -32656,16 +31769,16 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function unique ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", "required": false, "type": "array", "collectionFormat": "multi", @@ -32685,47 +31798,46 @@ "in": "query" } ] - } - }, - "\/messaging\/messages\/{messageId}\/targets": { - "get": { - "summary": "List message targets", - "operationId": "messagingListTargets", - "consumes": [], + }, + "post": { + "summary": "Create variable", + "operationId": "functionsCreateVariable", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Get a list of the targets associated with a message.", + "description": "Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "responses": { - "200": { - "description": "Target list", + "201": { + "description": "Variable", "schema": { - "$ref": "#\/definitions\/targetList" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "listTargets", - "group": "messages", - "weight": 160, + "method": "createVariable", + "group": "variables", + "weight": 971, "cookies": false, "type": "", - "demo": "messaging\/list-targets.md", + "demo": "functions\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "messages.read", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } @@ -32738,76 +31850,89 @@ ], "parameters": [ { - "name": "messageId", - "description": "Message ID.", + "name": "functionId", + "description": "Function unique ID.", "required": true, "type": "string", - "x-example": "<MESSAGE_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "variableId": { + "type": "string", + "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<VARIABLE_ID>" + }, + "key": { + "type": "string", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>" + }, + "value": { + "type": "string", + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>" + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", + "x-example": false, + "default": true + } + }, + "required": [ + "variableId", + "key", + "value" + ] + } } ] } }, - "\/messaging\/providers": { + "\/functions\/{functionId}\/variables\/{variableId}": { "get": { - "summary": "List providers", - "operationId": "messagingListProviders", + "summary": "Get variable", + "operationId": "functionsGetVariable", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Get a list of all providers from the current Appwrite project.", + "description": "Get a variable by its unique ID.", "responses": { "200": { - "description": "Provider list", + "description": "Variable", "schema": { - "$ref": "#\/definitions\/providerList" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "listProviders", - "group": "providers", - "weight": 129, + "method": "getVariable", + "group": "variables", + "weight": 446, "cookies": false, "type": "", - "demo": "messaging\/list-providers.md", + "demo": "functions\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", + "scope": "functions.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } @@ -32820,42 +31945,26 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "functionId", + "description": "Function unique ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<FUNCTION_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "type": "string", + "x-example": "<VARIABLE_ID>", + "in": "path" } ] - } - }, - "\/messaging\/providers\/apns": { - "post": { - "summary": "Create APNS provider", - "operationId": "messagingCreateApnsProvider", + }, + "put": { + "summary": "Update variable", + "operationId": "functionsUpdateVariable", "consumes": [ "application\/json" ], @@ -32863,108 +31972,35 @@ "application\/json" ], "tags": [ - "messaging" + "functions" ], - "description": "Create a new Apple Push Notification service provider.", + "description": "Update variable by its unique ID.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Variable", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/variable" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createApnsProvider", - "group": "providers", - "weight": 128, + "method": "updateVariable", + "group": "variables", + "weight": 448, "cookies": false, "type": "", - "demo": "messaging\/create-apns-provider.md", + "demo": "functions\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createAPNSProvider" - }, - "methods": [ - { - "name": "createApnsProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new Apple Push Notification service provider.", - "demo": "messaging\/create-apns-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createAPNSProvider" - } - }, - { - "name": "createAPNSProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new Apple Push Notification service provider.", - "demo": "messaging\/create-apns-provider.md", - "public": true - } - ], + "public": true, "auth": { "Project": [] } @@ -32976,182 +32012,85 @@ } ], "parameters": [ + { + "name": "functionId", + "description": "Function unique ID.", + "required": true, + "type": "string", + "x-example": "<FUNCTION_ID>", + "in": "path" + }, + { + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "type": "string", + "x-example": "<VARIABLE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "authKey": { - "type": "string", - "description": "APNS authentication key.", - "default": "", - "x-example": "<AUTH_KEY>" - }, - "authKeyId": { - "type": "string", - "description": "APNS authentication key ID.", - "default": "", - "x-example": "<AUTH_KEY_ID>" - }, - "teamId": { + "key": { "type": "string", - "description": "APNS team ID.", - "default": "", - "x-example": "<TEAM_ID>" + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>", + "x-nullable": true }, - "bundleId": { + "value": { "type": "string", - "description": "APNS bundle ID.", - "default": "", - "x-example": "<BUNDLE_ID>" + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>", + "x-nullable": true }, - "sandbox": { - "type": "boolean", - "description": "Use APNS sandbox environment.", - "default": false, - "x-example": false - }, - "enabled": { + "secret": { "type": "boolean", - "description": "Set as enabled.", - "default": null, + "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", "x-example": false, "x-nullable": true } - }, - "required": [ - "providerId", - "name" - ] + } } } ] - } - }, - "\/messaging\/providers\/apns\/{providerId}": { - "patch": { - "summary": "Update APNS provider", - "operationId": "messagingUpdateApnsProvider", + }, + "delete": { + "summary": "Delete variable", + "operationId": "functionsDeleteVariable", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "messaging" + "functions" ], - "description": "Update a Apple Push Notification service provider by its unique ID.", + "description": "Delete a variable by its unique ID.", "responses": { - "200": { - "description": "Provider", - "schema": { - "$ref": "#\/definitions\/provider" - } + "204": { + "description": "No content" } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateApnsProvider", - "group": "providers", - "weight": 142, + "method": "deleteVariable", + "group": "variables", + "weight": 449, "cookies": false, "type": "", - "demo": "messaging\/update-apns-provider.md", + "demo": "functions\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "functions.write", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateAPNSProvider" - }, - "methods": [ - { - "name": "updateApnsProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a Apple Push Notification service provider by its unique ID.", - "demo": "messaging\/update-apns-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateAPNSProvider" - } - }, - { - "name": "updateAPNSProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "authKey", - "authKeyId", - "teamId", - "bundleId", - "sandbox" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a Apple Push Notification service provider by its unique ID.", - "demo": "messaging\/update-apns-provider.md", - "public": true - } - ], + "public": true, "auth": { "Project": [] } @@ -33164,73 +32103,28 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", + "name": "functionId", + "description": "Function unique ID.", "required": true, "type": "string", - "x-example": "<PROVIDER_ID>", + "x-example": "<FUNCTION_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "authKey": { - "type": "string", - "description": "APNS authentication key.", - "default": "", - "x-example": "<AUTH_KEY>" - }, - "authKeyId": { - "type": "string", - "description": "APNS authentication key ID.", - "default": "", - "x-example": "<AUTH_KEY_ID>" - }, - "teamId": { - "type": "string", - "description": "APNS team ID.", - "default": "", - "x-example": "<TEAM_ID>" - }, - "bundleId": { - "type": "string", - "description": "APNS bundle ID.", - "default": "", - "x-example": "<BUNDLE_ID>" - }, - "sandbox": { - "type": "boolean", - "description": "Use APNS sandbox environment.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "variableId", + "description": "Variable unique ID.", + "required": true, + "type": "string", + "x-example": "<VARIABLE_ID>", + "in": "path" } ] } }, - "\/messaging\/providers\/fcm": { + "\/graphql": { "post": { - "summary": "Create FCM provider", - "operationId": "messagingCreateFcmProvider", + "summary": "GraphQL endpoint", + "operationId": "graphqlQuery", "consumes": [ "application\/json" ], @@ -33238,100 +32132,37 @@ "application\/json" ], "tags": [ - "messaging" + "graphql" ], - "description": "Create a new Firebase Cloud Messaging provider.", + "description": "Execute a GraphQL mutation.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Any", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/any" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createFcmProvider", - "group": "providers", - "weight": 127, + "method": "query", + "group": "graphql", + "weight": 116, "cookies": false, - "type": "", - "demo": "messaging\/create-fcm-provider.md", - "rate-limit": 0, - "rate-time": 3600, + "type": "graphql", + "demo": "graphql\/query.md", + "rate-limit": 60, + "rate-time": 60, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "graphql", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createFCMProvider" - }, - "methods": [ - { - "name": "createFcmProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "serviceAccountJSON", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new Firebase Cloud Messaging provider.", - "demo": "messaging\/create-fcm-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createFCMProvider" - } - }, - { - "name": "createFCMProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "serviceAccountJSON", - "enabled" - ], - "required": [ - "providerId", - "name" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new Firebase Cloud Messaging provider.", - "demo": "messaging\/create-fcm-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -33339,7 +32170,9 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -33349,46 +32182,25 @@ "schema": { "type": "object", "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "serviceAccountJSON": { + "query": { "type": "object", - "description": "FCM service account JSON.", - "default": {}, + "description": "The query or queries to execute.", "x-example": "{}", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true + "default": {} } }, "required": [ - "providerId", - "name" + "query" ] } } ] } }, - "\/messaging\/providers\/fcm\/{providerId}": { - "patch": { - "summary": "Update FCM provider", - "operationId": "messagingUpdateFcmProvider", + "\/graphql\/mutation": { + "post": { + "summary": "GraphQL endpoint", + "operationId": "graphqlMutation", "consumes": [ "application\/json" ], @@ -33396,98 +32208,37 @@ "application\/json" ], "tags": [ - "messaging" + "graphql" ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "description": "Execute a GraphQL mutation.", "responses": { "200": { - "description": "Provider", + "description": "Any", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/any" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateFcmProvider", - "group": "providers", - "weight": 141, + "method": "mutation", + "group": "graphql", + "weight": 115, "cookies": false, - "type": "", - "demo": "messaging\/update-fcm-provider.md", - "rate-limit": 0, - "rate-time": 3600, + "type": "graphql", + "demo": "graphql\/mutation.md", + "rate-limit": 60, + "rate-time": 60, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "graphql", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateFCMProvider" - }, - "methods": [ - { - "name": "updateFcmProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "serviceAccountJSON" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", - "demo": "messaging\/update-fcm-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateFCMProvider" - } - }, - { - "name": "updateFCMProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "enabled", - "serviceAccountJSON" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a Firebase Cloud Messaging provider by its unique ID.", - "demo": "messaging\/update-fcm-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -33495,91 +32246,72 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "serviceAccountJSON": { + "query": { "type": "object", - "description": "FCM service account JSON.", - "default": {}, + "description": "The query or queries to execute.", "x-example": "{}", - "x-nullable": true + "default": {} } - } + }, + "required": [ + "query" + ] } } ] } }, - "\/messaging\/providers\/mailgun": { - "post": { - "summary": "Create Mailgun provider", - "operationId": "messagingCreateMailgunProvider", - "consumes": [ - "application\/json" - ], + "\/health": { + "get": { + "summary": "Get HTTP", + "operationId": "healthGet", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Mailgun provider.", + "description": "Check the Appwrite HTTP server is up and responsive.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Status", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthStatus" } } }, "deprecated": false, "x-appwrite": { - "method": "createMailgunProvider", - "group": "providers", - "weight": 118, + "method": "get", + "group": "health", + "weight": 452, "cookies": false, "type": "", - "demo": "messaging\/create-mailgun-provider.md", + "demo": "health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -33589,129 +32321,99 @@ "Project": [], "Key": [] } + ] + } + }, + "\/health\/anti-virus": { + "get": { + "summary": "Get antivirus", + "operationId": "healthGetAntivirus", + "consumes": [], + "produces": [ + "application\/json" ], - "parameters": [ - { - "name": "payload", - "in": "body", + "tags": [ + "health" + ], + "description": "Check the Appwrite Antivirus server is up and connection is successful.", + "responses": { + "200": { + "description": "Health Antivirus", "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Mailgun API Key.", - "default": "", - "x-example": "<API_KEY>" - }, - "domain": { - "type": "string", - "description": "Mailgun Domain.", - "default": "", - "x-example": "<DOMAIN>" - }, - "isEuRegion": { - "type": "boolean", - "description": "Set as EU region.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] + "$ref": "#\/definitions\/healthAntivirus" } } + }, + "deprecated": false, + "x-appwrite": { + "method": "getAntivirus", + "group": "health", + "weight": 461, + "cookies": false, + "type": "", + "demo": "health\/get-antivirus.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "health.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } ] } }, - "\/messaging\/providers\/mailgun\/{providerId}": { - "patch": { - "summary": "Update Mailgun provider", - "operationId": "messagingUpdateMailgunProvider", - "consumes": [ - "application\/json" - ], + "\/health\/cache": { + "get": { + "summary": "Get cache", + "operationId": "healthGetCache", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Mailgun provider by its unique ID.", + "description": "Check the Appwrite in-memory cache servers are up and connection is successful.", "responses": { "200": { - "description": "Provider", + "description": "Status List", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthStatusList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMailgunProvider", - "group": "providers", - "weight": 132, + "method": "getCache", + "group": "health", + "weight": 455, "cookies": false, "type": "", - "demo": "messaging\/update-mailgun-provider.md", + "demo": "health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } @@ -33721,126 +32423,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Mailgun API Key.", - "default": "", - "x-example": "<API_KEY>" - }, - "domain": { - "type": "string", - "description": "Mailgun Domain.", - "default": "", - "x-example": "<DOMAIN>" - }, - "isEuRegion": { - "type": "boolean", - "description": "Set as EU region.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" - } - } - } - } ] } }, - "\/messaging\/providers\/msg91": { - "post": { - "summary": "Create Msg91 provider", - "operationId": "messagingCreateMsg91Provider", - "consumes": [ - "application\/json" - ], + "\/health\/certificate": { + "get": { + "summary": "Get the SSL certificate for a domain", + "operationId": "healthGetCertificate", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new MSG91 provider.", + "description": "Get the SSL certificate for a domain", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Certificate", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthCertificate" } } }, "deprecated": false, "x-appwrite": { - "method": "createMsg91Provider", - "group": "providers", - "weight": 122, + "method": "getCertificate", + "group": "health", + "weight": 458, "cookies": false, "type": "", - "demo": "messaging\/create-msg-91-provider.md", + "demo": "health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -33853,99 +32477,54 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "templateId": { - "type": "string", - "description": "Msg91 template ID", - "default": "", - "x-example": "<TEMPLATE_ID>" - }, - "senderId": { - "type": "string", - "description": "Msg91 sender ID.", - "default": "", - "x-example": "<SENDER_ID>" - }, - "authKey": { - "type": "string", - "description": "Msg91 auth key.", - "default": "", - "x-example": "<AUTH_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "domain", + "description": "string", + "required": false, + "type": "string", + "in": "query" } ] } }, - "\/messaging\/providers\/msg91\/{providerId}": { - "patch": { - "summary": "Update Msg91 provider", - "operationId": "messagingUpdateMsg91Provider", - "consumes": [ - "application\/json" - ], + "\/health\/console-pausing": { + "get": { + "summary": "Get console pausing health", + "operationId": "healthGetConsolePausing", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a MSG91 provider by its unique ID.", + "description": "Get console pausing health status. Monitors projects approaching the pause threshold to detect potential issues with console access tracking.\n", "responses": { "200": { - "description": "Provider", + "description": "Health Status", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthStatus" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMsg91Provider", - "group": "providers", - "weight": 136, + "method": "getConsolePausing", + "group": null, + "weight": 1115, "cookies": false, "type": "", - "demo": "messaging\/update-msg-91-provider.md", + "demo": "health\/get-console-pausing.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-console-pausing.md", "auth": { "Project": [] } @@ -33958,97 +32537,65 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" + "name": "threshold", + "description": "Percentage threshold of projects approaching pause. When hit (equal or higher), endpoint returns server error. Default value is 10.", + "required": false, + "type": "integer", + "format": "int32", + "default": 10, + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "templateId": { - "type": "string", - "description": "Msg91 template ID.", - "default": "", - "x-example": "<TEMPLATE_ID>" - }, - "senderId": { - "type": "string", - "description": "Msg91 sender ID.", - "default": "", - "x-example": "<SENDER_ID>" - }, - "authKey": { - "type": "string", - "description": "Msg91 auth key.", - "default": "", - "x-example": "<AUTH_KEY>" - } - } - } + "name": "inactivityDays", + "description": "Number of days of inactivity before a project is paused. Should match the plan's projectInactivityDays setting. Default value is 7.", + "required": false, + "type": "integer", + "format": "int32", + "default": 7, + "in": "query" } ] } }, - "\/messaging\/providers\/resend": { - "post": { - "summary": "Create Resend provider", - "operationId": "messagingCreateResendProvider", - "consumes": [ - "application\/json" - ], + "\/health\/db": { + "get": { + "summary": "Get DB", + "operationId": "healthGetDB", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Resend provider.", + "description": "Check the Appwrite database servers are up and connection is successful.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Status List", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthStatusList" } } }, "deprecated": false, "x-appwrite": { - "method": "createResendProvider", - "group": "providers", - "weight": 120, + "method": "getDB", + "group": "health", + "weight": 454, "cookies": false, "type": "", - "demo": "messaging\/create-resend-provider.md", + "demo": "health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -34058,116 +32605,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Resend API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } - } ] } }, - "\/messaging\/providers\/resend\/{providerId}": { - "patch": { - "summary": "Update Resend provider", - "operationId": "messagingUpdateResendProvider", - "consumes": [ - "application\/json" - ], + "\/health\/pubsub": { + "get": { + "summary": "Get pubsub", + "operationId": "healthGetPubSub", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Resend provider by its unique ID.", + "description": "Check the Appwrite pub-sub servers are up and connection is successful.", "responses": { "200": { - "description": "Provider", + "description": "Status List", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthStatusList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateResendProvider", - "group": "providers", - "weight": 134, + "method": "getPubSub", + "group": "health", + "weight": 456, "cookies": false, "type": "", - "demo": "messaging\/update-resend-provider.md", + "demo": "health\/get-pub-sub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -34177,113 +32656,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "apiKey": { - "type": "string", - "description": "Resend API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" - } - } - } - } - ] - } - }, - "\/messaging\/providers\/sendgrid": { - "post": { - "summary": "Create Sendgrid provider", - "operationId": "messagingCreateSendgridProvider", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" + ] + } + }, + "\/health\/queue\/audits": { + "get": { + "summary": "Get audits queue", + "operationId": "healthGetQueueAudits", + "consumes": [], + "produces": [ + "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Sendgrid provider.", + "description": "Get the number of audit logs that are waiting to be processed in the Appwrite internal queue server.\n", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createSendgridProvider", - "group": "providers", - "weight": 119, + "method": "getQueueAudits", + "group": "queue", + "weight": 462, "cookies": false, "type": "", - "demo": "messaging\/create-sendgrid-provider.md", + "demo": "health\/get-queue-audits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-audits.md", "auth": { "Project": [] } @@ -34296,113 +32710,56 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "apiKey": { - "type": "string", - "description": "Sendgrid API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/sendgrid\/{providerId}": { - "patch": { - "summary": "Update Sendgrid provider", - "operationId": "messagingUpdateSendgridProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/billing-project-aggregation": { + "get": { + "summary": "Get billing project aggregation queue", + "operationId": "healthGetQueueBillingProjectAggregation", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Sendgrid provider by its unique ID.", + "description": "Get billing project aggregation queue.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSendgridProvider", - "group": "providers", - "weight": 133, + "method": "getQueueBillingProjectAggregation", + "group": null, + "weight": 1111, "cookies": false, "type": "", - "demo": "messaging\/update-sendgrid-provider.md", + "demo": "health\/get-queue-billing-project-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-project-aggregation.md", "auth": { "Project": [] } @@ -34415,196 +32772,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "apiKey": { - "type": "string", - "description": "Sendgrid API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" - } - } - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 10000, + "in": "query" } ] } }, - "\/messaging\/providers\/smtp": { - "post": { - "summary": "Create SMTP provider", - "operationId": "messagingCreateSmtpProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/billing-team-aggregation": { + "get": { + "summary": "Get billing team aggregation queue", + "operationId": "healthGetQueueBillingTeamAggregation", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new SMTP provider.", + "description": "Get billing team aggregation queue.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createSmtpProvider", - "group": "providers", - "weight": 121, + "method": "getQueueBillingTeamAggregation", + "group": null, + "weight": 1110, "cookies": false, "type": "", - "demo": "messaging\/create-smtp-provider.md", + "demo": "health\/get-queue-billing-team-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMTPProvider" - }, - "methods": [ - { - "name": "createSmtpProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId", - "name", - "host" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new SMTP provider.", - "demo": "messaging\/create-smtp-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.createSMTPProvider" - } - }, - { - "name": "createSMTPProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId", - "name", - "host" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/provider" - } - ], - "description": "Create a new SMTP provider.", - "demo": "messaging\/create-smtp-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-billing-team-aggregation.md", "auth": { "Project": [] } @@ -34617,240 +32834,56 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "host": { - "type": "string", - "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "default": null, - "x-example": "<HOST>" - }, - "port": { - "type": "integer", - "description": "The default SMTP server port.", - "default": 587, - "x-example": 1, - "format": "int32" - }, - "username": { - "type": "string", - "description": "Authentication username.", - "default": "", - "x-example": "<USERNAME>" - }, - "password": { - "type": "string", - "description": "Authentication password.", - "default": "", - "x-example": "<PASSWORD>" - }, - "encryption": { - "type": "string", - "description": "Encryption type. Can be omitted, 'ssl', or 'tls'", - "default": "", - "x-example": "none", - "enum": [ - "none", - "ssl", - "tls" - ], - "x-enum-name": "SmtpEncryption", - "x-enum-keys": [] - }, - "autoTLS": { - "type": "boolean", - "description": "Enable SMTP AutoTLS feature.", - "default": true, - "x-example": false - }, - "mailer": { - "type": "string", - "description": "The value to use for the X-Mailer header.", - "default": "", - "x-example": "<MAILER>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name", - "host" - ] - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 10000, + "in": "query" } ] } }, - "\/messaging\/providers\/smtp\/{providerId}": { - "patch": { - "summary": "Update SMTP provider", - "operationId": "messagingUpdateSmtpProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/builds": { + "get": { + "summary": "Get builds queue", + "operationId": "healthGetQueueBuilds", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a SMTP provider by its unique ID.", + "description": "Get the number of builds that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateSmtpProvider", - "group": "providers", - "weight": 135, + "method": "getQueueBuilds", + "group": "queue", + "weight": 466, "cookies": false, "type": "", - "demo": "messaging\/update-smtp-provider.md", + "demo": "health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMTPProvider" - }, - "methods": [ - { - "name": "updateSmtpProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a SMTP provider by its unique ID.", - "demo": "messaging\/update-smtp-provider.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "messaging.updateSMTPProvider" - } - }, - { - "name": "updateSMTPProvider", - "namespace": "messaging", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "providerId", - "name", - "host", - "port", - "username", - "password", - "encryption", - "autoTLS", - "mailer", - "fromName", - "fromEmail", - "replyToName", - "replyToEmail", - "enabled" - ], - "required": [ - "providerId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/provider" - } - ], - "description": "Update a SMTP provider by its unique ID.", - "demo": "messaging\/update-smtp-provider.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -34863,156 +32896,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "host": { - "type": "string", - "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "default": "", - "x-example": "<HOST>" - }, - "port": { - "type": "integer", - "description": "SMTP port.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "username": { - "type": "string", - "description": "Authentication username.", - "default": "", - "x-example": "<USERNAME>" - }, - "password": { - "type": "string", - "description": "Authentication password.", - "default": "", - "x-example": "<PASSWORD>" - }, - "encryption": { - "type": "string", - "description": "Encryption type. Can be 'ssl' or 'tls'", - "default": "", - "x-example": "none", - "enum": [ - "none", - "ssl", - "tls" - ], - "x-enum-name": "SmtpEncryption", - "x-enum-keys": [] - }, - "autoTLS": { - "type": "boolean", - "description": "Enable SMTP AutoTLS feature.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "mailer": { - "type": "string", - "description": "The value to use for the X-Mailer header.", - "default": "", - "x-example": "<MAILER>" - }, - "fromName": { - "type": "string", - "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" - }, - "fromEmail": { - "type": "string", - "description": "Sender email address.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "replyToName": { - "type": "string", - "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" - }, - "replyToEmail": { - "type": "string", - "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/telesign": { - "post": { - "summary": "Create Telesign provider", - "operationId": "messagingCreateTelesignProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/builds-priority": { + "get": { + "summary": "Get billing aggregation queue", + "operationId": "healthGetQueuePriorityBuilds", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Telesign provider.", + "description": "Get the priority builds queue size.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createTelesignProvider", - "group": "providers", - "weight": 123, + "method": "getQueuePriorityBuilds", + "group": null, + "weight": 1112, "cookies": false, "type": "", - "demo": "messaging\/create-telesign-provider.md", + "demo": "health\/get-queue-priority-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-priority-builds.md", "auth": { "Project": [] } @@ -35025,100 +32958,56 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", - "x-example": "+12065550100", - "format": "phone" - }, - "customerId": { - "type": "string", - "description": "Telesign customer ID.", - "default": "", - "x-example": "<CUSTOMER_ID>" - }, - "apiKey": { - "type": "string", - "description": "Telesign API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 500.", + "required": false, + "type": "integer", + "format": "int32", + "default": 500, + "in": "query" } ] } }, - "\/messaging\/providers\/telesign\/{providerId}": { - "patch": { - "summary": "Update Telesign provider", - "operationId": "messagingUpdateTelesignProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/certificates": { + "get": { + "summary": "Get certificates queue", + "operationId": "healthGetQueueCertificates", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Telesign provider by its unique ID.", + "description": "Get the number of certificates that are waiting to be issued against [Letsencrypt](https:\/\/letsencrypt.org\/) in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTelesignProvider", - "group": "providers", - "weight": 137, + "method": "getQueueCertificates", + "group": "queue", + "weight": 465, "cookies": false, "type": "", - "demo": "messaging\/update-telesign-provider.md", + "demo": "health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } @@ -35131,97 +33020,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "customerId": { - "type": "string", - "description": "Telesign customer ID.", - "default": "", - "x-example": "<CUSTOMER_ID>" - }, - "apiKey": { - "type": "string", - "description": "Telesign API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "default": "", - "x-example": "<FROM>" - } - } - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/textmagic": { - "post": { - "summary": "Create Textmagic provider", - "operationId": "messagingCreateTextmagicProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/databases": { + "get": { + "summary": "Get databases queue", + "operationId": "healthGetQueueDatabases", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Textmagic provider.", + "description": "Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createTextmagicProvider", - "group": "providers", - "weight": 124, + "method": "getQueueDatabases", + "group": "queue", + "weight": 467, "cookies": false, "type": "", - "demo": "messaging\/create-textmagic-provider.md", + "demo": "health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -35234,100 +33082,65 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", - "x-example": "+12065550100", - "format": "phone" - }, - "username": { - "type": "string", - "description": "Textmagic username.", - "default": "", - "x-example": "<USERNAME>" - }, - "apiKey": { - "type": "string", - "description": "Textmagic apiKey.", - "default": "", - "x-example": "<API_KEY>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "name", + "description": "Queue name for which to check the queue size", + "required": false, + "type": "string", + "x-example": "<NAME>", + "default": "database_db_main", + "in": "query" + }, + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/textmagic\/{providerId}": { - "patch": { - "summary": "Update Textmagic provider", - "operationId": "messagingUpdateTextmagicProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/deletes": { + "get": { + "summary": "Get deletes queue", + "operationId": "healthGetQueueDeletes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Textmagic provider by its unique ID.", + "description": "Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTextmagicProvider", - "group": "providers", - "weight": 138, + "method": "getQueueDeletes", + "group": "queue", + "weight": 468, "cookies": false, "type": "", - "demo": "messaging\/update-textmagic-provider.md", + "demo": "health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -35340,97 +33153,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" + } + ] + } + }, + "\/health\/queue\/failed\/{name}": { + "get": { + "summary": "Get number of failed queue jobs", + "operationId": "healthGetFailedJobs", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "health" + ], + "description": "Returns the amount of failed jobs in a given queue.\n", + "responses": { + "200": { + "description": "Health Queue", "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "username": { - "type": "string", - "description": "Textmagic username.", - "default": "", - "x-example": "<USERNAME>" - }, - "apiKey": { - "type": "string", - "description": "Textmagic apiKey.", - "default": "", - "x-example": "<API_KEY>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "default": "", - "x-example": "<FROM>" - } - } - } - } - ] - } - }, - "\/messaging\/providers\/twilio": { - "post": { - "summary": "Create Twilio provider", - "operationId": "messagingCreateTwilioProvider", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "messaging" - ], - "description": "Create a new Twilio provider.", - "responses": { - "201": { - "description": "Provider", - "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createTwilioProvider", - "group": "providers", - "weight": 125, + "method": "getFailedJobs", + "group": "queue", + "weight": 475, "cookies": false, "type": "", - "demo": "messaging\/create-twilio-provider.md", + "demo": "health\/get-failed-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -35443,100 +33215,81 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", - "x-example": "+12065550100", - "format": "phone" - }, - "accountSid": { - "type": "string", - "description": "Twilio account secret ID.", - "default": "", - "x-example": "<ACCOUNT_SID>" - }, - "authToken": { - "type": "string", - "description": "Twilio authentication token.", - "default": "", - "x-example": "<AUTH_TOKEN>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "name", + "description": "The name of the queue", + "required": true, + "type": "string", + "x-example": "v1-database", + "enum": [ + "v1-database", + "v1-deletes", + "v1-audits", + "v1-mails", + "v1-functions", + "v1-stats-resources", + "v1-stats-usage", + "v1-webhooks", + "v1-certificates", + "v1-builds", + "v1-screenshots", + "v1-messaging", + "v1-migrations" + ], + "x-enum-name": null, + "x-enum-keys": [], + "in": "path" + }, + { + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/twilio\/{providerId}": { - "patch": { - "summary": "Update Twilio provider", - "operationId": "messagingUpdateTwilioProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/functions": { + "get": { + "summary": "Get functions queue", + "operationId": "healthGetQueueFunctions", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Twilio provider by its unique ID.", + "description": "Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTwilioProvider", - "group": "providers", - "weight": 139, + "method": "getQueueFunctions", + "group": "queue", + "weight": 472, "cookies": false, "type": "", - "demo": "messaging\/update-twilio-provider.md", + "demo": "health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -35549,97 +33302,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "accountSid": { - "type": "string", - "description": "Twilio account secret ID.", - "default": "", - "x-example": "<ACCOUNT_SID>" - }, - "authToken": { - "type": "string", - "description": "Twilio authentication token.", - "default": "", - "x-example": "<AUTH_TOKEN>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "default": "", - "x-example": "<FROM>" - } - } - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/vonage": { - "post": { - "summary": "Create Vonage provider", - "operationId": "messagingCreateVonageProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/logs": { + "get": { + "summary": "Get logs queue", + "operationId": "healthGetQueueLogs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new Vonage provider.", + "description": "Get the number of logs that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "201": { - "description": "Provider", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createVonageProvider", - "group": "providers", - "weight": 126, + "method": "getQueueLogs", + "group": "queue", + "weight": 464, "cookies": false, "type": "", - "demo": "messaging\/create-vonage-provider.md", + "demo": "health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -35652,100 +33364,56 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "providerId": { - "type": "string", - "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Provider name.", - "default": null, - "x-example": "<NAME>" - }, - "from": { - "type": "string", - "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", - "x-example": "+12065550100", - "format": "phone" - }, - "apiKey": { - "type": "string", - "description": "Vonage API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "apiSecret": { - "type": "string", - "description": "Vonage API secret.", - "default": "", - "x-example": "<API_SECRET>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - } - }, - "required": [ - "providerId", - "name" - ] - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/vonage\/{providerId}": { - "patch": { - "summary": "Update Vonage provider", - "operationId": "messagingUpdateVonageProvider", - "consumes": [ - "application\/json" - ], + "\/health\/queue\/mails": { + "get": { + "summary": "Get mails queue", + "operationId": "healthGetQueueMails", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a Vonage provider by its unique ID.", + "description": "Get the number of mails that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "updateVonageProvider", - "group": "providers", - "weight": 140, + "method": "getQueueMails", + "group": "queue", + "weight": 469, "cookies": false, "type": "", - "demo": "messaging\/update-vonage-provider.md", + "demo": "health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -35758,95 +33426,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Provider name.", - "default": "", - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Set as enabled.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "apiKey": { - "type": "string", - "description": "Vonage API key.", - "default": "", - "x-example": "<API_KEY>" - }, - "apiSecret": { - "type": "string", - "description": "Vonage API secret.", - "default": "", - "x-example": "<API_SECRET>" - }, - "from": { - "type": "string", - "description": "Sender number.", - "default": "", - "x-example": "<FROM>" - } - } - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/{providerId}": { + "\/health\/queue\/messaging": { "get": { - "summary": "Get provider", - "operationId": "messagingGetProvider", + "summary": "Get messaging queue", + "operationId": "healthGetQueueMessaging", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get a provider by its unique ID.\n", + "description": "Get the number of messages that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Provider", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/provider" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "getProvider", - "group": "providers", - "weight": 131, + "method": "getQueueMessaging", + "group": "queue", + "weight": 470, "cookies": false, "type": "", - "demo": "messaging\/get-provider.md", + "demo": "health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -35859,50 +33488,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] - }, - "delete": { - "summary": "Delete provider", - "operationId": "messagingDeleteProvider", - "consumes": [ + } + }, + "\/health\/queue\/migrations": { + "get": { + "summary": "Get migrations queue", + "operationId": "healthGetQueueMigrations", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "messaging" + "health" ], - "description": "Delete a provider by its unique ID.", + "description": "Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Health Queue", + "schema": { + "$ref": "#\/definitions\/healthQueue" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteProvider", - "group": "providers", - "weight": 143, + "method": "getQueueMigrations", + "group": "queue", + "weight": 471, "cookies": false, "type": "", - "demo": "messaging\/delete-provider.md", + "demo": "health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -35915,55 +33550,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] } }, - "\/messaging\/providers\/{providerId}\/logs": { + "\/health\/queue\/region-manager": { "get": { - "summary": "List provider logs", - "operationId": "messagingListProviderLogs", + "summary": "Get region manager queue", + "operationId": "healthGetQueueRegionManager", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get the provider activity logs listed by its unique ID.", + "description": "Get region manager queue.", "responses": { "200": { - "description": "Logs List", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "listProviderLogs", - "group": "providers", - "weight": 130, + "method": "getQueueRegionManager", + "group": null, + "weight": 1113, "cookies": false, "type": "", - "demo": "messaging\/list-provider-logs.md", + "demo": "health\/get-queue-region-manager.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "providers.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-region-manager.md", "auth": { "Project": [] } @@ -35976,76 +33612,56 @@ ], "parameters": [ { - "name": "providerId", - "description": "Provider ID.", - "required": true, - "type": "string", - "x-example": "<PROVIDER_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "default": 100, "in": "query" } ] } }, - "\/messaging\/subscribers\/{subscriberId}\/logs": { + "\/health\/queue\/stats-resources": { "get": { - "summary": "List subscriber logs", - "operationId": "messagingListSubscriberLogs", + "summary": "Get stats resources queue", + "operationId": "healthGetQueueStatsResources", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get the subscriber activity logs listed by its unique ID.", + "description": "Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.", "responses": { "200": { - "description": "Logs List", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "listSubscriberLogs", - "group": "subscribers", - "weight": 152, + "method": "getQueueStatsResources", + "group": "queue", + "weight": 473, "cookies": false, "type": "", - "demo": "messaging\/list-subscriber-logs.md", + "demo": "health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -36058,76 +33674,56 @@ ], "parameters": [ { - "name": "subscriberId", - "description": "Subscriber ID.", - "required": true, - "type": "string", - "x-example": "<SUBSCRIBER_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "default": 5000, "in": "query" } ] } }, - "\/messaging\/topics": { + "\/health\/queue\/stats-usage": { "get": { - "summary": "List topics", - "operationId": "messagingListTopics", + "summary": "Get stats usage queue", + "operationId": "healthGetQueueUsage", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get a list of all topics from the current Appwrite project.", + "description": "Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Topic list", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/topicList" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "listTopics", - "group": "topics", - "weight": 145, + "method": "getQueueUsage", + "group": "queue", + "weight": 474, "cookies": false, "type": "", - "demo": "messaging\/list-topics.md", + "demo": "health\/get-queue-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -36140,77 +33736,56 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, description, emailTotal, smsTotal, pushTotal", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "default": 5000, "in": "query" } ] - }, - "post": { - "summary": "Create topic", - "operationId": "messagingCreateTopic", - "consumes": [ - "application\/json" - ], + } + }, + "\/health\/queue\/threats": { + "get": { + "summary": "Get threats queue", + "operationId": "healthGetQueueThreats", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Create a new topic.", + "description": "Get threats queue.", "responses": { - "201": { - "description": "Topic", + "200": { + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/topic" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "createTopic", - "group": "topics", - "weight": 144, + "method": "getQueueThreats", + "group": null, + "weight": 1114, "cookies": false, "type": "", - "demo": "messaging\/create-topic.md", + "demo": "health\/get-queue-threats.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/health\/get-queue-threats.md", "auth": { "Project": [] } @@ -36223,83 +33798,56 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "topicId": { - "type": "string", - "description": "Topic ID. Choose a custom Topic ID or a new Topic ID.", - "default": null, - "x-example": "<TOPIC_ID>" - }, - "name": { - "type": "string", - "description": "Topic Name.", - "default": null, - "x-example": "<NAME>" - }, - "subscribe": { - "type": "array", - "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": [ - "users" - ], - "x-example": "[\"any\"]", - "items": { - "type": "string" - } - } - }, - "required": [ - "topicId", - "name" - ] - } + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 100.", + "required": false, + "type": "integer", + "format": "int32", + "default": 100, + "in": "query" } ] } }, - "\/messaging\/topics\/{topicId}": { + "\/health\/queue\/webhooks": { "get": { - "summary": "Get topic", - "operationId": "messagingGetTopic", + "summary": "Get webhooks queue", + "operationId": "healthGetQueueWebhooks", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get a topic by its unique ID.\n", + "description": "Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.", "responses": { "200": { - "description": "Topic", + "description": "Health Queue", "schema": { - "$ref": "#\/definitions\/topic" + "$ref": "#\/definitions\/healthQueue" } } }, "deprecated": false, "x-appwrite": { - "method": "getTopic", - "group": "topics", - "weight": 147, + "method": "getQueueWebhooks", + "group": "queue", + "weight": 463, "cookies": false, "type": "", - "demo": "messaging\/get-topic.md", + "demo": "health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -36312,55 +33860,56 @@ ], "parameters": [ { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" + "name": "threshold", + "description": "Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5000, + "in": "query" } ] - }, - "patch": { - "summary": "Update topic", - "operationId": "messagingUpdateTopic", - "consumes": [ - "application\/json" - ], + } + }, + "\/health\/storage": { + "get": { + "summary": "Get storage", + "operationId": "healthGetStorage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Update a topic by its unique ID.\n", + "description": "Check the Appwrite storage device is up and connection is successful.", "responses": { "200": { - "description": "Topic", + "description": "Health Status", "schema": { - "$ref": "#\/definitions\/topic" + "$ref": "#\/definitions\/healthStatus" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTopic", - "group": "topics", - "weight": 148, + "method": "getStorage", + "group": "storage", + "weight": 460, "cookies": false, "type": "", - "demo": "messaging\/update-topic.md", + "demo": "health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -36370,79 +33919,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Topic Name.", - "default": null, - "x-example": "<NAME>", - "x-nullable": true - }, - "subscribe": { - "type": "array", - "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": null, - "x-example": "[\"any\"]", - "x-nullable": true, - "items": { - "type": "string" - } - } - } - } - } ] - }, - "delete": { - "summary": "Delete topic", - "operationId": "messagingDeleteTopic", - "consumes": [ + } + }, + "\/health\/storage\/local": { + "get": { + "summary": "Get local storage", + "operationId": "healthGetStorageLocal", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "messaging" + "health" ], - "description": "Delete a topic by its unique ID.", + "description": "Check the Appwrite local storage device is up and connection is successful.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Health Status", + "schema": { + "$ref": "#\/definitions\/healthStatus" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTopic", - "group": "topics", - "weight": 149, + "method": "getStorageLocal", + "group": "storage", + "weight": 459, "cookies": false, "type": "", - "demo": "messaging\/delete-topic.md", + "demo": "health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.write", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [] } @@ -36452,58 +33970,48 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - } ] } }, - "\/messaging\/topics\/{topicId}\/logs": { + "\/health\/time": { "get": { - "summary": "List topic logs", - "operationId": "messagingListTopicLogs", + "summary": "Get time", + "operationId": "healthGetTime", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "health" ], - "description": "Get the topic activity logs listed by its unique ID.", + "description": "Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https:\/\/en.wikipedia.org\/wiki\/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.", "responses": { "200": { - "description": "Logs List", + "description": "Health Time", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/healthTime" } } }, "deprecated": false, "x-appwrite": { - "method": "listTopicLogs", - "group": "topics", - "weight": 146, + "method": "getTime", + "group": "health", + "weight": 457, "cookies": false, "type": "", - "demo": "messaging\/list-topic-logs.md", + "demo": "health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "topics.read", + "scope": "health.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -36513,79 +34021,49 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } ] } }, - "\/messaging\/topics\/{topicId}\/subscribers": { + "\/locale": { "get": { - "summary": "List subscribers", - "operationId": "messagingListSubscribers", + "summary": "Get user locale", + "operationId": "localeGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "locale" ], - "description": "Get a list of all subscribers from the current Appwrite project.", + "description": "Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language.\n\n([IP Geolocation by DB-IP](https:\/\/db-ip.com))", "responses": { "200": { - "description": "Subscriber list", + "description": "Locale", "schema": { - "$ref": "#\/definitions\/subscriberList" + "$ref": "#\/definitions\/locale" } } }, "deprecated": false, "x-appwrite": { - "method": "listSubscribers", - "group": "subscribers", - "weight": 151, + "method": "get", + "group": null, + "weight": 49, "cookies": false, "type": "", - "demo": "messaging\/list-subscribers.md", + "demo": "locale\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", + "scope": "locale.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -36593,91 +34071,53 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: targetId, topicId, userId, providerType", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "Session": [], + "Key": [], + "JWT": [] } ] - }, - "post": { - "summary": "Create subscriber", - "operationId": "messagingCreateSubscriber", - "consumes": [ - "application\/json" - ], + } + }, + "\/locale\/codes": { + "get": { + "summary": "List locale codes", + "operationId": "localeListCodes", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "locale" ], - "description": "Create a new subscriber.", + "description": "List of all locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes).", "responses": { - "201": { - "description": "Subscriber", - "schema": { - "$ref": "#\/definitions\/subscriber" + "200": { + "description": "Locale codes list", + "schema": { + "$ref": "#\/definitions\/localeCodeList" } } }, "deprecated": false, "x-appwrite": { - "method": "createSubscriber", - "group": "subscribers", - "weight": 150, + "method": "listCodes", + "group": null, + "weight": 50, "cookies": false, "type": "", - "demo": "messaging\/create-subscriber.md", + "demo": "locale\/list-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.write", + "scope": "locale.read", "platforms": [ - "server", + "console", "client", - "console" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -36685,87 +34125,53 @@ "security": [ { "Project": [], - "JWT": [], "Session": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID to subscribe to.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "subscriberId": { - "type": "string", - "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", - "default": null, - "x-example": "<SUBSCRIBER_ID>" - }, - "targetId": { - "type": "string", - "description": "Target ID. The target ID to link to the specified Topic ID.", - "default": null, - "x-example": "<TARGET_ID>" - } - }, - "required": [ - "subscriberId", - "targetId" - ] - } + "Key": [], + "JWT": [] } ] } }, - "\/messaging\/topics\/{topicId}\/subscribers\/{subscriberId}": { + "\/locale\/continents": { "get": { - "summary": "Get subscriber", - "operationId": "messagingGetSubscriber", + "summary": "List continents", + "operationId": "localeListContinents", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "messaging" + "locale" ], - "description": "Get a subscriber by its unique ID.\n", + "description": "List of all continents. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Subscriber", + "description": "Continents List", "schema": { - "$ref": "#\/definitions\/subscriber" + "$ref": "#\/definitions\/continentList" } } }, "deprecated": false, "x-appwrite": { - "method": "getSubscriber", - "group": "subscribers", - "weight": 153, + "method": "listContinents", + "group": null, + "weight": 54, "cookies": false, "type": "", - "demo": "messaging\/get-subscriber.md", + "demo": "locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.read", + "scope": "locale.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -36773,64 +34179,53 @@ "security": [ { "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "subscriberId", - "description": "Subscriber ID.", - "required": true, - "type": "string", - "x-example": "<SUBSCRIBER_ID>", - "in": "path" + "Session": [], + "Key": [], + "JWT": [] } ] - }, - "delete": { - "summary": "Delete subscriber", - "operationId": "messagingDeleteSubscriber", - "consumes": [ + } + }, + "\/locale\/countries": { + "get": { + "summary": "List countries", + "operationId": "localeListCountries", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "messaging" + "locale" ], - "description": "Delete a subscriber by its unique ID.", + "description": "List of all countries. You can use the locale header to get the data in a supported language.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Countries List", + "schema": { + "$ref": "#\/definitions\/countryList" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteSubscriber", - "group": "subscribers", - "weight": 154, + "method": "listCountries", + "group": null, + "weight": 51, "cookies": false, "type": "", - "demo": "messaging\/delete-subscriber.md", + "demo": "locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "subscribers.write", + "scope": "locale.read", "platforms": [ - "server", + "console", "client", - "console" + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -36838,498 +34233,330 @@ "security": [ { "Project": [], - "JWT": [], "Session": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "topicId", - "description": "Topic ID. The topic ID subscribed to.", - "required": true, - "type": "string", - "x-example": "<TOPIC_ID>", - "in": "path" - }, - { - "name": "subscriberId", - "description": "Subscriber ID.", - "required": true, - "type": "string", - "x-example": "<SUBSCRIBER_ID>", - "in": "path" + "Key": [], + "JWT": [] } ] } }, - "\/migrations": { + "\/locale\/countries\/eu": { "get": { - "summary": "List migrations", - "operationId": "migrationsList", + "summary": "List EU countries", + "operationId": "localeListCountriesEU", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "locale" ], - "description": "List all migrations in the current project. This endpoint returns a list of all migrations including their status, progress, and any errors that occurred during the migration process.", + "description": "List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Migrations List", + "description": "Countries List", "schema": { - "$ref": "#\/definitions\/migrationList" + "$ref": "#\/definitions\/countryList" } } }, "deprecated": false, "x-appwrite": { - "method": "list", + "method": "listCountriesEU", "group": null, - "weight": 576, + "weight": 52, "cookies": false, "type": "", - "demo": "migrations\/list.md", + "demo": "locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.read", + "scope": "locale.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, resourceId, resourceType, statusCounters, resourceData, errors", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ] } }, - "\/migrations\/appwrite": { - "post": { - "summary": "Create Appwrite migration", - "operationId": "migrationsCreateAppwriteMigration", - "consumes": [ - "application\/json" - ], + "\/locale\/countries\/phones": { + "get": { + "summary": "List countries phone codes", + "operationId": "localeListCountriesPhones", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "locale" ], - "description": "Migrate data from another Appwrite project to your current project. This endpoint allows you to migrate resources like databases, collections, documents, users, and files from an existing Appwrite project. ", + "description": "List of all countries phone codes. You can use the locale header to get the data in a supported language.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Phones List", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/phoneList" } } }, "deprecated": false, "x-appwrite": { - "method": "createAppwriteMigration", + "method": "listCountriesPhones", "group": null, - "weight": 580, + "weight": 53, "cookies": false, "type": "", - "demo": "migrations\/create-appwrite-migration.md", + "demo": "locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "locale.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "default": null, - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "team", - "membership", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "documentsdb", - "vectorsdb", - "bucket", - "file", - "function", - "deployment", - "environment-variable", - "provider", - "topic", - "subscriber", - "message", - "site", - "site-deployment", - "site-variable", - "backup-policy" - ], - "x-enum-name": "AppwriteMigrationResource", - "x-enum-keys": [] - } - }, - "endpoint": { - "type": "string", - "description": "Source Appwrite endpoint", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url" - }, - "projectId": { - "type": "string", - "description": "Source Project ID", - "default": null, - "x-example": "<PROJECT_ID>" - }, - "apiKey": { - "type": "string", - "description": "Source API Key", - "default": null, - "x-example": "<API_KEY>" - }, - "onDuplicate": { - "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "default": "fail", - "x-example": "fail", - "enum": [ - "fail", - "skip", - "overwrite" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "resources", - "endpoint", - "projectId", - "apiKey" - ] - } + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ] } }, - "\/migrations\/appwrite\/report": { + "\/locale\/currencies": { "get": { - "summary": "Get Appwrite migration report", - "operationId": "migrationsGetAppwriteReport", + "summary": "List currencies", + "operationId": "localeListCurrencies", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "locale" ], - "description": "Generate a report of the data in an Appwrite project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", + "description": "List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.", "responses": { "200": { - "description": "Migration Report", + "description": "Currencies List", "schema": { - "$ref": "#\/definitions\/migrationReport" + "$ref": "#\/definitions\/currencyList" } } }, "deprecated": false, "x-appwrite": { - "method": "getAppwriteReport", + "method": "listCurrencies", "group": null, - "weight": 581, + "weight": 55, "cookies": false, "type": "", - "demo": "migrations\/get-appwrite-report.md", + "demo": "locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "locale.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] - } - ], - "parameters": [ - { - "name": "resources", - "description": "List of resources to migrate", - "required": true, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "user", - "team", - "membership", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "documentsdb", - "vectorsdb", - "bucket", - "file", - "function", - "deployment", - "environment-variable", - "provider", - "topic", - "subscriber", - "message", - "site", - "site-deployment", - "site-variable", - "backup-policy" - ], - "x-enum-name": "AppwriteMigrationResource", - "x-enum-keys": [] - }, - "in": "query" - }, - { - "name": "endpoint", - "description": "Source's Appwrite Endpoint", - "required": true, - "type": "string", - "format": "url", - "x-example": "https:\/\/example.com", - "in": "query" - }, - { - "name": "projectID", - "description": "Source's Project ID", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "query" - }, - { - "name": "key", - "description": "Source's API Key", - "required": true, - "type": "string", - "x-example": "<KEY>", - "in": "query" + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ] } }, - "\/migrations\/csv\/exports": { - "post": { - "summary": "Export documents to CSV", - "operationId": "migrationsCreateCSVExport", - "consumes": [ - "application\/json" - ], + "\/locale\/languages": { + "get": { + "summary": "List languages", + "operationId": "localeListLanguages", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "locale" ], - "description": "Export documents to a CSV file from your Appwrite database. This endpoint allows you to export documents to a CSV file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.", + "description": "List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Languages List", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/languageList" } } }, "deprecated": false, "x-appwrite": { - "method": "createCSVExport", + "method": "listLanguages", "group": null, - "weight": 589, + "weight": 56, "cookies": false, "type": "", - "demo": "migrations\/create-csv-export.md", + "demo": "locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "locale.read", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } + ] + } + }, + "\/manager\/blocks": { + "post": { + "summary": "Create a new resource block for a project", + "operationId": "managerCreateBlock", + "consumes": [ + "application\/json" ], - "parameters": [ - { + "produces": [ + "application\/json" + ], + "tags": [ + "manager" + ], + "description": "Creates a new resource block.", + "responses": { + "201": { + "description": "Block", + "schema": { + "$ref": "#\/definitions\/block" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createBlock", + "group": null, + "weight": 1048, + "cookies": false, + "type": "", + "demo": "manager\/create-block.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "", + "platforms": [ + "console" + ], + "packaging": false, + "public": true + }, + "parameters": [ + { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "resourceId": { + "projectId": { "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", - "default": null, - "x-example": "<ID1:ID2>" + "description": "Project ID", + "x-example": "<PROJECT_ID>" }, - "filename": { + "resourceType": { "type": "string", - "description": "The name of the file to be created for the export, excluding the .csv extension.", - "default": null, - "x-example": "<FILENAME>" - }, - "columns": { - "type": "array", - "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "description": "Resource type to block (e.g., projects, functions, databases, storage, etc.)", + "x-example": "projects", + "enum": [ + "projects", + "functions", + "sites", + "databases", + "buckets", + "providers", + "topics", + "subscribers", + "messages" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "delimiter": { + "resourceId": { "type": "string", - "description": "The character that separates each column value. Default is comma.", - "default": ",", - "x-example": "<DELIMITER>" + "description": "Optional resource ID (if omitted, all resources of this type will be blocked)", + "x-example": "<RESOURCE_ID>", + "default": "" }, - "enclosure": { + "reason": { "type": "string", - "description": "The character that encloses each column value. Default is double quotes.", - "default": "\"", - "x-example": "<ENCLOSURE>" + "description": "Optional reason why the resource is blocked", + "x-example": "<REASON>", + "default": "" }, - "escape": { + "expiredAt": { "type": "string", - "description": "The escape character for the enclosure character. Default is double quotes.", - "default": "\"", - "x-example": "<ESCAPE>" - }, - "header": { - "type": "boolean", - "description": "Whether to include the header row with column names. Default is true.", - "default": true, - "x-example": false - }, - "notify": { - "type": "boolean", - "description": "Set to true to receive an email when the export is complete. Default is true.", - "default": true, - "x-example": false + "description": "Optional expiration date for the block", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "", + "format": "datetime" } }, "required": [ - "resourceId", - "filename" + "projectId", + "resourceType" ] } } ] - } - }, - "\/migrations\/csv\/imports": { - "post": { - "summary": "Import documents from a CSV", - "operationId": "migrationsCreateCSVImport", + }, + "delete": { + "summary": "Delete resource blocks for a project", + "operationId": "managerDeleteBlock", "consumes": [ "application\/json" ], @@ -37337,44 +34564,35 @@ "application\/json" ], "tags": [ - "migrations" + "manager" ], - "description": "Import documents from a CSV file into your Appwrite database. This endpoint allows you to import documents from a CSV file uploaded to Appwrite Storage bucket.", + "description": "Deletes resource blocks for a project.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "BlockDelete", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/blockDelete" } } }, "deprecated": false, "x-appwrite": { - "method": "createCSVImport", + "method": "deleteBlock", "group": null, - "weight": 588, + "weight": 1050, "cookies": false, "type": "", - "demo": "migrations\/create-csv-import.md", + "demo": "manager\/delete-block.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "", "platforms": [ "console" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", - "auth": { - "Project": [] - } + "public": true }, - "security": [ - { - "Project": [] - } - ], "parameters": [ { "name": "payload", @@ -37382,103 +34600,135 @@ "schema": { "type": "object", "properties": { - "bucketId": { - "type": "string", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "default": null, - "x-example": "<BUCKET_ID>" - }, - "fileId": { - "type": "string", - "description": "File ID.", - "default": null, - "x-example": "<FILE_ID>" - }, - "resourceId": { + "projectId": { "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", - "default": null, - "x-example": "<ID1:ID2>" - }, - "internalFile": { - "type": "boolean", - "description": "Is the file stored in an internal bucket?", - "default": false, - "x-example": false + "description": "Project ID", + "x-example": "<PROJECT_ID>" }, - "onDuplicate": { + "resourceType": { "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "default": "fail", - "x-example": "fail", + "description": "Resource type to unblock", + "x-example": "projects", "enum": [ - "fail", - "skip", - "overwrite" + "projects", + "functions", + "sites", + "databases", + "buckets", + "providers", + "topics", + "subscribers", + "messages" ], "x-enum-name": null, "x-enum-keys": [] + }, + "resourceId": { + "type": "string", + "description": "Optional resource ID (if omitted, all blocks of this type will be removed)", + "x-example": "<RESOURCE_ID>", + "default": "" } }, "required": [ - "bucketId", - "fileId", - "resourceId" + "projectId", + "resourceType" ] } } ] } }, - "\/migrations\/firebase": { - "post": { - "summary": "Create Firebase migration", - "operationId": "migrationsCreateFirebaseMigration", - "consumes": [ - "application\/json" - ], + "\/manager\/blocks\/{projectId}": { + "get": { + "summary": "List all resource blocks for a project", + "operationId": "managerListBlocks", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "manager" ], - "description": "Migrate data from a Firebase project to your Appwrite project. This endpoint allows you to migrate resources like authentication and other supported services from a Firebase project. ", + "description": "Lists all resource blocks for a project.", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Blocks list", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/blockList" } } }, "deprecated": false, "x-appwrite": { - "method": "createFirebaseMigration", + "method": "listBlocks", "group": null, - "weight": 582, + "weight": 1049, "cookies": false, "type": "", - "demo": "migrations\/create-firebase-migration.md", + "demo": "manager\/list-blocks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "", "platforms": [ "console" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", - "auth": { - "Project": [] - } + "public": true }, - "security": [ + "parameters": [ { - "Project": [] + "name": "projectId", + "description": "Project ID", + "required": true, + "type": "string", + "x-example": "<PROJECT_ID>", + "in": "path" } + ] + } + }, + "\/manager\/users\/status": { + "patch": { + "summary": "Update a user status by ID or email", + "operationId": "managerUpdateUserStatus", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "manager" ], + "description": "Updates a console user status using a user ID or email address.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateUserStatus", + "group": "users", + "weight": 1051, + "cookies": false, + "type": "", + "demo": "manager\/update-user-status.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "", + "platforms": [ + "console" + ], + "packaging": false, + "public": true + }, "parameters": [ { "name": "payload", @@ -37486,133 +34736,125 @@ "schema": { "type": "object", "properties": { - "resources": { - "type": "array", - "description": "List of resources to migrate", - "default": null, - "x-example": null, - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "FirebaseMigrationResource", - "x-enum-keys": [] - } + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>", + "default": "" }, - "serviceAccount": { + "email": { "type": "string", - "description": "JSON of the Firebase service account credentials", - "default": null, - "x-example": "<SERVICE_ACCOUNT>" + "description": "User email address.", + "x-example": "<EMAIL>", + "default": "" + }, + "status": { + "type": "boolean", + "description": "User status. Set to `false` to block and `true` to unblock.", + "x-example": false + }, + "reason": { + "type": "string", + "description": "Optional reason when blocking a user. Accepted for parity with the CLI task but not persisted.", + "x-example": "<REASON>", + "default": "" } }, "required": [ - "resources", - "serviceAccount" + "status" ] } } ] } }, - "\/migrations\/firebase\/report": { + "\/messaging\/messages": { "get": { - "summary": "Get Firebase migration report", - "operationId": "migrationsGetFirebaseReport", + "summary": "List messages", + "operationId": "messagingListMessages", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Generate a report of the data in a Firebase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", + "description": "Get a list of all messages from the current Appwrite project.", "responses": { "200": { - "description": "Migration Report", + "description": "Message list", "schema": { - "$ref": "#\/definitions\/migrationReport" + "$ref": "#\/definitions\/messageList" } } }, "deprecated": false, "x-appwrite": { - "method": "getFirebaseReport", - "group": null, - "weight": 583, + "method": "listMessages", + "group": "messages", + "weight": 157, "cookies": false, "type": "", - "demo": "migrations\/get-firebase-report.md", + "demo": "messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType", + "required": false, "type": "array", "collectionFormat": "multi", "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "FirebaseMigrationResource", - "x-enum-keys": [] + "type": "string" }, + "default": [], "in": "query" }, { - "name": "serviceAccount", - "description": "JSON of the Firebase service account credentials", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<SERVICE_ACCOUNT>", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] } }, - "\/migrations\/json\/exports": { + "\/messaging\/messages\/email": { "post": { - "summary": "Export documents to JSON", - "operationId": "migrationsCreateJSONExport", + "summary": "Create email", + "operationId": "messagingCreateEmail", "consumes": [ "application\/json" ], @@ -37620,42 +34862,44 @@ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Export documents to a JSON file from your Appwrite database. This endpoint allows you to export documents to a JSON file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.\n", + "description": "Create a new email message.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Message", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/message" } } }, "deprecated": false, "x-appwrite": { - "method": "createJSONExport", - "group": null, - "weight": 591, + "method": "createEmail", + "group": "messages", + "weight": 154, "cookies": false, "type": "", - "demo": "migrations\/create-json-export.md", + "demo": "messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-export.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -37665,56 +34909,109 @@ "schema": { "type": "object", "properties": { - "resourceId": { + "messageId": { "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", - "default": null, - "x-example": "<ID1:ID2>" + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" }, - "filename": { + "subject": { "type": "string", - "description": "The name of the file to be created for the export, excluding the .json extension.", - "default": null, - "x-example": "<FILENAME>" + "description": "Email Subject.", + "x-example": "<SUBJECT>" }, - "columns": { + "content": { + "type": "string", + "description": "Email Content.", + "x-example": "<CONTENT>" + }, + "topics": { "type": "array", - "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", + "description": "List of Topic IDs.", + "x-example": null, "default": [], + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", "x-example": null, + "default": [], "items": { "type": "string" } }, - "queries": { + "targets": { "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "List of Targets IDs.", + "x-example": null, "default": [], + "items": { + "type": "string" + } + }, + "cc": { + "type": "array", + "description": "Array of target IDs to be added as CC.", "x-example": null, + "default": [], "items": { "type": "string" } }, - "notify": { + "bcc": { + "type": "array", + "description": "Array of target IDs to be added as BCC.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "attachments": { + "type": "array", + "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "draft": { "type": "boolean", - "description": "Set to true to receive an email when the export is complete. Default is true.", - "default": true, - "x-example": false + "description": "Is message a draft", + "x-example": false, + "default": false + }, + "html": { + "type": "boolean", + "description": "Is content of type HTML", + "x-example": false, + "default": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } }, "required": [ - "resourceId", - "filename" + "messageId", + "subject", + "content" ] } } ] } }, - "\/migrations\/json\/imports": { - "post": { - "summary": "Import documents from a JSON", - "operationId": "migrationsCreateJSONImport", + "\/messaging\/messages\/email\/{messageId}": { + "patch": { + "summary": "Update email", + "operationId": "messagingUpdateEmail", "consumes": [ "application\/json" ], @@ -37722,103 +35019,156 @@ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Import documents from a JSON file into your Appwrite database. This endpoint allows you to import documents from a JSON file uploaded to Appwrite Storage bucket.\n", + "description": "Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Message", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/message" } } }, "deprecated": false, "x-appwrite": { - "method": "createJSONImport", - "group": null, - "weight": 590, + "method": "updateEmail", + "group": "messages", + "weight": 161, "cookies": false, "type": "", - "demo": "migrations\/create-json-import.md", + "demo": "messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-import.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ + { + "name": "messageId", + "description": "Message ID.", + "required": true, + "type": "string", + "x-example": "<MESSAGE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "bucketId": { - "type": "string", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "default": null, - "x-example": "<BUCKET_ID>" + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } }, - "fileId": { + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "subject": { "type": "string", - "description": "File ID.", - "default": null, - "x-example": "<FILE_ID>" + "description": "Email Subject.", + "x-example": "<SUBJECT>", + "x-nullable": true }, - "resourceId": { + "content": { "type": "string", - "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", - "default": null, - "x-example": "<ID1:ID2>" + "description": "Email Content.", + "x-example": "<CONTENT>", + "x-nullable": true }, - "internalFile": { + "draft": { "type": "boolean", - "description": "Is the file stored in an internal bucket?", - "default": false, - "x-example": false + "description": "Is message a draft", + "x-example": false, + "x-nullable": true }, - "onDuplicate": { + "html": { + "type": "boolean", + "description": "Is content of type HTML", + "x-example": false, + "x-nullable": true + }, + "cc": { + "type": "array", + "description": "Array of target IDs to be added as CC.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "bcc": { + "type": "array", + "description": "Array of target IDs to be added as BCC.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "scheduledAt": { "type": "string", - "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", - "default": "fail", - "x-example": "fail", - "enum": [ - "fail", - "skip", - "overwrite" - ], - "x-enum-name": null, - "x-enum-keys": [] + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "attachments": { + "type": "array", + "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } } - }, - "required": [ - "bucketId", - "fileId", - "resourceId" - ] + } } } ] } }, - "\/migrations\/nhost": { + "\/messaging\/messages\/push": { "post": { - "summary": "Create NHost migration", - "operationId": "migrationsCreateNHostMigration", + "summary": "Create push notification", + "operationId": "messagingCreatePush", "consumes": [ "application\/json" ], @@ -37826,42 +35176,44 @@ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Migrate data from an NHost project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from an NHost project. ", + "description": "Create a new push notification.", "responses": { - "202": { - "description": "Migration", + "201": { + "description": "Message", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/message" } } }, "deprecated": false, "x-appwrite": { - "method": "createNHostMigration", - "group": null, - "weight": 586, + "method": "createPush", + "group": "messages", + "weight": 156, "cookies": false, "type": "", - "demo": "migrations\/create-n-host-migration.md", + "demo": "messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -37871,609 +35223,789 @@ "schema": { "type": "object", "properties": { - "resources": { + "messageId": { + "type": "string", + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" + }, + "title": { + "type": "string", + "description": "Title for push notification.", + "x-example": "<TITLE>", + "default": "" + }, + "body": { + "type": "string", + "description": "Body for push notification.", + "x-example": "<BODY>", + "default": "" + }, + "topics": { "type": "array", - "description": "List of resources to migrate", - "default": null, + "description": "List of Topic IDs.", "x-example": null, + "default": [], "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "NHostMigrationResource", - "x-enum-keys": [] + "type": "string" } }, - "subdomain": { + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "data": { + "type": "object", + "description": "Additional key-value pair data for push notification.", + "x-example": "{}", + "default": {}, + "x-nullable": true + }, + "action": { "type": "string", - "description": "Source's Subdomain", - "default": null, - "x-example": "<SUBDOMAIN>" + "description": "Action for push notification.", + "x-example": "<ACTION>", + "default": "" }, - "region": { + "image": { "type": "string", - "description": "Source's Region", - "default": null, - "x-example": "<REGION>" + "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": "<ID1:ID2>", + "default": "" }, - "adminSecret": { + "icon": { "type": "string", - "description": "Source's Admin Secret", - "default": null, - "x-example": "<ADMIN_SECRET>" + "description": "Icon for push notification. Available only for Android and Web Platform.", + "x-example": "<ICON>", + "default": "" }, - "database": { + "sound": { "type": "string", - "description": "Source's Database Name", - "default": null, - "x-example": "<DATABASE>" + "description": "Sound for push notification. Available only for Android and iOS Platform.", + "x-example": "<SOUND>", + "default": "" }, - "username": { + "color": { "type": "string", - "description": "Source's Database Username", - "default": null, - "x-example": "<USERNAME>" + "description": "Color for push notification. Available only for Android Platform.", + "x-example": "<COLOR>", + "default": "" }, - "password": { + "tag": { "type": "string", - "description": "Source's Database Password", - "default": null, - "x-example": "<PASSWORD>" + "description": "Tag for push notification. Available only for Android Platform.", + "x-example": "<TAG>", + "default": "" }, - "port": { + "badge": { "type": "integer", - "description": "Source's Database Port", - "default": 5432, + "description": "Badge for push notification. Available only for iOS Platform.", "x-example": null, + "default": -1, "format": "int32" + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "default": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "contentAvailable": { + "type": "boolean", + "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", + "x-example": false, + "default": false + }, + "critical": { + "type": "boolean", + "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", + "x-example": false, + "default": false + }, + "priority": { + "type": "string", + "description": "Set the notification priority. \"normal\" will consider device state and may not deliver notifications immediately. \"high\" will always attempt to immediately deliver the notification.", + "x-example": "normal", + "default": "high", + "enum": [ + "normal", + "high" + ], + "x-enum-name": "MessagePriority", + "x-enum-keys": [] } }, "required": [ - "resources", - "subdomain", - "region", - "adminSecret", - "database", - "username", - "password" + "messageId" ] } } ] } }, - "\/migrations\/nhost\/report": { - "get": { - "summary": "Get NHost migration report", - "operationId": "migrationsGetNHostReport", - "consumes": [], + "\/messaging\/messages\/push\/{messageId}": { + "patch": { + "summary": "Update push notification", + "operationId": "messagingUpdatePush", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Generate a detailed report of the data in an NHost project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", + "description": "Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { "200": { - "description": "Migration Report", + "description": "Message", "schema": { - "$ref": "#\/definitions\/migrationReport" + "$ref": "#\/definitions\/message" } } }, "deprecated": false, "x-appwrite": { - "method": "getNHostReport", - "group": null, - "weight": 587, + "method": "updatePush", + "group": "messages", + "weight": 163, "cookies": false, "type": "", - "demo": "migrations\/get-n-host-report.md", + "demo": "messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate.", - "required": true, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "NHostMigrationResource", - "x-enum-keys": [] - }, - "in": "query" - }, - { - "name": "subdomain", - "description": "Source's Subdomain.", - "required": true, - "type": "string", - "x-example": "<SUBDOMAIN>", - "in": "query" - }, - { - "name": "region", - "description": "Source's Region.", - "required": true, - "type": "string", - "x-example": "<REGION>", - "in": "query" - }, - { - "name": "adminSecret", - "description": "Source's Admin Secret.", - "required": true, - "type": "string", - "x-example": "<ADMIN_SECRET>", - "in": "query" - }, - { - "name": "database", - "description": "Source's Database Name.", - "required": true, - "type": "string", - "x-example": "<DATABASE>", - "in": "query" - }, - { - "name": "username", - "description": "Source's Database Username.", - "required": true, - "type": "string", - "x-example": "<USERNAME>", - "in": "query" - }, - { - "name": "password", - "description": "Source's Database Password.", + "name": "messageId", + "description": "Message ID.", "required": true, "type": "string", - "x-example": "<PASSWORD>", - "in": "query" + "x-example": "<MESSAGE_ID>", + "in": "path" }, - { - "name": "port", - "description": "Source's Database Port.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5432, - "in": "query" - } - ] - } - }, - "\/migrations\/supabase": { - "post": { - "summary": "Create Supabase migration", - "operationId": "migrationsCreateSupabaseMigration", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "migrations" - ], - "description": "Migrate data from a Supabase project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from a Supabase project. ", - "responses": { - "202": { - "description": "Migration", - "schema": { - "$ref": "#\/definitions\/migration" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createSupabaseMigration", - "group": null, - "weight": 584, - "cookies": false, - "type": "", - "demo": "migrations\/create-supabase-migration.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "resources": { + "topics": { "type": "array", - "description": "List of resources to migrate", - "default": null, + "description": "List of Topic IDs.", "x-example": null, + "x-nullable": true, "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "SupabaseMigrationResource", - "x-enum-keys": [] + "type": "string" } }, - "endpoint": { + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "title": { "type": "string", - "description": "Source's Supabase Endpoint", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url" + "description": "Title for push notification.", + "x-example": "<TITLE>", + "x-nullable": true }, - "apiKey": { + "body": { "type": "string", - "description": "Source's API Key", - "default": null, - "x-example": "<API_KEY>" + "description": "Body for push notification.", + "x-example": "<BODY>", + "x-nullable": true }, - "databaseHost": { + "data": { + "type": "object", + "description": "Additional Data for push notification.", + "x-example": "{}", + "default": {}, + "x-nullable": true + }, + "action": { "type": "string", - "description": "Source's Database Host", - "default": null, - "x-example": "<DATABASE_HOST>" + "description": "Action for push notification.", + "x-example": "<ACTION>", + "x-nullable": true }, - "username": { + "image": { "type": "string", - "description": "Source's Database Username", - "default": null, - "x-example": "<USERNAME>" + "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", + "x-example": "<ID1:ID2>", + "x-nullable": true }, - "password": { + "icon": { "type": "string", - "description": "Source's Database Password", - "default": null, - "x-example": "<PASSWORD>" + "description": "Icon for push notification. Available only for Android and Web platforms.", + "x-example": "<ICON>", + "x-nullable": true }, - "port": { + "sound": { + "type": "string", + "description": "Sound for push notification. Available only for Android and iOS platforms.", + "x-example": "<SOUND>", + "x-nullable": true + }, + "color": { + "type": "string", + "description": "Color for push notification. Available only for Android platforms.", + "x-example": "<COLOR>", + "x-nullable": true + }, + "tag": { + "type": "string", + "description": "Tag for push notification. Available only for Android platforms.", + "x-example": "<TAG>", + "x-nullable": true + }, + "badge": { "type": "integer", - "description": "Source's Database Port", - "default": 5432, + "description": "Badge for push notification. Available only for iOS platforms.", "x-example": null, - "format": "int32" + "format": "int32", + "x-nullable": true + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "x-nullable": true + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "contentAvailable": { + "type": "boolean", + "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", + "x-example": false, + "x-nullable": true + }, + "critical": { + "type": "boolean", + "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", + "x-example": false, + "x-nullable": true + }, + "priority": { + "type": "string", + "description": "Set the notification priority. \"normal\" will consider device battery state and may send notifications later. \"high\" will always attempt to immediately deliver the notification.", + "x-example": "normal", + "enum": [ + "normal", + "high" + ], + "x-enum-name": "MessagePriority", + "x-enum-keys": [], + "x-nullable": true } - }, - "required": [ - "resources", - "endpoint", - "apiKey", - "databaseHost", - "username", - "password" - ] + } } } ] } }, - "\/migrations\/supabase\/report": { - "get": { - "summary": "Get Supabase migration report", - "operationId": "migrationsGetSupabaseReport", - "consumes": [], + "\/messaging\/messages\/sms": { + "post": { + "summary": "Create SMS", + "operationId": "messagingCreateSms", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Generate a report of the data in a Supabase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", + "description": "Create a new SMS message.", "responses": { - "200": { - "description": "Migration Report", + "201": { + "description": "Message", "schema": { - "$ref": "#\/definitions\/migrationReport" + "$ref": "#\/definitions\/message" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getSupabaseReport", - "group": null, - "weight": 585, + "method": "createSms", + "group": "messages", + "weight": 155, "cookies": false, "type": "", - "demo": "migrations\/get-supabase-report.md", + "demo": "messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMS" + }, + "methods": [ + { + "name": "createSms", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "content", + "topics", + "users", + "targets", + "draft", + "scheduledAt" + ], + "required": [ + "messageId", + "content" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/message" + } + ], + "description": "Create a new SMS message.", + "demo": "messaging\/create-sms.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMS" + } + }, + { + "name": "createSMS", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "content", + "topics", + "users", + "targets", + "draft", + "scheduledAt" + ], + "required": [ + "messageId", + "content" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/message" + } + ], + "description": "Create a new SMS message.", + "demo": "messaging\/create-sms.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "resources", - "description": "List of resources to migrate", - "required": true, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "user", - "database", - "table", - "column", - "index", - "row", - "document", - "attribute", - "collection", - "bucket", - "file" - ], - "x-enum-name": "SupabaseMigrationResource", - "x-enum-keys": [] - }, - "in": "query" - }, - { - "name": "endpoint", - "description": "Source's Supabase Endpoint.", - "required": true, - "type": "string", - "format": "url", - "x-example": "https:\/\/example.com", - "in": "query" - }, - { - "name": "apiKey", - "description": "Source's API Key.", - "required": true, - "type": "string", - "x-example": "<API_KEY>", - "in": "query" - }, - { - "name": "databaseHost", - "description": "Source's Database Host.", - "required": true, - "type": "string", - "x-example": "<DATABASE_HOST>", - "in": "query" - }, - { - "name": "username", - "description": "Source's Database Username.", - "required": true, - "type": "string", - "x-example": "<USERNAME>", - "in": "query" - }, - { - "name": "password", - "description": "Source's Database Password.", - "required": true, - "type": "string", - "x-example": "<PASSWORD>", - "in": "query" - }, - { - "name": "port", - "description": "Source's Database Port.", - "required": false, - "type": "integer", - "format": "int32", - "default": 5432, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "messageId": { + "type": "string", + "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<MESSAGE_ID>" + }, + "content": { + "type": "string", + "description": "SMS Content.", + "x-example": "<CONTENT>" + }, + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "default": false + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } + }, + "required": [ + "messageId", + "content" + ] + } } ] } }, - "\/migrations\/{migrationId}": { - "get": { - "summary": "Get migration", - "operationId": "migrationsGet", - "consumes": [], + "\/messaging\/messages\/sms\/{messageId}": { + "patch": { + "summary": "Update SMS", + "operationId": "messagingUpdateSms", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Get a migration by its unique ID. This endpoint returns detailed information about a specific migration including its current status, progress, and any errors that occurred during the migration process. ", + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", "responses": { "200": { - "description": "Migration", + "description": "Message", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/message" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "get", - "group": null, - "weight": 577, + "method": "updateSms", + "group": "messages", + "weight": 162, "cookies": false, "type": "", - "demo": "migrations\/get.md", + "demo": "messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.read", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMS" + }, + "methods": [ + { + "name": "updateSms", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "topics", + "users", + "targets", + "content", + "draft", + "scheduledAt" + ], + "required": [ + "messageId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/message" + } + ], + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "demo": "messaging\/update-sms.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMS" + } + }, + { + "name": "updateSMS", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "messageId", + "topics", + "users", + "targets", + "content", + "draft", + "scheduledAt" + ], + "required": [ + "messageId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/message" + } + ], + "description": "Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.\n", + "demo": "messaging\/update-sms.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "migrationId", - "description": "Migration unique ID.", + "name": "messageId", + "description": "Message ID.", "required": true, "type": "string", - "x-example": "<MIGRATION_ID>", + "x-example": "<MESSAGE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "topics": { + "type": "array", + "description": "List of Topic IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "users": { + "type": "array", + "description": "List of User IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "List of Targets IDs.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string" + } + }, + "content": { + "type": "string", + "description": "Email Content.", + "x-example": "<CONTENT>", + "x-nullable": true + }, + "draft": { + "type": "boolean", + "description": "Is message a draft", + "x-example": false, + "x-nullable": true + }, + "scheduledAt": { + "type": "string", + "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } + } + } } ] - }, - "patch": { - "summary": "Update retry migration", - "operationId": "migrationsRetry", - "consumes": [ - "application\/json" - ], + } + }, + "\/messaging\/messages\/{messageId}": { + "get": { + "summary": "Get message", + "operationId": "messagingGetMessage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "migrations" + "messaging" ], - "description": "Retry a failed migration. This endpoint allows you to retry a migration that has previously failed.", + "description": "Get a message by its unique ID.\n", "responses": { - "202": { - "description": "Migration", + "200": { + "description": "Message", "schema": { - "$ref": "#\/definitions\/migration" + "$ref": "#\/definitions\/message" } } }, "deprecated": false, "x-appwrite": { - "method": "retry", - "group": null, - "weight": 578, + "method": "getMessage", + "group": "messages", + "weight": 160, "cookies": false, "type": "", - "demo": "migrations\/retry.md", + "demo": "messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "migrationId", - "description": "Migration unique ID.", + "name": "messageId", + "description": "Message ID.", "required": true, "type": "string", - "x-example": "<MIGRATION_ID>", + "x-example": "<MESSAGE_ID>", "in": "path" } ] }, "delete": { - "summary": "Delete migration", - "operationId": "migrationsDelete", + "summary": "Delete message", + "operationId": "messagingDelete", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "migrations" + "messaging" ], - "description": "Delete a migration by its unique ID. This endpoint allows you to remove a migration from your project's migration history. ", + "description": "Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.", "responses": { "204": { "description": "No content" @@ -38482,93 +36014,105 @@ "deprecated": false, "x-appwrite": { "method": "delete", - "group": null, - "weight": 579, + "group": "messages", + "weight": 164, "cookies": false, "type": "", - "demo": "migrations\/delete.md", + "demo": "messaging\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "migrations.write", + "scope": "messages.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "migrationId", - "description": "Migration ID.", + "name": "messageId", + "description": "Message ID.", "required": true, "type": "string", - "x-example": "<MIGRATION_ID>", + "x-example": "<MESSAGE_ID>", "in": "path" } ] } }, - "\/organizations": { + "\/messaging\/messages\/{messageId}\/logs": { "get": { - "summary": "List Orgnizations", - "operationId": "organizationsList", + "summary": "List message logs", + "operationId": "messagingListMessageLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", + "description": "Get the message activity logs listed by its unique ID.", "responses": { "200": { - "description": "Organizations list", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/organizationList" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": null, - "weight": 998, + "method": "listMessageLogs", + "group": "logs", + "weight": 158, "cookies": false, "type": "", - "demo": "organizations\/list.md", + "demo": "messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ + { + "name": "messageId", + "description": "Message ID.", + "required": true, + "type": "string", + "x-example": "<MESSAGE_ID>", + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan, paymentMethodId, backupPaymentMethodId, platform", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", "required": false, "type": "array", "collectionFormat": "multi", @@ -38579,274 +36123,186 @@ "in": "query" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] - }, - "post": { - "summary": "Create Organization", - "operationId": "organizationsCreate", - "consumes": [ - "application\/json" - ], + } + }, + "\/messaging\/messages\/{messageId}\/targets": { + "get": { + "summary": "List message targets", + "operationId": "messagingListTargets", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Create a new organization.\n", + "description": "Get a list of the targets associated with a message.", "responses": { - "201": { - "description": "Organization, or PaymentAuthentication", + "200": { + "description": "Target list", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/organization" - }, - { - "$ref": "#\/definitions\/paymentAuthentication" - } - ] + "$ref": "#\/definitions\/targetList" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": null, - "weight": 997, + "method": "listTargets", + "group": "messages", + "weight": 159, "cookies": false, "type": "", - "demo": "organizations\/create.md", - "rate-limit": 10, + "demo": "messaging\/list-targets.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "messages.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Organization ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<ORGANIZATION_ID>" - }, - "name": { - "type": "string", - "description": "Organization name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "billingPlan": { - "type": "string", - "description": "Organization billing plan chosen", - "default": null, - "x-example": "tier-0" - }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>", - "x-nullable": true - }, - "billingAddressId": { - "type": "string", - "description": "Unique ID of billing address", - "default": "", - "x-example": "<BILLING_ADDRESS_ID>", - "x-nullable": true - }, - "invites": { - "type": "array", - "description": "Additional member invites", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "couponId": { - "type": "string", - "description": "Coupon id", - "default": null, - "x-example": "<COUPON_ID>", - "x-nullable": true - }, - "taxId": { - "type": "string", - "description": "Tax Id associated to billing.", - "default": null, - "x-example": "<TAX_ID>", - "x-nullable": true - }, - "budget": { - "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "default": null, - "x-example": 0, - "format": "int32", - "x-nullable": true - }, - "platform": { - "type": "string", - "description": "Platform type", - "default": "appwrite", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "organizationId", - "name", - "billingPlan" - ] - } + "name": "messageId", + "description": "Message ID.", + "required": true, + "type": "string", + "x-example": "<MESSAGE_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/organizations\/estimations\/create-organization": { - "patch": { - "summary": "Estimate create Organization", - "operationId": "organizationsEstimationCreateOrganization", - "consumes": [ - "application\/json" - ], + "\/messaging\/providers": { + "get": { + "summary": "List providers", + "operationId": "messagingListProviders", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get estimation for creating an organization.", + "description": "Get a list of all providers from the current Appwrite project.", "responses": { "200": { - "description": "Estimation", + "description": "Provider list", "schema": { - "$ref": "#\/definitions\/estimation" + "$ref": "#\/definitions\/providerList" } } }, "deprecated": false, "x-appwrite": { - "method": "estimationCreateOrganization", - "group": null, - "weight": 1032, + "method": "listProviders", + "group": "providers", + "weight": 128, "cookies": false, "type": "", - "demo": "organizations\/estimation-create-organization.md", - "rate-limit": 10, + "demo": "messaging\/list-providers.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-create-organization.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "billingPlan": { - "type": "string", - "description": "Organization billing plan chosen", - "default": null, - "x-example": "tier-0" - }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>", - "x-nullable": true - }, - "invites": { - "type": "array", - "description": "Additional member invites", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "couponId": { - "type": "string", - "description": "Coupon id", - "default": null, - "x-example": "<COUPON_ID>", - "x-nullable": true - }, - "platform": { - "type": "string", - "description": "Platform type", - "default": "appwrite", - "x-example": "appwrite", - "enum": [ - "appwrite", - "imagine" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "billingPlan" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/organizations\/{organizationId}": { - "delete": { - "summary": "Delete team", - "operationId": "organizationsDelete", + "\/messaging\/providers\/apns": { + "post": { + "summary": "Create APNS provider", + "operationId": "messagingCreateApnsProvider", "consumes": [ "application\/json" ], @@ -38854,116 +36310,369 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Delete an organization.", + "description": "Create a new Apple Push Notification service provider.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Provider", + "schema": { + "$ref": "#\/definitions\/provider" + } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 999, + "method": "createApnsProvider", + "group": "providers", + "weight": 127, "cookies": false, "type": "", - "demo": "organizations\/delete.md", + "demo": "messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "organizations.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Team ID.", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createAPNSProvider" + }, + "methods": [ + { + "name": "createApnsProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new Apple Push Notification service provider.", + "demo": "messaging\/create-apns-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createAPNSProvider" + } + }, + { + "name": "createAPNSProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new Apple Push Notification service provider.", + "demo": "messaging\/create-apns-provider.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "authKey": { + "type": "string", + "description": "APNS authentication key.", + "x-example": "<AUTH_KEY>", + "default": "" + }, + "authKeyId": { + "type": "string", + "description": "APNS authentication key ID.", + "x-example": "<AUTH_KEY_ID>", + "default": "" + }, + "teamId": { + "type": "string", + "description": "APNS team ID.", + "x-example": "<TEAM_ID>", + "default": "" + }, + "bundleId": { + "type": "string", + "description": "APNS bundle ID.", + "x-example": "<BUNDLE_ID>", + "default": "" + }, + "sandbox": { + "type": "boolean", + "description": "Use APNS sandbox environment.", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } } ] } }, - "\/organizations\/{organizationId}\/addons": { - "get": { - "summary": "List addons", - "operationId": "organizationsListAddons", - "consumes": [], + "\/messaging\/providers\/apns\/{providerId}": { + "patch": { + "summary": "Update APNS provider", + "operationId": "messagingUpdateApnsProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "List all billing addons for an organization.\n", + "description": "Update a Apple Push Notification service provider by its unique ID.", "responses": { "200": { - "description": "Addons list", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/addonList" + "$ref": "#\/definitions\/provider" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listAddons", - "group": null, - "weight": 1040, + "method": "updateApnsProvider", + "group": "providers", + "weight": 141, "cookies": false, "type": "", - "demo": "organizations\/list-addons.md", + "demo": "messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-addons.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateAPNSProvider" + }, + "methods": [ + { + "name": "updateApnsProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a Apple Push Notification service provider by its unique ID.", + "demo": "messaging\/update-apns-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateAPNSProvider" + } + }, + { + "name": "updateAPNSProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "authKey", + "authKeyId", + "teamId", + "bundleId", + "sandbox" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a Apple Push Notification service provider by its unique ID.", + "demo": "messaging\/update-apns-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "authKey": { + "type": "string", + "description": "APNS authentication key.", + "x-example": "<AUTH_KEY>", + "default": "" + }, + "authKeyId": { + "type": "string", + "description": "APNS authentication key ID.", + "x-example": "<AUTH_KEY_ID>", + "default": "" + }, + "teamId": { + "type": "string", + "description": "APNS team ID.", + "x-example": "<TEAM_ID>", + "default": "" + }, + "bundleId": { + "type": "string", + "description": "APNS bundle ID.", + "x-example": "<BUNDLE_ID>", + "default": "" + }, + "sandbox": { + "type": "boolean", + "description": "Use APNS sandbox environment.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/organizations\/{organizationId}\/addons\/baa": { + "\/messaging\/providers\/fcm": { "post": { - "summary": "Create BAA addon", - "operationId": "organizationsCreateBaaAddon", + "summary": "Create FCM provider", + "operationId": "messagingCreateFcmProvider", "consumes": [ "application\/json" ], @@ -38971,191 +36680,307 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Create the BAA billing addon for an organization.\n", + "description": "Create a new Firebase Cloud Messaging provider.", "responses": { "201": { - "description": "Addon", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/addon" + "$ref": "#\/definitions\/provider" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "createBaaAddon", - "group": null, - "weight": 1043, + "method": "createFcmProvider", + "group": "providers", + "weight": 126, "cookies": false, "type": "", - "demo": "organizations\/create-baa-addon.md", - "rate-limit": 10, + "demo": "messaging\/create-fcm-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-baa-addon.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createFCMProvider" + }, + "methods": [ + { + "name": "createFcmProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "serviceAccountJSON", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new Firebase Cloud Messaging provider.", + "demo": "messaging\/create-fcm-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createFCMProvider" + } + }, + { + "name": "createFCMProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "serviceAccountJSON", + "enabled" + ], + "required": [ + "providerId", + "name" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new Firebase Cloud Messaging provider.", + "demo": "messaging\/create-fcm-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "serviceAccountJSON": { + "type": "object", + "description": "FCM service account JSON.", + "x-example": "{}", + "default": {}, + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } } ] } }, - "\/organizations\/{organizationId}\/addons\/{addonId}": { - "get": { - "summary": "Get addon", - "operationId": "organizationsGetAddon", - "consumes": [], + "\/messaging\/providers\/fcm\/{providerId}": { + "patch": { + "summary": "Update FCM provider", + "operationId": "messagingUpdateFcmProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get the details of a billing addon for an organization.\n", + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", "responses": { "200": { - "description": "Addon", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/addon" + "$ref": "#\/definitions\/provider" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getAddon", - "group": null, - "weight": 1041, + "method": "updateFcmProvider", + "group": "providers", + "weight": 140, "cookies": false, "type": "", - "demo": "organizations\/get-addon.md", + "demo": "messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateFCMProvider" }, - { - "name": "addonId", - "description": "Addon ID", - "required": true, - "type": "string", - "x-example": "<ADDON_ID>", - "in": "path" - } - ] - }, - "delete": { - "summary": "Delete addon", - "operationId": "organizationsDeleteAddon", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "organizations" - ], - "description": "Delete a billing addon for an organization.\n", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteAddon", - "group": null, - "weight": 1044, - "cookies": false, - "type": "", - "demo": "organizations\/delete-addon.md", - "rate-limit": 10, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", - "platforms": [ - "console" + "methods": [ + { + "name": "updateFcmProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "serviceAccountJSON" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "demo": "messaging\/update-fcm-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateFCMProvider" + } + }, + { + "name": "updateFCMProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "enabled", + "serviceAccountJSON" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a Firebase Cloud Messaging provider by its unique ID.", + "demo": "messaging\/update-fcm-provider.md", + "public": true + } ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "addonId", - "description": "Addon ID", - "required": true, - "type": "string", - "x-example": "<ADDON_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "serviceAccountJSON": { + "type": "object", + "description": "FCM service account JSON.", + "x-example": "{}", + "default": {}, + "x-nullable": true + } + } + } } ] } }, - "\/organizations\/{organizationId}\/addons\/{addonId}\/confirmations": { + "\/messaging\/providers\/mailgun": { "post": { - "summary": "Confirm addon payment after 3DS authentication", - "operationId": "organizationsConfirmAddonPayment", + "summary": "Create Mailgun provider", + "operationId": "messagingCreateMailgunProvider", "consumes": [ "application\/json" ], @@ -39163,297 +36988,458 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Confirm payment for a billing addon for an organization.\n", + "description": "Create a new Mailgun provider.", "responses": { - "200": { - "description": "Addon", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/addon" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "confirmAddonPayment", - "group": null, - "weight": 1045, + "method": "createMailgunProvider", + "group": "providers", + "weight": 117, "cookies": false, "type": "", - "demo": "organizations\/confirm-addon-payment.md", - "rate-limit": 10, + "demo": "messaging\/create-mailgun-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/confirm-addon-payment.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "addonId", - "description": "Addon ID", - "required": true, - "type": "string", - "x-example": "<ADDON_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "apiKey": { + "type": "string", + "description": "Mailgun API Key.", + "x-example": "<API_KEY>", + "default": "" + }, + "domain": { + "type": "string", + "description": "Mailgun Domain.", + "x-example": "<DOMAIN>", + "default": "" + }, + "isEuRegion": { + "type": "boolean", + "description": "Set as EU region.", + "x-example": false, + "x-nullable": true + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } } ] } }, - "\/organizations\/{organizationId}\/addons\/{addon}\/price": { - "get": { - "summary": "Get addon price", - "operationId": "organizationsGetAddonPrice", - "consumes": [], + "\/messaging\/providers\/mailgun\/{providerId}": { + "patch": { + "summary": "Update Mailgun provider", + "operationId": "messagingUpdateMailgunProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get the price details for a billing addon for an organization.\n", + "description": "Update a Mailgun provider by its unique ID.", "responses": { "200": { - "description": "AddonPrice", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/addonPrice" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getAddonPrice", - "group": null, - "weight": 1042, + "method": "updateMailgunProvider", + "group": "providers", + "weight": 131, "cookies": false, "type": "", - "demo": "organizations\/get-addon-price.md", + "demo": "messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon-price.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "addon", - "description": "Addon key identifier (e.g. baa).", - "required": true, - "type": "string", - "x-example": "baa", - "enum": [ - "baa" - ], - "x-enum-name": null, - "x-enum-keys": [], - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "apiKey": { + "type": "string", + "description": "Mailgun API Key.", + "x-example": "<API_KEY>", + "default": "" + }, + "domain": { + "type": "string", + "description": "Mailgun Domain.", + "x-example": "<DOMAIN>", + "default": "" + }, + "isEuRegion": { + "type": "boolean", + "description": "Set as EU region.", + "x-example": false, + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "<REPLY_TO_EMAIL>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/aggregations": { - "get": { - "summary": "List aggregations", - "operationId": "organizationsListAggregations", - "consumes": [], + "\/messaging\/providers\/msg91": { + "post": { + "summary": "Create Msg91 provider", + "operationId": "messagingCreateMsg91Provider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get a list of all aggregations for an organization.", + "description": "Create a new MSG91 provider.", "responses": { - "200": { - "description": "Aggregation team list", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/aggregationTeamList" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "listAggregations", - "group": null, - "weight": 1014, + "method": "createMsg91Provider", + "group": "providers", + "weight": 121, "cookies": false, "type": "", - "demo": "organizations\/list-aggregations.md", + "demo": "messaging\/create-msg-91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-aggregations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, from, to", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "templateId": { + "type": "string", + "description": "Msg91 template ID", + "x-example": "<TEMPLATE_ID>", + "default": "" + }, + "senderId": { + "type": "string", + "description": "Msg91 sender ID.", + "x-example": "<SENDER_ID>", + "default": "" + }, + "authKey": { + "type": "string", + "description": "Msg91 auth key.", + "x-example": "<AUTH_KEY>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } } ] } }, - "\/organizations\/{organizationId}\/aggregations\/{aggregationId}": { - "get": { - "summary": "Get aggregation", - "operationId": "organizationsGetAggregation", - "consumes": [], + "\/messaging\/providers\/msg91\/{providerId}": { + "patch": { + "summary": "Update Msg91 provider", + "operationId": "messagingUpdateMsg91Provider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get a specific aggregation using it's aggregation ID.", + "description": "Update a MSG91 provider by its unique ID.", "responses": { "200": { - "description": "AggregationTeam", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/aggregationTeam" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getAggregation", - "group": null, - "weight": 1015, + "method": "updateMsg91Provider", + "group": "providers", + "weight": 135, "cookies": false, "type": "", - "demo": "organizations\/get-aggregation.md", + "demo": "messaging\/update-msg-91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-aggregation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "aggregationId", - "description": "Invoice unique ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<AGGREGATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "limit", - "description": "Maximum number of project aggregations to return in response. By default will return maximum 5 results. Maximum of 10 results allowed per request.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 5, - "in": "query" - }, - { - "name": "offset", - "description": "Offset value. The default value is 0. Use this param to manage pagination.", - "required": false, - "type": "integer", - "format": "int32", - "default": 0, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "templateId": { + "type": "string", + "description": "Msg91 template ID.", + "x-example": "<TEMPLATE_ID>", + "default": "" + }, + "senderId": { + "type": "string", + "description": "Msg91 sender ID.", + "x-example": "<SENDER_ID>", + "default": "" + }, + "authKey": { + "type": "string", + "description": "Msg91 auth key.", + "x-example": "<AUTH_KEY>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/billing-address": { - "patch": { - "summary": "Set team's billing address", - "operationId": "organizationsSetBillingAddress", + "\/messaging\/providers\/resend": { + "post": { + "summary": "Create Resend provider", + "operationId": "messagingCreateResendProvider", "consumes": [ "application\/json" ], @@ -39461,76 +37447,115 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Set a billing address for an organization.", + "description": "Create a new Resend provider.", "responses": { - "200": { - "description": "Organization", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "setBillingAddress", - "group": null, - "weight": 1007, + "method": "createResendProvider", + "group": "providers", + "weight": 119, "cookies": false, "type": "", - "demo": "organizations\/set-billing-address.md", + "demo": "messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-address.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "billingAddressId": { + "providerId": { "type": "string", - "description": "Unique ID of billing address", - "default": null, - "x-example": "<BILLING_ADDRESS_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "apiKey": { + "type": "string", + "description": "Resend API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "billingAddressId" + "providerId", + "name" ] } } ] - }, - "delete": { - "summary": "Delete team's billing address", - "operationId": "organizationsDeleteBillingAddress", + } + }, + "\/messaging\/providers\/resend\/{providerId}": { + "patch": { + "summary": "Update Resend provider", + "operationId": "messagingUpdateResendProvider", "consumes": [ "application\/json" ], @@ -39538,124 +37563,114 @@ "application\/json" ], "tags": [ - "organizations" - ], - "description": "Delete a team's billing address.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteBillingAddress", - "group": null, - "weight": 1008, - "cookies": false, - "type": "", - "demo": "organizations\/delete-billing-address.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-billing-address.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - } - ] - } - }, - "\/organizations\/{organizationId}\/billing-addresses\/{billingAddressId}": { - "get": { - "summary": "Get billing address", - "operationId": "organizationsGetBillingAddress", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "organizations" + "messaging" ], - "description": "Get a billing address using it's ID.", + "description": "Update a Resend provider by its unique ID.", "responses": { "200": { - "description": "BillingAddress", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/billingAddress" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getBillingAddress", - "group": null, - "weight": 1006, + "method": "updateResendProvider", + "group": "providers", + "weight": 133, "cookies": false, "type": "", - "demo": "organizations\/get-billing-address.md", + "demo": "messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-billing-address.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "billingAddressId", - "description": "Unique ID of billing address", - "required": true, - "type": "string", - "x-example": "<BILLING_ADDRESS_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "apiKey": { + "type": "string", + "description": "Resend API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/billing-email": { - "patch": { - "summary": "Set team's billing email", - "operationId": "organizationsSetBillingEmail", + "\/messaging\/providers\/sendgrid": { + "post": { + "summary": "Create Sendgrid provider", + "operationId": "messagingCreateSendgridProvider", "consumes": [ "application\/json" ], @@ -39663,79 +37678,115 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Set the current billing email for the organization.", + "description": "Create a new Sendgrid provider.", "responses": { - "200": { - "description": "Organization", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "setBillingEmail", - "group": null, - "weight": 1026, + "method": "createSendgridProvider", + "group": "providers", + "weight": 118, "cookies": false, "type": "", - "demo": "organizations\/set-billing-email.md", + "demo": "messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "billingEmail": { + "providerId": { "type": "string", - "description": "Billing email for the organization.", - "default": null, + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "apiKey": { + "type": "string", + "description": "Sendgrid API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "default": "", "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "billingEmail" + "providerId", + "name" ] } } ] } }, - "\/organizations\/{organizationId}\/budget": { + "\/messaging\/providers\/sendgrid\/{providerId}": { "patch": { - "summary": "Update organization budget", - "operationId": "organizationsUpdateBudget", + "summary": "Update Sendgrid provider", + "operationId": "messagingUpdateSendgridProvider", "consumes": [ "application\/json" ], @@ -39743,51 +37794,53 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Update the budget limit for an organization.", + "description": "Update a Sendgrid provider by its unique ID.", "responses": { "200": { - "description": "Organization", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "updateBudget", - "group": null, - "weight": 1003, + "method": "updateSendgridProvider", + "group": "providers", + "weight": 132, "cookies": false, "type": "", - "demo": "organizations\/update-budget.md", + "demo": "messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-budget.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { @@ -39796,373 +37849,647 @@ "schema": { "type": "object", "properties": { - "budget": { - "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "default": null, - "x-example": 0, - "format": "int32", + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, "x-nullable": true }, - "alerts": { - "type": "array", - "description": "Budget alert limit percentage", - "default": [ - 75 - ], - "x-example": null, - "items": { - "type": "integer" - } + "apiKey": { + "type": "string", + "description": "Sendgrid API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>", + "default": "" } - }, - "required": [ - "budget" - ] + } } } ] } }, - "\/organizations\/{organizationId}\/credits": { - "get": { - "summary": "List credits", - "operationId": "organizationsListCredits", - "consumes": [], + "\/messaging\/providers\/smtp": { + "post": { + "summary": "Create SMTP provider", + "operationId": "messagingCreateSmtpProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "List all credits for an organization.\n", + "description": "Create a new SMTP provider.", "responses": { - "200": { - "description": "CreditList", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/creditList" + "$ref": "#\/definitions\/provider" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "listCredits", - "group": null, - "weight": 1018, + "method": "createSmtpProvider", + "group": "providers", + "weight": 120, "cookies": false, "type": "", - "demo": "organizations\/list-credits.md", + "demo": "messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-credits.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMTPProvider" }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, couponId, credits, expiration, status", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" + "methods": [ + { + "name": "createSmtpProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId", + "name", + "host" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new SMTP provider.", + "demo": "messaging\/create-smtp-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.createSMTPProvider" + } }, - "default": [], - "in": "query" - } - ] - }, - "post": { - "summary": "Add credits from coupon", - "operationId": "organizationsAddCredit", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "organizations" - ], - "description": "Add credit to an organization using a coupon.", - "responses": { - "201": { - "description": "Credit", - "schema": { - "$ref": "#\/definitions\/credit" + { + "name": "createSMTPProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId", + "name", + "host" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/provider" + } + ], + "description": "Create a new SMTP provider.", + "demo": "messaging\/create-smtp-provider.md", + "public": true } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "addCredit", - "group": null, - "weight": 1019, - "cookies": false, - "type": "", - "demo": "organizations\/add-credit.md", - "rate-limit": 10, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", - "platforms": [ - "console" ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/add-credit.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "couponId": { + "providerId": { "type": "string", - "description": "ID of the coupon", - "default": null, - "x-example": "<COUPON_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "host": { + "type": "string", + "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", + "x-example": "<HOST>" + }, + "port": { + "type": "integer", + "description": "The default SMTP server port.", + "x-example": 1, + "default": 587, + "format": "int32" + }, + "username": { + "type": "string", + "description": "Authentication username.", + "x-example": "<USERNAME>", + "default": "" + }, + "password": { + "type": "string", + "description": "Authentication password.", + "x-example": "<PASSWORD>", + "default": "" + }, + "encryption": { + "type": "string", + "description": "Encryption type. Can be omitted, 'ssl', or 'tls'", + "x-example": "none", + "enum": [ + "none", + "ssl", + "tls" + ], + "x-enum-name": "SmtpEncryption", + "x-enum-keys": [] + }, + "autoTLS": { + "type": "boolean", + "description": "Enable SMTP AutoTLS feature.", + "x-example": false, + "default": true + }, + "mailer": { + "type": "string", + "description": "The value to use for the X-Mailer header.", + "x-example": "<MAILER>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the reply to field for the mail. Default value is sender name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the reply to field for the mail. Default value is sender email.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "couponId" + "providerId", + "name", + "host" ] } } ] } }, - "\/organizations\/{organizationId}\/credits\/available": { - "get": { - "summary": "Get available credits", - "operationId": "organizationsGetAvailableCredits", - "consumes": [], + "\/messaging\/providers\/smtp\/{providerId}": { + "patch": { + "summary": "Update SMTP provider", + "operationId": "messagingUpdateSmtpProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get total available valid credits for an organization.", + "description": "Update a SMTP provider by its unique ID.", "responses": { "200": { - "description": "CreditAvailable", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/creditAvailable" + "$ref": "#\/definitions\/provider" } } }, - "deprecated": false, + "deprecated": true, "x-appwrite": { - "method": "getAvailableCredits", - "group": null, - "weight": 1017, + "method": "updateSmtpProvider", + "group": "providers", + "weight": 134, "cookies": false, "type": "", - "demo": "organizations\/get-available-credits.md", + "demo": "messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-available-credits.md", + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMTPProvider" + }, + "methods": [ + { + "name": "updateSmtpProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a SMTP provider by its unique ID.", + "demo": "messaging\/update-smtp-provider.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "messaging.updateSMTPProvider" + } + }, + { + "name": "updateSMTPProvider", + "namespace": "messaging", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "providerId", + "name", + "host", + "port", + "username", + "password", + "encryption", + "autoTLS", + "mailer", + "fromName", + "fromEmail", + "replyToName", + "replyToEmail", + "enabled" + ], + "required": [ + "providerId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/provider" + } + ], + "description": "Update a SMTP provider by its unique ID.", + "demo": "messaging\/update-smtp-provider.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "host": { + "type": "string", + "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", + "x-example": "<HOST>", + "default": "" + }, + "port": { + "type": "integer", + "description": "SMTP port.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "username": { + "type": "string", + "description": "Authentication username.", + "x-example": "<USERNAME>", + "default": "" + }, + "password": { + "type": "string", + "description": "Authentication password.", + "x-example": "<PASSWORD>", + "default": "" + }, + "encryption": { + "type": "string", + "description": "Encryption type. Can be 'ssl' or 'tls'", + "x-example": "none", + "enum": [ + "none", + "ssl", + "tls" + ], + "x-enum-name": "SmtpEncryption", + "x-enum-keys": [] + }, + "autoTLS": { + "type": "boolean", + "description": "Enable SMTP AutoTLS feature.", + "x-example": false, + "x-nullable": true + }, + "mailer": { + "type": "string", + "description": "The value to use for the X-Mailer header.", + "x-example": "<MAILER>", + "default": "" + }, + "fromName": { + "type": "string", + "description": "Sender Name.", + "x-example": "<FROM_NAME>", + "default": "" + }, + "fromEmail": { + "type": "string", + "description": "Sender email address.", + "x-example": "email@example.com", + "default": "", + "format": "email" + }, + "replyToName": { + "type": "string", + "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", + "x-example": "<REPLY_TO_NAME>", + "default": "" + }, + "replyToEmail": { + "type": "string", + "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", + "x-example": "<REPLY_TO_EMAIL>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/organizations\/{organizationId}\/credits\/{creditId}": { - "get": { - "summary": "Get credit details", - "operationId": "organizationsGetCredit", - "consumes": [], + "\/messaging\/providers\/telesign": { + "post": { + "summary": "Create Telesign provider", + "operationId": "messagingCreateTelesignProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get credit details.", + "description": "Create a new Telesign provider.", "responses": { - "200": { - "description": "Credit", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/credit" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getCredit", - "group": null, - "weight": 1016, + "method": "createTelesignProvider", + "group": "providers", + "weight": 122, "cookies": false, "type": "", - "demo": "organizations\/get-credit.md", + "demo": "messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-credit.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "creditId", - "description": "Credit Unique ID", - "required": true, - "type": "string", - "x-example": "<CREDIT_ID>", - "in": "path" - } - ] - } - }, - "\/organizations\/{organizationId}\/estimations\/delete-organization": { - "patch": { - "summary": "Estimate delete team", - "operationId": "organizationsEstimationDeleteOrganization", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "organizations" - ], - "description": "Get estimation for deleting an organization.", - "responses": { - "200": { - "description": "EstimationDeleteOrganization", + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/estimationDeleteOrganization" + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "default": "", + "format": "phone" + }, + "customerId": { + "type": "string", + "description": "Telesign customer ID.", + "x-example": "<CUSTOMER_ID>", + "default": "" + }, + "apiKey": { + "type": "string", + "description": "Telesign API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] } } - }, - "deprecated": false, - "x-appwrite": { - "method": "estimationDeleteOrganization", - "group": null, - "weight": 1033, - "cookies": false, - "type": "", - "demo": "organizations\/estimation-delete-organization.md", - "rate-limit": 10, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "organizations.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-delete-organization.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "organizationId", - "description": "Team ID.", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - } ] } }, - "\/organizations\/{organizationId}\/estimations\/update-plan": { + "\/messaging\/providers\/telesign\/{providerId}": { "patch": { - "summary": "Estimate for update plan", - "operationId": "organizationsEstimationUpdatePlan", + "summary": "Update Telesign provider", + "operationId": "messagingUpdateTelesignProvider", "consumes": [ "application\/json" ], @@ -40170,51 +38497,53 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get estimation for updating the organization plan.", + "description": "Update a Telesign provider by its unique ID.", "responses": { "200": { - "description": "EstimationUpdatePlan", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/estimationUpdatePlan" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "estimationUpdatePlan", - "group": null, - "weight": 1030, + "method": "updateTelesignProvider", + "group": "providers", + "weight": 136, "cookies": false, "type": "", - "demo": "organizations\/estimation-update-plan.md", - "rate-limit": 10, + "demo": "messaging\/update-telesign-provider.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-update-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { @@ -40223,41 +38552,46 @@ "schema": { "type": "object", "properties": { - "billingPlan": { + "name": { "type": "string", - "description": "Organization billing plan chosen", - "default": null, - "x-example": "tier-0" + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" }, - "invites": { - "type": "array", - "description": "Additional member invites", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true }, - "couponId": { + "customerId": { "type": "string", - "description": "Coupon id", - "default": null, - "x-example": "<COUPON_ID>", - "x-nullable": true + "description": "Telesign customer ID.", + "x-example": "<CUSTOMER_ID>", + "default": "" + }, + "apiKey": { + "type": "string", + "description": "Telesign API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>", + "default": "" } - }, - "required": [ - "billingPlan" - ] + } } } ] } }, - "\/organizations\/{organizationId}\/feedbacks\/downgrade": { + "\/messaging\/providers\/textmagic": { "post": { - "summary": "Create downgrade feedback", - "operationId": "organizationsCreateDowngradeFeedback", + "summary": "Create Textmagic provider", + "operationId": "messagingCreateTextmagicProvider", "consumes": [ "application\/json" ], @@ -40265,304 +38599,409 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Submit feedback about downgrading from a paid plan to a lower tier. This helps the team understand user experience and improve the platform.\n", + "description": "Create a new Textmagic provider.", "responses": { "201": { - "description": "Downgrade Feedback", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/downgradeFeedback" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "createDowngradeFeedback", - "group": null, - "weight": 1034, + "method": "createTextmagicProvider", + "group": "providers", + "weight": 123, "cookies": false, "type": "", - "demo": "organizations\/create-downgrade-feedback.md", + "demo": "messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-downgrade-feedback.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "reason": { + "providerId": { "type": "string", - "description": "Feedback reason", - "default": null, - "x-example": "<REASON>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" }, - "message": { + "name": { "type": "string", - "description": "Feedback message", - "default": null, - "x-example": "<MESSAGE>" + "description": "Provider name.", + "x-example": "<NAME>" }, - "fromPlanId": { + "from": { "type": "string", - "description": "Plan downgrading from", - "default": null, - "x-example": "<FROM_PLAN_ID>" + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "default": "", + "format": "phone" }, - "toPlanId": { + "username": { "type": "string", - "description": "Plan downgrading to", - "default": null, - "x-example": "<TO_PLAN_ID>" + "description": "Textmagic username.", + "x-example": "<USERNAME>", + "default": "" + }, + "apiKey": { + "type": "string", + "description": "Textmagic apiKey.", + "x-example": "<API_KEY>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "reason", - "message", - "fromPlanId", - "toPlanId" + "providerId", + "name" ] } } ] } }, - "\/organizations\/{organizationId}\/invoices": { - "get": { - "summary": "List invoices", - "operationId": "organizationsListInvoices", - "consumes": [], + "\/messaging\/providers\/textmagic\/{providerId}": { + "patch": { + "summary": "Update Textmagic provider", + "operationId": "messagingUpdateTextmagicProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "List all invoices for an organization.", + "description": "Update a Textmagic provider by its unique ID.", "responses": { "200": { - "description": "Billing invoices list", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/invoiceList" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "listInvoices", - "group": null, - "weight": 1021, + "method": "updateTextmagicProvider", + "group": "providers", + "weight": 137, "cookies": false, "type": "", - "demo": "organizations\/list-invoices.md", + "demo": "messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-invoices.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "username": { + "type": "string", + "description": "Textmagic username.", + "x-example": "<USERNAME>", + "default": "" + }, + "apiKey": { + "type": "string", + "description": "Textmagic apiKey.", + "x-example": "<API_KEY>", + "default": "" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}": { - "get": { - "summary": "Get invoice", - "operationId": "organizationsGetInvoice", - "consumes": [], + "\/messaging\/providers\/twilio": { + "post": { + "summary": "Create Twilio provider", + "operationId": "messagingCreateTwilioProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get an invoice by its unique ID.", + "description": "Create a new Twilio provider.", "responses": { - "200": { - "description": "Invoice", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/invoice" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getInvoice", - "group": null, - "weight": 1020, + "method": "createTwilioProvider", + "group": "providers", + "weight": 124, "cookies": false, "type": "", - "demo": "organizations\/get-invoice.md", + "demo": "messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, - "type": "string", - "x-example": "<INVOICE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerId": { + "type": "string", + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "default": "", + "format": "phone" + }, + "accountSid": { + "type": "string", + "description": "Twilio account secret ID.", + "x-example": "<ACCOUNT_SID>", + "default": "" + }, + "authToken": { + "type": "string", + "description": "Twilio authentication token.", + "x-example": "<AUTH_TOKEN>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + } + }, + "required": [ + "providerId", + "name" + ] + } } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/download": { - "get": { - "summary": "Download invoice in PDF", - "operationId": "organizationsGetInvoiceDownload", - "consumes": [], + "\/messaging\/providers\/twilio\/{providerId}": { + "patch": { + "summary": "Update Twilio provider", + "operationId": "messagingUpdateTwilioProvider", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Download invoice in PDF", + "description": "Update a Twilio provider by its unique ID.", "responses": { "200": { - "description": "paymentMethod", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/paymentMethod" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getInvoiceDownload", - "group": null, - "weight": 1024, + "method": "updateTwilioProvider", + "group": "providers", + "weight": 138, "cookies": false, "type": "", - "demo": "organizations\/get-invoice-download.md", + "demo": "messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-download.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, - "type": "string", - "x-example": "<INVOICE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "accountSid": { + "type": "string", + "description": "Twilio account secret ID.", + "x-example": "<ACCOUNT_SID>", + "default": "" + }, + "authToken": { + "type": "string", + "description": "Twilio authentication token.", + "x-example": "<AUTH_TOKEN>", + "default": "" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/payments": { + "\/messaging\/providers\/vonage": { "post": { - "summary": "Initiate payment for failed invoice to pay live from console", - "operationId": "organizationsCreateInvoicePayment", + "summary": "Create Vonage provider", + "operationId": "messagingCreateVonageProvider", "consumes": [ "application\/json" ], @@ -40570,86 +39009,102 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Initiate payment for failed invoice to pay live from console", + "description": "Create a new Vonage provider.", "responses": { - "200": { - "description": "Invoice", + "201": { + "description": "Provider", "schema": { - "$ref": "#\/definitions\/invoice" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "createInvoicePayment", - "group": null, - "weight": 1025, + "method": "createVonageProvider", + "group": "providers", + "weight": 125, "cookies": false, "type": "", - "demo": "organizations\/create-invoice-payment.md", - "rate-limit": 10, - "rate-time": 86400, + "demo": "messaging\/create-vonage-provider.md", + "rate-limit": 0, + "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-invoice-payment.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, - "type": "string", - "x-example": "<INVOICE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "paymentMethodId": { + "providerId": { "type": "string", - "description": "Payment method ID", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PROVIDER_ID>" + }, + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>" + }, + "from": { + "type": "string", + "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "default": "", + "format": "phone" + }, + "apiKey": { + "type": "string", + "description": "Vonage API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "apiSecret": { + "type": "string", + "description": "Vonage API secret.", + "x-example": "<API_SECRET>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true } }, "required": [ - "paymentMethodId" + "providerId", + "name" ] } } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/status": { + "\/messaging\/providers\/vonage\/{providerId}": { "patch": { - "summary": "Validate the payment for an invoice and update status", - "operationId": "organizationsValidateInvoice", + "summary": "Update Vonage provider", + "operationId": "messagingUpdateVonageProvider", "consumes": [ "application\/json" ], @@ -40657,186 +39112,284 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Validates the payment linked with the invoice and updates the invoice status if the payment status is changed.", + "description": "Update a Vonage provider by its unique ID.", "responses": { "200": { - "description": "Invoice", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/invoice" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "validateInvoice", - "group": null, - "weight": 1022, + "method": "updateVonageProvider", + "group": "providers", + "weight": 139, "cookies": false, "type": "", - "demo": "organizations\/validate-invoice.md", + "demo": "messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "providers.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-invoice-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, { - "name": "invoiceId", - "description": "Invoice unique ID", - "required": true, - "type": "string", - "x-example": "<INVOICE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Provider name.", + "x-example": "<NAME>", + "default": "" + }, + "enabled": { + "type": "boolean", + "description": "Set as enabled.", + "x-example": false, + "x-nullable": true + }, + "apiKey": { + "type": "string", + "description": "Vonage API key.", + "x-example": "<API_KEY>", + "default": "" + }, + "apiSecret": { + "type": "string", + "description": "Vonage API secret.", + "x-example": "<API_SECRET>", + "default": "" + }, + "from": { + "type": "string", + "description": "Sender number.", + "x-example": "<FROM>", + "default": "" + } + } + } } ] } }, - "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/view": { + "\/messaging\/providers\/{providerId}": { "get": { - "summary": "View invoice in PDF", - "operationId": "organizationsGetInvoiceView", + "summary": "Get provider", + "operationId": "messagingGetProvider", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "View invoice in PDF", + "description": "Get a provider by its unique ID.\n", "responses": { "200": { - "description": "paymentMethod", + "description": "Provider", "schema": { - "$ref": "#\/definitions\/paymentMethod" + "$ref": "#\/definitions\/provider" } } }, "deprecated": false, "x-appwrite": { - "method": "getInvoiceView", - "group": null, - "weight": 1023, + "method": "getProvider", + "group": "providers", + "weight": 130, "cookies": false, "type": "", - "demo": "organizations\/get-invoice-view.md", + "demo": "messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-view.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" - }, + } + ] + }, + "delete": { + "summary": "Delete provider", + "operationId": "messagingDeleteProvider", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "messaging" + ], + "description": "Delete a provider by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteProvider", + "group": "providers", + "weight": 142, + "cookies": false, + "type": "", + "demo": "messaging\/delete-provider.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "providers.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "invoiceId", - "description": "Invoice unique ID", + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<INVOICE_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" } ] } }, - "\/organizations\/{organizationId}\/keys": { + "\/messaging\/providers\/{providerId}\/logs": { "get": { - "summary": "List organization keys", - "operationId": "organizationsListKeys", + "summary": "List provider logs", + "operationId": "messagingListProviderLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get a list of all API keys from the current organization. ", + "description": "Get the provider activity logs listed by its unique ID.", "responses": { "200": { - "description": "API Keys List", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/keyList" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "listKeys", - "group": "keys", - "weight": 1037, + "method": "listProviderLogs", + "group": "providers", + "weight": 129, "cookies": false, "type": "", - "demo": "organizations\/list-keys.md", + "demo": "messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "providers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "providerId", + "description": "Provider ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<PROVIDER_ID>", "in": "path" }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -40847,182 +39400,175 @@ "in": "query" } ] - }, - "post": { - "summary": "Create organization key", - "operationId": "organizationsCreateKey", - "consumes": [ - "application\/json" - ], + } + }, + "\/messaging\/subscribers\/{subscriberId}\/logs": { + "get": { + "summary": "List subscriber logs", + "operationId": "messagingListSubscriberLogs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Create a new organization API key.", + "description": "Get the subscriber activity logs listed by its unique ID.", "responses": { - "201": { - "description": "Key", + "200": { + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "createKey", - "group": "keys", - "weight": 1035, + "method": "listSubscriberLogs", + "group": "subscribers", + "weight": 151, "cookies": false, "type": "", - "demo": "organizations\/create-key.md", + "demo": "messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "subscriberId", + "description": "Subscriber ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<SUBSCRIBER_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string", - "enum": [ - "projects.read", - "projects.write", - "devKeys.read", - "devKeys.write", - "domains.read", - "domains.write", - "keys.read", - "keys.write" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "expire": { - "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "name", - "scopes" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/keys\/{keyId}": { + "\/messaging\/topics": { "get": { - "summary": "Get organization key", - "operationId": "organizationsGetKey", + "summary": "List topics", + "operationId": "messagingListTopics", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get a key by its unique ID. This endpoint returns details about a specific API key in your organization including it's scopes.", + "description": "Get a list of all topics from the current Appwrite project.", "responses": { "200": { - "description": "Key", + "description": "Topic list", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/topicList" } } }, "deprecated": false, "x-appwrite": { - "method": "getKey", - "group": "keys", - "weight": 1039, + "method": "listTopics", + "group": "topics", + "weight": 144, "cookies": false, "type": "", - "demo": "organizations\/get-key.md", + "demo": "messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, description, emailTotal, smsTotal, pushTotal", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "keyId", - "description": "Key unique ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<KEY_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "put": { - "summary": "Update organization key", - "operationId": "organizationsUpdateKey", + "post": { + "summary": "Create topic", + "operationId": "messagingCreateTopic", "consumes": [ "application\/json" ], @@ -41030,178 +39576,147 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", + "description": "Create a new topic.", "responses": { - "200": { - "description": "Key", + "201": { + "description": "Topic", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/topic" } } }, "deprecated": false, "x-appwrite": { - "method": "updateKey", - "group": "keys", - "weight": 1036, + "method": "createTopic", + "group": "topics", + "weight": 143, "cookies": false, "type": "", - "demo": "organizations\/update-key.md", + "demo": "messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "type": "string", - "x-example": "<KEY_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { + "topicId": { + "type": "string", + "description": "Topic ID. Choose a custom Topic ID or a new Topic ID.", + "x-example": "<TOPIC_ID>" + }, "name": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, + "description": "Topic Name.", "x-example": "<NAME>" }, - "scopes": { + "subscribe": { "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, - "x-example": null, + "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "default": [ + "users" + ], "items": { - "type": "string", - "enum": [ - "projects.read", - "projects.write", - "devKeys.read", - "devKeys.write", - "domains.read", - "domains.write", - "keys.read", - "keys.write" - ], - "x-enum-name": null, - "x-enum-keys": [] + "type": "string" } - }, - "expire": { - "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true } }, "required": [ - "name", - "scopes" + "topicId", + "name" ] } } ] - }, - "delete": { - "summary": "Delete organization key", - "operationId": "organizationsDeleteKey", - "consumes": [ - "application\/json" - ], + } + }, + "\/messaging\/topics\/{topicId}": { + "get": { + "summary": "Get topic", + "operationId": "messagingGetTopic", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", + "description": "Get a topic by its unique ID.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Topic", + "schema": { + "$ref": "#\/definitions\/topic" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteKey", - "group": "keys", - "weight": 1038, + "method": "getTopic", + "group": "topics", + "weight": 146, "cookies": false, "type": "", - "demo": "organizations\/delete-key.md", + "demo": "messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", + "name": "topicId", + "description": "Topic ID.", "required": true, "type": "string", - "x-example": "<KEY_ID>", + "x-example": "<TOPIC_ID>", "in": "path" } ] - } - }, - "\/organizations\/{organizationId}\/payment-method": { + }, "patch": { - "summary": "Set team's payment method", - "operationId": "organizationsSetDefaultPaymentMethod", + "summary": "Update topic", + "operationId": "messagingUpdateTopic", "consumes": [ "application\/json" ], @@ -41209,51 +39724,53 @@ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Set a organization's default payment method.", + "description": "Update a topic by its unique ID.\n", "responses": { "200": { - "description": "Organization", + "description": "Topic", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/topic" } } }, "deprecated": false, "x-appwrite": { - "method": "setDefaultPaymentMethod", - "group": null, - "weight": 1010, + "method": "updateTopic", + "group": "topics", + "weight": 147, "cookies": false, "type": "", - "demo": "organizations\/set-default-payment-method.md", + "demo": "messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-default-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" }, { @@ -41262,505 +39779,517 @@ "schema": { "type": "object", "properties": { - "paymentMethodId": { + "name": { "type": "string", - "description": "Unique ID of payment method", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>" + "description": "Topic Name.", + "x-example": "<NAME>", + "x-nullable": true + }, + "subscribe": { + "type": "array", + "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", + "x-nullable": true, + "items": { + "type": "string" + } } - }, - "required": [ - "paymentMethodId" - ] + } } } ] }, "delete": { - "summary": "Delete team's default payment method", - "operationId": "organizationsDeleteDefaultPaymentMethod", + "summary": "Delete topic", + "operationId": "messagingDeleteTopic", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "organizations" + "messaging" ], - "description": "Delete the default payment method for an organization.", + "description": "Delete a topic by its unique ID.", "responses": { - "200": { - "description": "Organization", - "schema": { - "$ref": "#\/definitions\/organization" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "deleteDefaultPaymentMethod", - "group": null, - "weight": 1012, + "method": "deleteTopic", + "group": "topics", + "weight": 148, "cookies": false, "type": "", - "demo": "organizations\/delete-default-payment-method.md", + "demo": "messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-default-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" } ] } }, - "\/organizations\/{organizationId}\/payment-method\/backup": { - "patch": { - "summary": "Set team's backup payment method", - "operationId": "organizationsSetBackupPaymentMethod", - "consumes": [ - "application\/json" - ], + "\/messaging\/topics\/{topicId}\/logs": { + "get": { + "summary": "List topic logs", + "operationId": "messagingListTopicLogs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Set an organization's backup payment method.\n", + "description": "Get the topic activity logs listed by its unique ID.", "responses": { "200": { - "description": "Organization", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "setBackupPaymentMethod", - "group": null, - "weight": 1011, + "method": "listTopicLogs", + "group": "topics", + "weight": 145, "cookies": false, "type": "", - "demo": "organizations\/set-backup-payment-method.md", + "demo": "messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "topics.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-backup-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "paymentMethodId": { - "type": "string", - "description": "Unique ID of payment method", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>" - } - }, - "required": [ - "paymentMethodId" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - }, - "delete": { - "summary": "Delete team's backup payment method", - "operationId": "organizationsDeleteBackupPaymentMethod", - "consumes": [ - "application\/json" - ], + } + }, + "\/messaging\/topics\/{topicId}\/subscribers": { + "get": { + "summary": "List subscribers", + "operationId": "messagingListSubscribers", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Delete a backup payment method for an organization.", + "description": "Get a list of all subscribers from the current Appwrite project.", "responses": { "200": { - "description": "Organization", + "description": "Subscriber list", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/subscriberList" } } }, "deprecated": false, "x-appwrite": { - "method": "deleteBackupPaymentMethod", - "group": null, - "weight": 1013, + "method": "listSubscribers", + "group": "subscribers", + "weight": 150, "cookies": false, "type": "", - "demo": "organizations\/delete-backup-payment-method.md", + "demo": "messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-backup-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: targetId, topicId, userId, providerType", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/organizations\/{organizationId}\/payment-methods\/{paymentMethodId}": { - "get": { - "summary": "Get payment method", - "operationId": "organizationsGetPaymentMethod", - "consumes": [], + }, + "post": { + "summary": "Create subscriber", + "operationId": "messagingCreateSubscriber", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get an organization's payment method using it's payment method ID.", + "description": "Create a new subscriber.", "responses": { - "200": { - "description": "paymentMethod", + "201": { + "description": "Subscriber", "schema": { - "$ref": "#\/definitions\/paymentMethod" + "$ref": "#\/definitions\/subscriber" } } }, "deprecated": false, "x-appwrite": { - "method": "getPaymentMethod", - "group": null, - "weight": 1009, + "method": "createSubscriber", + "group": "subscribers", + "weight": 149, "cookies": false, "type": "", - "demo": "organizations\/get-payment-method.md", + "demo": "messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.read", + "scope": "subscribers.write", "platforms": [ + "server", + "client", "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-payment-method.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "JWT": [], + "Session": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "topicId", + "description": "Topic ID. The topic ID to subscribe to.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" }, { - "name": "paymentMethodId", - "description": "Unique ID of payment method", - "required": true, - "type": "string", - "x-example": "<PAYMENT_METHOD_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "subscriberId": { + "type": "string", + "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", + "x-example": "<SUBSCRIBER_ID>" + }, + "targetId": { + "type": "string", + "description": "Target ID. The target ID to link to the specified Topic ID.", + "x-example": "<TARGET_ID>" + } + }, + "required": [ + "subscriberId", + "targetId" + ] + } } ] } }, - "\/organizations\/{organizationId}\/plan": { + "\/messaging\/topics\/{topicId}\/subscribers\/{subscriberId}": { "get": { - "summary": "Get organization billing plan details", - "operationId": "organizationsGetPlan", + "summary": "Get subscriber", + "operationId": "messagingGetSubscriber", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "messaging" ], - "description": "Get the details of the current billing plan for an organization.", + "description": "Get a subscriber by its unique ID.\n", "responses": { "200": { - "description": "billingPlan", + "description": "Subscriber", "schema": { - "$ref": "#\/definitions\/billingPlan" + "$ref": "#\/definitions\/subscriber" } } }, "deprecated": false, "x-appwrite": { - "method": "getPlan", - "group": null, - "weight": 1000, + "method": "getSubscriber", + "group": "subscribers", + "weight": 152, "cookies": false, "type": "", - "demo": "organizations\/get-plan.md", + "demo": "messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "subscribers.read", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", + "in": "path" + }, + { + "name": "subscriberId", + "description": "Subscriber ID.", + "required": true, + "type": "string", + "x-example": "<SUBSCRIBER_ID>", "in": "path" } ] }, - "patch": { - "summary": "Update organization billing plan", - "operationId": "organizationsUpdatePlan", + "delete": { + "summary": "Delete subscriber", + "operationId": "messagingDeleteSubscriber", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "organizations" + "messaging" ], - "description": "Update the billing plan for an organization.", + "description": "Delete a subscriber by its unique ID.", "responses": { - "200": { - "description": "Organization", - "schema": { - "$ref": "#\/definitions\/organization" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updatePlan", - "group": null, - "weight": 1001, + "method": "deleteSubscriber", + "group": "subscribers", + "weight": 153, "cookies": false, "type": "", - "demo": "organizations\/update-plan.md", - "rate-limit": 10, + "demo": "messaging\/delete-subscriber.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "subscribers.write", "platforms": [ + "server", + "client", "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-plan.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "JWT": [], + "Session": [], + "Key": [] } ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", + "name": "topicId", + "description": "Topic ID. The topic ID subscribed to.", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", + "x-example": "<TOPIC_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "billingPlan": { - "type": "string", - "description": "Organization billing plan chosen", - "default": null, - "x-example": "tier-0" - }, - "paymentMethodId": { - "type": "string", - "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", - "default": null, - "x-example": "<PAYMENT_METHOD_ID>", - "x-nullable": true - }, - "billingAddressId": { - "type": "string", - "description": "Unique ID of billing address", - "default": "", - "x-example": "<BILLING_ADDRESS_ID>" - }, - "invites": { - "type": "array", - "description": "Additional member invites", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "couponId": { - "type": "string", - "description": "Coupon id", - "default": null, - "x-example": "<COUPON_ID>", - "x-nullable": true - }, - "taxId": { - "type": "string", - "description": "Tax Id associated to billing.", - "default": null, - "x-example": "<TAX_ID>", - "x-nullable": true - }, - "budget": { - "type": "integer", - "description": "Budget limit for additional usage set for the organization", - "default": null, - "x-example": 0, - "format": "int32", - "x-nullable": true - } - }, - "required": [ - "billingPlan" - ] - } + "name": "subscriberId", + "description": "Subscriber ID.", + "required": true, + "type": "string", + "x-example": "<SUBSCRIBER_ID>", + "in": "path" } ] } }, - "\/organizations\/{organizationId}\/plan\/cancel": { - "patch": { - "summary": "Cancel organization plan change", - "operationId": "organizationsCancelDowngrade", - "consumes": [ - "application\/json" - ], + "\/migrations": { + "get": { + "summary": "List migrations", + "operationId": "migrationsList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Cancel the downgrade initiated for an organization.", + "description": "List all migrations in the current project. This endpoint returns a list of all migrations including their status, progress, and any errors that occurred during the migration process.", "responses": { "200": { - "description": "Organization", + "description": "Migrations List", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/migrationList" } } }, "deprecated": false, "x-appwrite": { - "method": "cancelDowngrade", + "method": "list", "group": null, - "weight": 1002, + "weight": 583, "cookies": false, "type": "", - "demo": "organizations\/cancel-downgrade.md", + "demo": "migrations\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/cancel-downgrade.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -41772,20 +40301,42 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization Unique ID", - "required": true, + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, stage, source, destination, resources, resourceId, resourceType, statusCounters, resourceData, errors", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/plan\/estimations": { + "\/migrations\/appwrite": { "post": { - "summary": "Create billing plan estimation (upgrade or downgrade)", - "operationId": "organizationsCreatePlanEstimation", + "summary": "Create Appwrite migration", + "operationId": "migrationsCreateAppwriteMigration", "consumes": [ "application\/json" ], @@ -41793,35 +40344,35 @@ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Create a billing plan estimation for upgrading or downgrading an organization plan.\n", + "description": "Migrate data from another Appwrite project to your current project. This endpoint allows you to migrate resources like databases, collections, documents, users, and files from an existing Appwrite project. ", "responses": { - "200": { - "description": "EstimationPlanChange", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/estimationPlanChange" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "createPlanEstimation", + "method": "createAppwriteMigration", "group": null, - "weight": 1031, + "weight": 587, "cookies": false, "type": "", - "demo": "organizations\/create-plan-estimation.md", - "rate-limit": 10, + "demo": "migrations\/create-appwrite-migration.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-plan-estimation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -41832,89 +40383,130 @@ } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "billingPlan": { - "type": "string", - "description": "Target billing plan", - "default": null, - "x-example": "tier-0" - }, - "invites": { + "resources": { "type": "array", - "description": "Additional member invites", - "default": [], + "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "documentsdb", + "vectorsdb", + "bucket", + "file", + "function", + "deployment", + "environment-variable", + "provider", + "topic", + "subscriber", + "message", + "site", + "site-deployment", + "site-variable", + "platform", + "backup-policy" + ], + "x-enum-name": "AppwriteMigrationResource", + "x-enum-keys": [] } }, - "couponId": { + "endpoint": { "type": "string", - "description": "Coupon id", - "default": null, - "x-example": "<COUPON_ID>", - "x-nullable": true + "description": "Source Appwrite endpoint", + "x-example": "https:\/\/example.com", + "format": "url" + }, + "projectId": { + "type": "string", + "description": "Source Project ID", + "x-example": "<PROJECT_ID>" + }, + "apiKey": { + "type": "string", + "description": "Source API Key", + "x-example": "<API_KEY>" + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "default": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "required": [ - "billingPlan" + "resources", + "endpoint", + "projectId", + "apiKey" ] } } ] } }, - "\/organizations\/{organizationId}\/regions": { + "\/migrations\/appwrite\/report": { "get": { - "summary": "List Regions", - "operationId": "organizationsListRegions", + "summary": "Get Appwrite migration report", + "operationId": "migrationsGetAppwriteReport", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Get all available regions for an organization.", + "description": "Generate a report of the data in an Appwrite project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", "responses": { "200": { - "description": "Regions list", + "description": "Migration Report", "schema": { - "$ref": "#\/definitions\/consoleRegionList" + "$ref": "#\/definitions\/migrationReport" } } }, "deprecated": false, "x-appwrite": { - "method": "listRegions", + "method": "getAppwriteReport", "group": null, - "weight": 1029, + "weight": 1133, "cookies": false, "type": "", - "demo": "organizations\/list-regions.md", + "demo": "migrations\/get-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-regions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -41926,54 +40518,115 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Team ID.", + "name": "resources", + "description": "List of resources to migrate", + "required": true, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "documentsdb", + "vectorsdb", + "bucket", + "file", + "function", + "deployment", + "environment-variable", + "provider", + "topic", + "subscriber", + "message", + "site", + "site-deployment", + "site-variable", + "platform", + "backup-policy" + ], + "x-enum-name": "AppwriteMigrationResource", + "x-enum-keys": [] + }, + "in": "query" + }, + { + "name": "endpoint", + "description": "Source's Appwrite Endpoint", "required": true, "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" + "format": "url", + "x-example": "https:\/\/example.com", + "in": "query" + }, + { + "name": "projectID", + "description": "Source's Project ID", + "required": true, + "type": "string", + "x-example": "<PROJECT_ID>", + "in": "query" + }, + { + "name": "key", + "description": "Source's API Key", + "required": true, + "type": "string", + "x-example": "<KEY>", + "in": "query" } ] } }, - "\/organizations\/{organizationId}\/roles": { - "get": { - "summary": "Get Scopes", - "operationId": "organizationsGetScopes", - "consumes": [], + "\/migrations\/csv\/exports": { + "post": { + "summary": "Export documents to CSV", + "operationId": "migrationsCreateCSVExport", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Get Scopes", + "description": "Export documents to a CSV file from your Appwrite database. This endpoint allows you to export documents to a CSV file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.", "responses": { - "200": { - "description": "Roles", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/roles" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "getScopes", + "method": "createCSVExport", "group": null, - "weight": 1028, + "weight": 596, "cookies": false, "type": "", - "demo": "organizations\/get-scopes.md", + "demo": "migrations\/create-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-scopes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -41985,29 +40638,83 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization id", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "projectId", - "description": "Project id", - "required": false, - "type": "string", - "x-example": "<PROJECT_ID>", - "default": "", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", + "x-example": "<ID1:ID2>" + }, + "filename": { + "type": "string", + "description": "The name of the file to be created for the export, excluding the .csv extension.", + "x-example": "<FILENAME>" + }, + "columns": { + "type": "array", + "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "delimiter": { + "type": "string", + "description": "The character that separates each column value. Default is comma.", + "x-example": "<DELIMITER>", + "default": "," + }, + "enclosure": { + "type": "string", + "description": "The character that encloses each column value. Default is double quotes.", + "x-example": "<ENCLOSURE>", + "default": "\"" + }, + "escape": { + "type": "string", + "description": "The escape character for the enclosure character. Default is double quotes.", + "x-example": "<ESCAPE>", + "default": "\"" + }, + "header": { + "type": "boolean", + "description": "Whether to include the header row with column names. Default is true.", + "x-example": false, + "default": true + }, + "notify": { + "type": "boolean", + "description": "Set to true to receive an email when the export is complete. Default is true.", + "x-example": false, + "default": true + } + }, + "required": [ + "resourceId", + "filename" + ] + } } ] } }, - "\/organizations\/{organizationId}\/taxId": { - "patch": { - "summary": "Set team's tax Id", - "operationId": "organizationsSetBillingTaxId", + "\/migrations\/csv\/imports": { + "post": { + "summary": "Import documents from a CSV", + "operationId": "migrationsCreateCSVImport", "consumes": [ "application\/json" ], @@ -42015,35 +40722,35 @@ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Set an organization's billing tax ID.", + "description": "Import documents from a CSV file into your Appwrite database. This endpoint allows you to import documents from a CSV file uploaded to Appwrite Storage bucket.", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "setBillingTaxId", + "method": "createCSVImport", "group": null, - "weight": 1004, + "weight": 595, "cookies": false, "type": "", - "demo": "organizations\/set-billing-tax-id.md", + "demo": "migrations\/create-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "billing.write", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-tax-id.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -42054,74 +40761,188 @@ } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "taxId": { + "bucketId": { "type": "string", - "description": "Tax Id associated to billing.", - "default": null, - "x-example": "<TAX_ID>", - "x-nullable": true - } - }, - "required": [ - "taxId" - ] - } - } - ] - } - }, - "\/organizations\/{organizationId}\/usage": { - "get": { - "summary": "Get team's usage data", - "operationId": "organizationsGetUsage", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "x-example": "<BUCKET_ID>" + }, + "fileId": { + "type": "string", + "description": "File ID.", + "x-example": "<FILE_ID>" + }, + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", + "x-example": "<ID1:ID2>" + }, + "internalFile": { + "type": "boolean", + "description": "Is the file stored in an internal bucket?", + "x-example": false, + "default": false + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "default": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "bucketId", + "fileId", + "resourceId" + ] + } + } + ] + } + }, + "\/migrations\/firebase": { + "post": { + "summary": "Create Firebase migration", + "operationId": "migrationsCreateFirebaseMigration", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "migrations" + ], + "description": "Migrate data from a Firebase project to your Appwrite project. This endpoint allows you to migrate resources like authentication and other supported services from a Firebase project. ", + "responses": { + "202": { + "description": "Migration", + "schema": { + "$ref": "#\/definitions\/migration" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createFirebaseMigration", + "group": null, + "weight": 589, + "cookies": false, + "type": "", + "demo": "migrations\/create-firebase-migration.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "migrations.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "resources": { + "type": "array", + "description": "List of resources to migrate", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "FirebaseMigrationResource", + "x-enum-keys": [] + } + }, + "serviceAccount": { + "type": "string", + "description": "JSON of the Firebase service account credentials", + "x-example": "<SERVICE_ACCOUNT>" + } + }, + "required": [ + "resources", + "serviceAccount" + ] + } + } + ] + } + }, + "\/migrations\/firebase\/report": { + "get": { + "summary": "Get Firebase migration report", + "operationId": "migrationsGetFirebaseReport", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Get the usage data for an organization.", + "description": "Generate a report of the data in a Firebase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated.", "responses": { "200": { - "description": "UsageOrganization", + "description": "Migration Report", "schema": { - "$ref": "#\/definitions\/usageOrganization" + "$ref": "#\/definitions\/migrationReport" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "getFirebaseReport", "group": null, - "weight": 1005, + "weight": 590, "cookies": false, "type": "", - "demo": "organizations\/get-usage.md", + "demo": "migrations\/get-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -42133,38 +40954,45 @@ ], "parameters": [ { - "name": "organizationId", - "description": "Organization ID", + "name": "resources", + "description": "List of resources to migrate", "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, - { - "name": "startDate", - "description": "Starting date for the usage", - "required": false, - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00", + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "FirebaseMigrationResource", + "x-enum-keys": [] + }, "in": "query" }, { - "name": "endDate", - "description": "End date for the usage", - "required": false, + "name": "serviceAccount", + "description": "JSON of the Firebase service account credentials", + "required": true, "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00", + "x-example": "<SERVICE_ACCOUNT>", "in": "query" } ] } }, - "\/organizations\/{organizationId}\/validate": { - "patch": { - "summary": "Validate payment for the organization after creation or upgrade", - "operationId": "organizationsValidatePayment", + "\/migrations\/json\/exports": { + "post": { + "summary": "Export documents to JSON", + "operationId": "migrationsCreateJSONExport", "consumes": [ "application\/json" ], @@ -42172,35 +41000,35 @@ "application\/json" ], "tags": [ - "organizations" + "migrations" ], - "description": "Validate payment for team after creation or upgrade.", + "description": "Export documents to a JSON file from your Appwrite database. This endpoint allows you to export documents to a JSON file stored in a secure internal bucket. You'll receive an email with a download link when the export is complete.\n", "responses": { - "200": { - "description": "Organization", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "validatePayment", + "method": "createJSONExport", "group": null, - "weight": 1027, + "weight": 598, "cookies": false, "type": "", - "demo": "organizations\/validate-payment.md", + "demo": "migrations\/create-json-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "migrations.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/validate-payment.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-export.md", "auth": { "Project": [] } @@ -42211,86 +41039,161 @@ } ], "parameters": [ - { - "name": "organizationId", - "description": "Organization ID", - "required": true, - "type": "string", - "x-example": "<ORGANIZATION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "invites": { + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database to export.", + "x-example": "<ID1:ID2>" + }, + "filename": { + "type": "string", + "description": "The name of the file to be created for the export, excluding the .json extension.", + "x-example": "<FILENAME>" + }, + "columns": { "type": "array", - "description": "Additional member invites", + "description": "List of attributes to export. If empty, all attributes will be exported. You can use the `*` wildcard to export all attributes from the collection.", + "x-example": null, "default": [], + "items": { + "type": "string" + } + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK to filter documents to export. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long.", "x-example": null, + "default": [], "items": { "type": "string" } + }, + "notify": { + "type": "boolean", + "description": "Set to true to receive an email when the export is complete. Default is true.", + "x-example": false, + "default": true } - } + }, + "required": [ + "resourceId", + "filename" + ] } } ] } }, - "\/project": { - "delete": { - "summary": "Delete project", - "operationId": "projectDelete", + "\/migrations\/json\/imports": { + "post": { + "summary": "Import documents from a JSON", + "operationId": "migrationsCreateJSONImport", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "project" + "migrations" ], - "description": "Delete a project.", + "description": "Import documents from a JSON file into your Appwrite database. This endpoint allows you to import documents from a JSON file uploaded to Appwrite Storage bucket.\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "Migration", + "schema": { + "$ref": "#\/definitions\/migration" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", + "method": "createJSONImport", "group": null, - "weight": 1096, + "weight": 597, "cookies": false, "type": "", - "demo": "project\/delete.md", + "demo": "migrations\/create-json-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-json-import.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "bucketId": { + "type": "string", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "x-example": "<BUCKET_ID>" + }, + "fileId": { + "type": "string", + "description": "File ID.", + "x-example": "<FILE_ID>" + }, + "resourceId": { + "type": "string", + "description": "Composite ID in the format {databaseId:collectionId}, identifying a collection within a database.", + "x-example": "<ID1:ID2>" + }, + "internalFile": { + "type": "boolean", + "description": "Is the file stored in an internal bucket?", + "x-example": false, + "default": false + }, + "onDuplicate": { + "type": "string", + "description": "Behavior when a row with an existing $id is encountered. \"fail\" (default): abort on first conflict. \"skip\": silently ignore. \"overwrite\": replace existing row.", + "x-example": "fail", + "default": "fail", + "enum": [ + "fail", + "skip", + "overwrite" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "bucketId", + "fileId", + "resourceId" + ] + } } ] } }, - "\/project\/auth-methods\/{methodId}": { - "patch": { - "summary": "Update project auth method status. Use this endpoint to enable or disable a given auth method for this project.", - "operationId": "projectUpdateAuthMethod", + "\/migrations\/nhost": { + "post": { + "summary": "Create NHost migration", + "operationId": "migrationsCreateNHostMigration", "consumes": [ "application\/json" ], @@ -42298,161 +41201,264 @@ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project. ", + "description": "Migrate data from an NHost project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from an NHost project. ", "responses": { - "200": { - "description": "Project", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "updateAuthMethod", + "method": "createNHostMigration", "group": null, - "weight": 1145, + "weight": 593, "cookies": false, "type": "", - "demo": "project\/update-auth-method.md", + "demo": "migrations\/create-n-host-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ - { - "name": "methodId", - "description": "Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone", - "required": true, - "type": "string", - "x-example": "email-password", - "enum": [ - "email-password", - "magic-url", - "email-otp", - "anonymous", - "invites", - "jwt", - "phone" - ], - "x-enum-name": "AuthMethod", - "x-enum-keys": [], - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Auth method status.", - "default": null, - "x-example": false + "resources": { + "type": "array", + "description": "List of resources to migrate", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "NHostMigrationResource", + "x-enum-keys": [] + } + }, + "subdomain": { + "type": "string", + "description": "Source's Subdomain", + "x-example": "<SUBDOMAIN>" + }, + "region": { + "type": "string", + "description": "Source's Region", + "x-example": "<REGION>" + }, + "adminSecret": { + "type": "string", + "description": "Source's Admin Secret", + "x-example": "<ADMIN_SECRET>" + }, + "database": { + "type": "string", + "description": "Source's Database Name", + "x-example": "<DATABASE>" + }, + "username": { + "type": "string", + "description": "Source's Database Username", + "x-example": "<USERNAME>" + }, + "password": { + "type": "string", + "description": "Source's Database Password", + "x-example": "<PASSWORD>" + }, + "port": { + "type": "integer", + "description": "Source's Database Port", + "x-example": null, + "default": 5432, + "format": "int32" } }, "required": [ - "enabled" + "resources", + "subdomain", + "region", + "adminSecret", + "database", + "username", + "password" ] } } ] } }, - "\/project\/keys": { + "\/migrations\/nhost\/report": { "get": { - "summary": "List project keys", - "operationId": "projectListKeys", + "summary": "Get NHost migration report", + "operationId": "migrationsGetNHostReport", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Get a list of all API keys from the current project.", + "description": "Generate a detailed report of the data in an NHost project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", "responses": { "200": { - "description": "API Keys List", + "description": "Migration Report", "schema": { - "$ref": "#\/definitions\/keyList" + "$ref": "#\/definitions\/migrationReport" } } }, "deprecated": false, "x-appwrite": { - "method": "listKeys", - "group": "keys", - "weight": 1112, + "method": "getNHostReport", + "group": null, + "weight": 594, "cookies": false, "type": "", - "demo": "project\/list-keys.md", + "demo": "migrations\/get-n-host-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.read", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes", - "required": false, + "name": "resources", + "description": "List of resources to migrate.", + "required": true, "type": "array", "collectionFormat": "multi", "items": { - "type": "string" - }, - "default": [], + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "NHostMigrationResource", + "x-enum-keys": [] + }, "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "subdomain", + "description": "Source's Subdomain.", + "required": true, + "type": "string", + "x-example": "<SUBDOMAIN>", + "in": "query" + }, + { + "name": "region", + "description": "Source's Region.", + "required": true, + "type": "string", + "x-example": "<REGION>", + "in": "query" + }, + { + "name": "adminSecret", + "description": "Source's Admin Secret.", + "required": true, + "type": "string", + "x-example": "<ADMIN_SECRET>", + "in": "query" + }, + { + "name": "database", + "description": "Source's Database Name.", + "required": true, + "type": "string", + "x-example": "<DATABASE>", + "in": "query" + }, + { + "name": "username", + "description": "Source's Database Username.", + "required": true, + "type": "string", + "x-example": "<USERNAME>", + "in": "query" + }, + { + "name": "password", + "description": "Source's Database Password.", + "required": true, + "type": "string", + "x-example": "<PASSWORD>", + "in": "query" + }, + { + "name": "port", + "description": "Source's Database Port.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "integer", + "format": "int32", + "default": 5432, "in": "query" } ] - }, + } + }, + "\/migrations\/supabase": { "post": { - "summary": "Create project key", - "operationId": "projectCreateKey", + "summary": "Create Supabase migration", + "operationId": "migrationsCreateSupabaseMigration", "consumes": [ "application\/json" ], @@ -42460,43 +41466,42 @@ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Create a new API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create an ephemeral API key if you need a short-lived key instead.", + "description": "Migrate data from a Supabase project to your Appwrite project. This endpoint allows you to migrate resources like authentication, databases, and other supported services from a Supabase project. ", "responses": { - "201": { - "description": "Key", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "createKey", - "group": "keys", - "weight": 1110, + "method": "createSupabaseMigration", + "group": null, + "weight": 591, "cookies": false, "type": "", - "demo": "project\/create-key.md", + "demo": "migrations\/create-supabase-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -42506,373 +41511,264 @@ "schema": { "type": "object", "properties": { - "keyId": { - "type": "string", - "description": "Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<KEY_ID>" - }, - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "scopes": { + "resources": { "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, + "description": "List of resources to migrate", "x-example": null, "items": { "type": "string", "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" ], - "x-enum-name": null, + "x-enum-name": "SupabaseMigrationResource", "x-enum-keys": [] } }, - "expire": { + "endpoint": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true + "description": "Source's Supabase Endpoint", + "x-example": "https:\/\/example.com", + "format": "url" + }, + "apiKey": { + "type": "string", + "description": "Source's API Key", + "x-example": "<API_KEY>" + }, + "databaseHost": { + "type": "string", + "description": "Source's Database Host", + "x-example": "<DATABASE_HOST>" + }, + "username": { + "type": "string", + "description": "Source's Database Username", + "x-example": "<USERNAME>" + }, + "password": { + "type": "string", + "description": "Source's Database Password", + "x-example": "<PASSWORD>" + }, + "port": { + "type": "integer", + "description": "Source's Database Port", + "x-example": null, + "default": 5432, + "format": "int32" } }, "required": [ - "keyId", - "name", - "scopes" + "resources", + "endpoint", + "apiKey", + "databaseHost", + "username", + "password" ] } } ] } }, - "\/project\/keys\/ephemeral": { - "post": { - "summary": "Create ephemeral project key", - "operationId": "projectCreateEphemeralKey", - "consumes": [ - "application\/json" - ], + "\/migrations\/supabase\/report": { + "get": { + "summary": "Get Supabase migration report", + "operationId": "migrationsGetSupabaseReport", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Create a new ephemeral API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create a standard API key if you need a longer-lived key instead.", + "description": "Generate a report of the data in a Supabase project before migrating. This endpoint analyzes the source project and returns information about the resources that can be migrated. ", "responses": { - "201": { - "description": "Ephemeral Key", + "200": { + "description": "Migration Report", "schema": { - "$ref": "#\/definitions\/ephemeralKey" + "$ref": "#\/definitions\/migrationReport" } } }, "deprecated": false, "x-appwrite": { - "method": "createEphemeralKey", - "group": "keys", - "weight": 1111, + "method": "getSupabaseReport", + "group": null, + "weight": 592, "cookies": false, "type": "", - "demo": "project\/create-ephemeral-key.md", + "demo": "migrations\/get-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "duration": { - "type": "integer", - "description": "Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.", - "default": null, - "x-example": "600", - "format": "int32" - } - }, - "required": [ - "scopes", - "duration" - ] - } + "name": "resources", + "description": "List of resources to migrate", + "required": true, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": "SupabaseMigrationResource", + "x-enum-keys": [] + }, + "in": "query" + }, + { + "name": "endpoint", + "description": "Source's Supabase Endpoint.", + "required": true, + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "in": "query" + }, + { + "name": "apiKey", + "description": "Source's API Key.", + "required": true, + "type": "string", + "x-example": "<API_KEY>", + "in": "query" + }, + { + "name": "databaseHost", + "description": "Source's Database Host.", + "required": true, + "type": "string", + "x-example": "<DATABASE_HOST>", + "in": "query" + }, + { + "name": "username", + "description": "Source's Database Username.", + "required": true, + "type": "string", + "x-example": "<USERNAME>", + "in": "query" + }, + { + "name": "password", + "description": "Source's Database Password.", + "required": true, + "type": "string", + "x-example": "<PASSWORD>", + "in": "query" + }, + { + "name": "port", + "description": "Source's Database Port.", + "required": false, + "type": "integer", + "format": "int32", + "default": 5432, + "in": "query" } ] } }, - "\/project\/keys\/{keyId}": { + "\/migrations\/{migrationId}": { "get": { - "summary": "Get project key", - "operationId": "projectGetKey", + "summary": "Get migration", + "operationId": "migrationsGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Get a key by its unique ID. ", + "description": "Get a migration by its unique ID. This endpoint returns detailed information about a specific migration including its current status, progress, and any errors that occurred during the migration process. ", "responses": { "200": { - "description": "Key", + "description": "Migration", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "getKey", - "group": "keys", - "weight": 1113, + "method": "get", + "group": null, + "weight": 584, "cookies": false, "type": "", - "demo": "project\/get-key.md", + "demo": "migrations\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.read", + "scope": "migrations.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "migrationId", + "description": "Migration unique ID.", "required": true, "type": "string", - "x-example": "<KEY_ID>", + "x-example": "<MIGRATION_ID>", "in": "path" } ] }, - "put": { - "summary": "Update project key", - "operationId": "projectUpdateKey", + "patch": { + "summary": "Update retry migration", + "operationId": "migrationsRetry", "consumes": [ "application\/json" ], @@ -42880,194 +41776,66 @@ "application\/json" ], "tags": [ - "project" + "migrations" ], - "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", + "description": "Retry a failed migration. This endpoint allows you to retry a migration that has previously failed.", "responses": { - "200": { - "description": "Key", + "202": { + "description": "Migration", "schema": { - "$ref": "#\/definitions\/key" + "$ref": "#\/definitions\/migration" } } }, "deprecated": false, "x-appwrite": { - "method": "updateKey", - "group": "keys", - "weight": 1115, + "method": "retry", + "group": null, + "weight": 585, "cookies": false, "type": "", - "demo": "project\/update-key.md", + "demo": "migrations\/retry.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "migrationId", + "description": "Migration unique ID.", "required": true, "type": "string", - "x-example": "<KEY_ID>", + "x-example": "<MIGRATION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "scopes": { - "type": "array", - "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string", - "enum": [ - "project.read", - "project.write", - "keys.read", - "keys.write", - "platforms.read", - "platforms.write", - "mocks.read", - "mocks.write", - "policies.read", - "policies.write", - "project.policies.read", - "project.policies.write", - "templates.read", - "templates.write", - "oauth2.read", - "oauth2.write", - "users.read", - "users.write", - "sessions.read", - "sessions.write", - "teams.read", - "teams.write", - "databases.read", - "databases.write", - "tables.read", - "tables.write", - "columns.read", - "columns.write", - "indexes.read", - "indexes.write", - "rows.read", - "rows.write", - "collections.read", - "collections.write", - "attributes.read", - "attributes.write", - "documents.read", - "documents.write", - "buckets.read", - "buckets.write", - "files.read", - "files.write", - "tokens.read", - "tokens.write", - "functions.read", - "functions.write", - "executions.read", - "executions.write", - "execution.read", - "execution.write", - "sites.read", - "sites.write", - "log.read", - "log.write", - "providers.read", - "providers.write", - "topics.read", - "topics.write", - "subscribers.read", - "subscribers.write", - "targets.read", - "targets.write", - "messages.read", - "messages.write", - "rules.read", - "rules.write", - "webhooks.read", - "webhooks.write", - "locale.read", - "avatars.read", - "health.read", - "assistant.read", - "migrations.read", - "migrations.write", - "schedules.read", - "schedules.write", - "vcs.read", - "vcs.write", - "backups.policies.read", - "backups.policies.write", - "archives.read", - "archives.write", - "restorations.read", - "restorations.write", - "domains.read", - "domains.write", - "events.read" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "expire": { - "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - } - }, - "required": [ - "name", - "scopes" - ] - } } ] }, "delete": { - "summary": "Delete project key", - "operationId": "projectDeleteKey", + "summary": "Delete migration", + "operationId": "migrationsDelete", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "project" + "migrations" ], - "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", + "description": "Delete a migration by its unique ID. This endpoint allows you to remove a migration from your project's migration history. ", "responses": { "204": { "description": "No content" @@ -43075,171 +41843,94 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteKey", - "group": "keys", - "weight": 1114, + "method": "delete", + "group": null, + "weight": 586, "cookies": false, "type": "", - "demo": "project\/delete-key.md", + "demo": "migrations\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "keys.write", + "scope": "migrations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "keyId", - "description": "Key ID.", + "name": "migrationId", + "description": "Migration ID.", "required": true, "type": "string", - "x-example": "<KEY_ID>", + "x-example": "<MIGRATION_ID>", "in": "path" } ] } }, - "\/project\/labels": { - "put": { - "summary": "Update project labels", - "operationId": "projectUpdateLabels", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "project" - ], - "description": "Update the project labels. Labels can be used to easily filter projects in an organization.", - "responses": { - "200": { - "description": "Project", - "schema": { - "$ref": "#\/definitions\/project" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updateLabels", - "group": null, - "weight": 1097, - "cookies": false, - "type": "", - "demo": "project\/update-labels.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "description": "Array of project labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - } - }, - "required": [ - "labels" - ] - } - } - ] - } - }, - "\/project\/mock-phones": { + "\/organizations": { "get": { - "summary": "List project mock phones", - "operationId": "projectListMockPhones", + "summary": "List Orgnizations", + "operationId": "organizationsList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Get a list of all mock phones in the project. This endpoint returns an array of all mock phones and their OTPs.", + "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", "responses": { "200": { - "description": "Mock Numbers List", + "description": "Organizations list", "schema": { - "$ref": "#\/definitions\/mockNumberList" + "$ref": "#\/definitions\/organizationList" } } }, "deprecated": false, "x-appwrite": { - "method": "listMockPhones", - "group": "mocks", - "weight": 1130, + "method": "list", + "group": null, + "weight": 1061, "cookies": false, "type": "", - "demo": "project\/list-mock-phones.md", + "demo": "organizations\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.read", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan, paymentMethodId, backupPaymentMethodId, platform", "required": false, "type": "array", "collectionFormat": "multi", @@ -43250,19 +41941,19 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "string", + "x-example": "<SEARCH>", + "default": "", "in": "query" } ] }, "post": { - "summary": "Create project mock phone", - "operationId": "projectCreateMockPhone", + "summary": "Create Organization", + "operationId": "organizationsCreate", "consumes": [ "application\/json" ], @@ -43270,43 +41961,49 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Create a new mock phone for your project. Use this endpoint to register a mock phone number and its sign-in OTP for your testers.", + "description": "Create a new organization.\n", "responses": { "201": { - "description": "Mock Number", + "description": "Organization, or PaymentAuthentication", "schema": { - "$ref": "#\/definitions\/mockNumber" + "x-oneOf": [ + { + "$ref": "#\/definitions\/organization" + }, + { + "$ref": "#\/definitions\/paymentAuthentication" + } + ] } } }, "deprecated": false, "x-appwrite": { - "method": "createMockPhone", - "group": "mocks", - "weight": 1129, + "method": "create", + "group": null, + "weight": 1060, "cookies": false, "type": "", - "demo": "project\/create-mock-phone.md", - "rate-limit": 0, + "demo": "organizations\/create.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ @@ -43316,386 +42013,435 @@ "schema": { "type": "object", "properties": { - "number": { + "organizationId": { "type": "string", - "description": "Phone number to associate with the mock phone. Must be a valid E.164 formatted phone number.", - "default": null, - "x-example": "+12065550100", - "format": "phone" + "description": "Organization ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<ORGANIZATION_ID>" }, - "otp": { + "name": { "type": "string", - "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "default": null, - "x-example": "<OTP>" + "description": "Organization name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "billingPlan": { + "type": "string", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", + "x-nullable": true + }, + "billingAddressId": { + "type": "string", + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>", + "default": "", + "x-nullable": true + }, + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", + "x-nullable": true + }, + "taxId": { + "type": "string", + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", + "x-nullable": true + }, + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", + "x-nullable": true + }, + "platform": { + "type": "string", + "description": "Platform type", + "x-example": "appwrite", + "default": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "required": [ - "number", - "otp" + "organizationId", + "name", + "billingPlan" ] } } ] } }, - "\/project\/mock-phones\/{number}": { - "get": { - "summary": "Get project mock phone", - "operationId": "projectGetMockPhone", - "consumes": [], + "\/organizations\/estimations\/create-organization": { + "patch": { + "summary": "Estimate create Organization", + "operationId": "organizationsEstimationCreateOrganization", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Get a mock phone by its unique number. This endpoint returns the mock phone's OTP.", + "description": "Get estimation for creating an organization.", "responses": { "200": { - "description": "Mock Number", + "description": "Estimation", "schema": { - "$ref": "#\/definitions\/mockNumber" + "$ref": "#\/definitions\/estimation" } } }, "deprecated": false, "x-appwrite": { - "method": "getMockPhone", - "group": "mocks", - "weight": 1131, + "method": "estimationCreateOrganization", + "group": null, + "weight": 1095, "cookies": false, "type": "", - "demo": "project\/get-mock-phone.md", - "rate-limit": 0, + "demo": "organizations\/estimation-create-organization.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.read", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-create-organization.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", - "required": true, - "type": "string", - "format": "phone", - "x-example": "+12065550100", - "in": "path" - } - ] - }, - "put": { - "summary": "Update project mock phone", - "operationId": "projectUpdateMockPhone", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "project" - ], - "description": "Update a mock phone by its unique number. Use this endpoint to update the mock phone's OTP.", - "responses": { - "200": { - "description": "Mock Number", + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/mockNumber" + "type": "object", + "properties": { + "billingPlan": { + "type": "string", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", + "x-nullable": true + }, + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", + "x-nullable": true + }, + "platform": { + "type": "string", + "description": "Platform type", + "x-example": "appwrite", + "default": "appwrite", + "enum": [ + "appwrite", + "imagine" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "billingPlan" + ] } } + ] + } + }, + "\/organizations\/{organizationId}": { + "delete": { + "summary": "Delete team", + "operationId": "organizationsDelete", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "organizations" + ], + "description": "Delete an organization.", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "updateMockPhone", - "group": "mocks", - "weight": 1132, + "method": "delete", + "group": null, + "weight": 1062, "cookies": false, "type": "", - "demo": "project\/update-mock-phone.md", + "demo": "organizations\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "organizations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "name": "organizationId", + "description": "Team ID.", "required": true, "type": "string", - "format": "phone", - "x-example": "+12065550100", + "x-example": "<ORGANIZATION_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "otp": { - "type": "string", - "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "default": null, - "x-example": "<OTP>" - } - }, - "required": [ - "otp" - ] - } } ] - }, - "delete": { - "summary": "Delete project mock phone", - "operationId": "projectDeleteMockPhone", - "consumes": [ + } + }, + "\/organizations\/{organizationId}\/addons": { + "get": { + "summary": "List addons", + "operationId": "organizationsListAddons", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "project" + "organizations" ], - "description": "Delete a mock phone by its unique number. This endpoint removes the mock phone and its OTP configuration from the project.", + "description": "List all billing addons for an organization.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Addons list", + "schema": { + "$ref": "#\/definitions\/addonList" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteMockPhone", - "group": "mocks", - "weight": 1133, + "method": "listAddons", + "group": null, + "weight": 1103, "cookies": false, "type": "", - "demo": "project\/delete-mock-phone.md", + "demo": "organizations\/list-addons.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "mocks.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-addons.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "number", - "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "name": "organizationId", + "description": "Organization ID", "required": true, "type": "string", - "format": "phone", - "x-example": "+12065550100", + "x-example": "<ORGANIZATION_ID>", "in": "path" } ] } }, - "\/project\/oauth2": { - "get": { - "summary": "List project OAuth2 providers", - "operationId": "projectListOAuth2Providers", - "consumes": [], + "\/organizations\/{organizationId}\/addons\/baa": { + "post": { + "summary": "Create BAA addon", + "operationId": "organizationsCreateBaaAddon", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Get a list of all OAuth2 providers supported by the server, along with the project's configuration for each. Credential fields are write-only and always returned empty.", + "description": "Create the BAA billing addon for an organization.\n", "responses": { - "200": { - "description": "OAuth2 Providers List", + "201": { + "description": "Addon", "schema": { - "$ref": "#\/definitions\/oAuth2ProviderList" + "$ref": "#\/definitions\/addon" } } }, "deprecated": false, "x-appwrite": { - "method": "listOAuth2Providers", - "group": "oauth2", - "weight": 1146, + "method": "createBaaAddon", + "group": null, + "weight": 1106, "cookies": false, "type": "", - "demo": "project\/list-o-auth-2-providers.md", - "rate-limit": 0, + "demo": "organizations\/create-baa-addon.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.read", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-baa-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/amazon": { - "patch": { - "summary": "Update project OAuth2 Amazon", - "operationId": "projectUpdateOAuth2Amazon", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/addons\/{addonId}": { + "get": { + "summary": "Get addon", + "operationId": "organizationsGetAddon", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Amazon configuration.", + "description": "Get the details of a billing addon for an organization.\n", "responses": { "200": { - "description": "OAuth2Amazon", + "description": "Addon", "schema": { - "$ref": "#\/definitions\/oAuth2Amazon" + "$ref": "#\/definitions\/addon" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Amazon", - "group": "oauth2", - "weight": 1173, + "method": "getAddon", + "group": null, + "weight": 1104, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-amazon.md", + "demo": "organizations\/get-addon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "type": "string", + "x-example": "<ADDON_ID>", + "in": "path" } ] - } - }, - "\/project\/oauth2\/apple": { - "patch": { - "summary": "Update project OAuth2 Apple", - "operationId": "projectUpdateOAuth2Apple", + }, + "delete": { + "summary": "Delete addon", + "operationId": "organizationsDeleteAddon", "consumes": [ "application\/json" ], @@ -43703,97 +42449,65 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Apple configuration.", + "description": "Delete a billing addon for an organization.\n", "responses": { - "200": { - "description": "OAuth2Apple", - "schema": { - "$ref": "#\/definitions\/oAuth2Apple" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Apple", - "group": "oauth2", - "weight": 1188, + "method": "deleteAddon", + "group": null, + "weight": 1107, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-apple.md", - "rate-limit": 0, + "demo": "organizations\/delete-addon.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-addon.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "serviceId": { - "type": "string", - "description": "'Service ID' of Apple OAuth2 app. For example: ip.appwrite.app.web", - "default": null, - "x-example": "<SERVICE_ID>", - "x-nullable": true - }, - "keyId": { - "type": "string", - "description": "'Key ID' of Apple OAuth2 app. For example: P4000000N8", - "default": null, - "x-example": "<KEY_ID>", - "x-nullable": true - }, - "teamId": { - "type": "string", - "description": "'Team ID' of Apple OAuth2 app. For example: D4000000R6", - "default": null, - "x-example": "<TEAM_ID>", - "x-nullable": true - }, - "p8File": { - "type": "string", - "description": "Contents of the Apple OAuth2 app .p8 private key file. The secret key wrapped by the PEM markers is 200 characters long. For example: -----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----", - "default": null, - "x-example": "<P8_FILE>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "type": "string", + "x-example": "<ADDON_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/auth0": { - "patch": { - "summary": "Update project OAuth2 Auth0", - "operationId": "projectUpdateOAuth2Auth0", + "\/organizations\/{organizationId}\/addons\/{addonId}\/confirmations": { + "post": { + "summary": "Confirm addon payment after 3DS authentication", + "operationId": "organizationsConfirmAddonPayment", "consumes": [ "application\/json" ], @@ -43801,349 +42515,297 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Auth0 configuration.", + "description": "Confirm payment for a billing addon for an organization.\n", "responses": { "200": { - "description": "OAuth2Auth0", + "description": "Addon", "schema": { - "$ref": "#\/definitions\/oAuth2Auth0" + "$ref": "#\/definitions\/addon" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Auth0", - "group": "oauth2", - "weight": 1182, + "method": "confirmAddonPayment", + "group": null, + "weight": 1108, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-auth-0.md", - "rate-limit": 0, + "demo": "organizations\/confirm-addon-payment.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/confirm-addon-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Auth0 instance. For example: example.us.auth0.com", - "default": null, - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "addonId", + "description": "Addon ID", + "required": true, + "type": "string", + "x-example": "<ADDON_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/authentik": { - "patch": { - "summary": "Update project OAuth2 Authentik", - "operationId": "projectUpdateOAuth2Authentik", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/addons\/{addon}\/price": { + "get": { + "summary": "Get addon price", + "operationId": "organizationsGetAddonPrice", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Authentik configuration.", + "description": "Get the price details for a billing addon for an organization.\n", "responses": { "200": { - "description": "OAuth2Authentik", + "description": "AddonPrice", "schema": { - "$ref": "#\/definitions\/oAuth2Authentik" + "$ref": "#\/definitions\/addonPrice" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Authentik", - "group": "oauth2", - "weight": 1181, + "method": "getAddonPrice", + "group": null, + "weight": 1105, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-authentik.md", + "demo": "organizations\/get-addon-price.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-addon-price.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Authentik instance. For example: example.authentik.com", - "default": null, - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "addon", + "description": "Addon key identifier (e.g. baa).", + "required": true, + "type": "string", + "x-example": "baa", + "enum": [ + "baa" + ], + "x-enum-name": null, + "x-enum-keys": [], + "in": "path" } ] } }, - "\/project\/oauth2\/autodesk": { - "patch": { - "summary": "Update project OAuth2 Autodesk", - "operationId": "projectUpdateOAuth2Autodesk", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/aggregations": { + "get": { + "summary": "List aggregations", + "operationId": "organizationsListAggregations", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Autodesk configuration.", + "description": "Get a list of all aggregations for an organization.", "responses": { "200": { - "description": "OAuth2Autodesk", + "description": "Aggregation team list", "schema": { - "$ref": "#\/definitions\/oAuth2Autodesk" + "$ref": "#\/definitions\/aggregationTeamList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Autodesk", - "group": "oauth2", - "weight": 1156, + "method": "listAggregations", + "group": null, + "weight": 1077, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-autodesk.md", + "demo": "organizations\/list-aggregations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-aggregations.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, from, to", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] } }, - "\/project\/oauth2\/bitbucket": { - "patch": { - "summary": "Update project OAuth2 Bitbucket", - "operationId": "projectUpdateOAuth2Bitbucket", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/aggregations\/{aggregationId}": { + "get": { + "summary": "Get aggregation", + "operationId": "organizationsGetAggregation", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Bitbucket configuration.", + "description": "Get a specific aggregation using it's aggregation ID.", "responses": { "200": { - "description": "OAuth2Bitbucket", + "description": "Team", "schema": { - "$ref": "#\/definitions\/oAuth2Bitbucket" + "$ref": "#\/definitions\/aggregationTeam" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Bitbucket", - "group": "oauth2", - "weight": 1153, + "method": "getAggregation", + "group": null, + "weight": 1078, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-bitbucket.md", + "demo": "organizations\/get-aggregation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-aggregation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc", - "default": null, - "x-example": "<KEY>", - "x-nullable": true - }, - "secret": { - "type": "string", - "description": "'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx", - "default": null, - "x-example": "<SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "aggregationId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<AGGREGATION_ID>", + "in": "path" + }, + { + "name": "limit", + "description": "Maximum number of project aggregations to return in response. By default will return maximum 5 results. Maximum of 10 results allowed per request.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 5, + "in": "query" + }, + { + "name": "offset", + "description": "Offset value. The default value is 0. Use this param to manage pagination.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0, + "in": "query" } ] } }, - "\/project\/oauth2\/bitly": { + "\/organizations\/{organizationId}\/billing-address": { "patch": { - "summary": "Update project OAuth2 Bitly", - "operationId": "projectUpdateOAuth2Bitly", + "summary": "Set team's billing address", + "operationId": "organizationsSetBillingAddress", "consumes": [ "application\/json" ], @@ -44151,83 +42813,75 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Bitly configuration.", + "description": "Set a billing address for an organization.", "responses": { "200": { - "description": "OAuth2Bitly", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Bitly" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Bitly", - "group": "oauth2", - "weight": 1154, + "method": "setBillingAddress", + "group": null, + "weight": 1070, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-bitly.md", + "demo": "organizations\/set-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "billingAddressId": { "type": "string", - "description": "'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>" } - } + }, + "required": [ + "billingAddressId" + ] } } ] - } - }, - "\/project\/oauth2\/box": { - "patch": { - "summary": "Update project OAuth2 Box", - "operationId": "projectUpdateOAuth2Box", + }, + "delete": { + "summary": "Delete team's billing address", + "operationId": "organizationsDeleteBillingAddress", "consumes": [ "application\/json" ], @@ -44235,167 +42889,124 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Box configuration.", + "description": "Delete a team's billing address.", "responses": { - "200": { - "description": "OAuth2Box", - "schema": { - "$ref": "#\/definitions\/oAuth2Box" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Box", - "group": "oauth2", - "weight": 1155, + "method": "deleteBillingAddress", + "group": null, + "weight": 1071, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-box.md", + "demo": "organizations\/delete-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/dailymotion": { - "patch": { - "summary": "Update project OAuth2 Dailymotion", - "operationId": "projectUpdateOAuth2Dailymotion", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/billing-addresses\/{billingAddressId}": { + "get": { + "summary": "Get billing address", + "operationId": "organizationsGetBillingAddress", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Dailymotion configuration.", + "description": "Get a billing address using it's ID.", "responses": { "200": { - "description": "OAuth2Dailymotion", + "description": "Address", "schema": { - "$ref": "#\/definitions\/oAuth2Dailymotion" + "$ref": "#\/definitions\/billingAddress" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Dailymotion", - "group": "oauth2", - "weight": 1152, + "method": "getBillingAddress", + "group": null, + "weight": 1069, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-dailymotion.md", + "demo": "organizations\/get-billing-address.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-billing-address.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "apiKey": { - "type": "string", - "description": "'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f", - "default": null, - "x-example": "<API_KEY>", - "x-nullable": true - }, - "apiSecret": { - "type": "string", - "description": "'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639", - "default": null, - "x-example": "<API_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "billingAddressId", + "description": "Unique ID of billing address", + "required": true, + "type": "string", + "x-example": "<BILLING_ADDRESS_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/discord": { + "\/organizations\/{organizationId}\/billing-email": { "patch": { - "summary": "Update project OAuth2 Discord", - "operationId": "projectUpdateOAuth2Discord", + "summary": "Set team's billing email", + "operationId": "organizationsSetBillingEmail", "consumes": [ "application\/json" ], @@ -44403,83 +43014,78 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Discord configuration.", + "description": "Set the current billing email for the organization.", "responses": { "200": { - "description": "OAuth2Discord", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Discord" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Discord", - "group": "oauth2", - "weight": 1149, + "method": "setBillingEmail", + "group": null, + "weight": 1089, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-discord.md", + "demo": "organizations\/set-billing-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-email.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Discord OAuth2 app. For example: 950722000000343754", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "billingEmail": { "type": "string", - "description": "'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Billing email for the organization.", + "x-example": "email@example.com", + "format": "email" } - } + }, + "required": [ + "billingEmail" + ] } } ] } }, - "\/project\/oauth2\/disqus": { + "\/organizations\/{organizationId}\/budget": { "patch": { - "summary": "Update project OAuth2 Disqus", - "operationId": "projectUpdateOAuth2Disqus", + "summary": "Update organization budget", + "operationId": "organizationsUpdateBudget", "consumes": [ "application\/json" ], @@ -44487,167 +43093,159 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Disqus configuration.", + "description": "Update the budget limit for an organization.", "responses": { "200": { - "description": "OAuth2Disqus", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Disqus" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Disqus", - "group": "oauth2", - "weight": 1172, + "method": "updateBudget", + "group": null, + "weight": 1066, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-disqus.md", + "demo": "organizations\/update-budget.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-budget.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "publicKey": { - "type": "string", - "description": "'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", - "default": null, - "x-example": "<PUBLIC_KEY>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9", - "default": null, - "x-example": "<SECRET_KEY>", + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", "x-nullable": true }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "alerts": { + "type": "array", + "description": "Budget alert limit percentage", + "x-example": null, + "default": [ + 75 + ], + "items": { + "type": "integer" + } } - } + }, + "required": [ + "budget" + ] } } ] } }, - "\/project\/oauth2\/dropbox": { - "patch": { - "summary": "Update project OAuth2 Dropbox", - "operationId": "projectUpdateOAuth2Dropbox", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/credits": { + "get": { + "summary": "List credits", + "operationId": "organizationsListCredits", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Dropbox configuration.", + "description": "List all credits for an organization.\n", "responses": { "200": { - "description": "OAuth2Dropbox", + "description": "CreditList", "schema": { - "$ref": "#\/definitions\/oAuth2Dropbox" + "$ref": "#\/definitions\/creditList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Dropbox", - "group": "oauth2", - "weight": 1151, + "method": "listCredits", + "group": null, + "weight": 1081, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-dropbox.md", + "demo": "organizations\/list-credits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-credits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "appKey": { - "type": "string", - "description": "'App Key' of Dropbox OAuth2 app. For example: jl000000000009t", - "default": null, - "x-example": "<APP_KEY>", - "x-nullable": true - }, - "appSecret": { - "type": "string", - "description": "'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw", - "default": null, - "x-example": "<APP_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, couponId, credits, expiration, status", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] - } - }, - "\/project\/oauth2\/etsy": { - "patch": { - "summary": "Update project OAuth2 Etsy", - "operationId": "projectUpdateOAuth2Etsy", + }, + "post": { + "summary": "Add credits from coupon", + "operationId": "organizationsAddCredit", "consumes": [ "application\/json" ], @@ -44655,251 +43253,203 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Etsy configuration.", + "description": "Add credit to an organization using a coupon.", "responses": { - "200": { - "description": "OAuth2Etsy", + "201": { + "description": "Credit", "schema": { - "$ref": "#\/definitions\/oAuth2Etsy" + "$ref": "#\/definitions\/credit" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Etsy", - "group": "oauth2", - "weight": 1174, + "method": "addCredit", + "group": null, + "weight": 1082, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-etsy.md", - "rate-limit": 0, + "demo": "organizations\/add-credit.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/add-credit.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "keyString": { - "type": "string", - "description": "'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2", - "default": null, - "x-example": "<KEY_STRING>", - "x-nullable": true - }, - "sharedSecret": { + "couponId": { "type": "string", - "description": "'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru", - "default": null, - "x-example": "<SHARED_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "ID of the coupon", + "x-example": "<COUPON_ID>" } - } + }, + "required": [ + "couponId" + ] } } ] } }, - "\/project\/oauth2\/facebook": { - "patch": { - "summary": "Update project OAuth2 Facebook", - "operationId": "projectUpdateOAuth2Facebook", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/credits\/available": { + "get": { + "summary": "Get available credits", + "operationId": "organizationsGetAvailableCredits", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Facebook configuration.", + "description": "Get total available valid credits for an organization.", "responses": { "200": { - "description": "OAuth2Facebook", + "description": "CreditAvailable", "schema": { - "$ref": "#\/definitions\/oAuth2Facebook" + "$ref": "#\/definitions\/creditAvailable" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Facebook", - "group": "oauth2", - "weight": 1175, + "method": "getAvailableCredits", + "group": null, + "weight": 1080, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-facebook.md", + "demo": "organizations\/get-available-credits.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-available-credits.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "appId": { - "type": "string", - "description": "'App ID' of Facebook OAuth2 app. For example: 260600000007694", - "default": null, - "x-example": "<APP_ID>", - "x-nullable": true - }, - "appSecret": { - "type": "string", - "description": "'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4", - "default": null, - "x-example": "<APP_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/figma": { - "patch": { - "summary": "Update project OAuth2 Figma", - "operationId": "projectUpdateOAuth2Figma", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/credits\/{creditId}": { + "get": { + "summary": "Get credit details", + "operationId": "organizationsGetCredit", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Figma configuration.", + "description": "Get credit details.", "responses": { "200": { - "description": "OAuth2Figma", + "description": "Credit", "schema": { - "$ref": "#\/definitions\/oAuth2Figma" + "$ref": "#\/definitions\/credit" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Figma", - "group": "oauth2", - "weight": 1150, + "method": "getCredit", + "group": null, + "weight": 1079, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-figma.md", + "demo": "organizations\/get-credit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-credit.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "creditId", + "description": "Credit Unique ID", + "required": true, + "type": "string", + "x-example": "<CREDIT_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/fusionauth": { + "\/organizations\/{organizationId}\/estimations\/delete-organization": { "patch": { - "summary": "Update project OAuth2 FusionAuth", - "operationId": "projectUpdateOAuth2FusionAuth", + "summary": "Estimate delete team", + "operationId": "organizationsEstimationDeleteOrganization", "consumes": [ "application\/json" ], @@ -44907,90 +43457,60 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 FusionAuth configuration.", + "description": "Get estimation for deleting an organization.", "responses": { "200": { - "description": "OAuth2FusionAuth", + "description": "DeleteOrganization", "schema": { - "$ref": "#\/definitions\/oAuth2FusionAuth" + "$ref": "#\/definitions\/estimationDeleteOrganization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2FusionAuth", - "group": "oauth2", - "weight": 1183, + "method": "estimationDeleteOrganization", + "group": null, + "weight": 1096, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-fusion-auth.md", - "rate-limit": 0, + "demo": "organizations\/estimation-delete-organization.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "organizations.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-delete-organization.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of FusionAuth instance. For example: example.fusionauth.io", - "default": null, - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Team ID.", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/github": { + "\/organizations\/{organizationId}\/estimations\/update-plan": { "patch": { - "summary": "Update project OAuth2 GitHub", - "operationId": "projectUpdateOAuth2GitHub", + "summary": "Estimate for update plan", + "operationId": "organizationsEstimationUpdatePlan", "consumes": [ "application\/json" ], @@ -44998,83 +43518,92 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 GitHub configuration.", + "description": "Get estimation for updating the organization plan.", "responses": { "200": { - "description": "OAuth2GitHub", + "description": "UpdatePlan", "schema": { - "$ref": "#\/definitions\/oAuth2Github" + "$ref": "#\/definitions\/estimationUpdatePlan" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2GitHub", - "group": "oauth2", - "weight": 1148, + "method": "estimationUpdatePlan", + "group": null, + "weight": 1093, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-git-hub.md", - "rate-limit": 0, + "demo": "organizations\/estimation-update-plan.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/estimation-update-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { + "billingPlan": { "type": "string", - "description": "'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true + "description": "Organization billing plan chosen", + "x-example": "tier-0" }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } ] } }, - "\/project\/oauth2\/gitlab": { - "patch": { - "summary": "Update project OAuth2 Gitlab", - "operationId": "projectUpdateOAuth2Gitlab", + "\/organizations\/{organizationId}\/feedbacks\/downgrade": { + "post": { + "summary": "Create downgrade feedback", + "operationId": "organizationsCreateDowngradeFeedback", "consumes": [ "application\/json" ], @@ -45082,374 +43611,300 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Gitlab configuration.", + "description": "Submit feedback about downgrading from a paid plan to a lower tier. This helps the team understand user experience and improve the platform.\n", "responses": { - "200": { - "description": "OAuth2Gitlab", + "201": { + "description": "Downgrade Feedback", "schema": { - "$ref": "#\/definitions\/oAuth2Gitlab" + "$ref": "#\/definitions\/downgradeFeedback" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Gitlab", - "group": "oauth2", - "weight": 1180, - "cookies": false, - "type": "", - "demo": "project\/update-o-auth-2-gitlab.md", + "method": "createDowngradeFeedback", + "group": null, + "weight": 1097, + "cookies": false, + "type": "", + "demo": "organizations\/create-downgrade-feedback.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-downgrade-feedback.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "applicationId": { + "reason": { "type": "string", - "description": "'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252", - "default": null, - "x-example": "<APPLICATION_ID>", - "x-nullable": true + "description": "Feedback reason", + "x-example": "<REASON>" }, - "secret": { + "message": { "type": "string", - "description": "'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", - "default": null, - "x-example": "<SECRET>", - "x-nullable": true + "description": "Feedback message", + "x-example": "<MESSAGE>" }, - "endpoint": { + "fromPlanId": { "type": "string", - "description": "Endpoint URL of self-hosted GitLab instance. For example: https:\/\/gitlab.com", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true + "description": "Plan downgrading from", + "x-example": "<FROM_PLAN_ID>" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "toPlanId": { + "type": "string", + "description": "Plan downgrading to", + "x-example": "<TO_PLAN_ID>" } - } + }, + "required": [ + "reason", + "message", + "fromPlanId", + "toPlanId" + ] } } ] } }, - "\/project\/oauth2\/google": { - "patch": { - "summary": "Update project OAuth2 Google", - "operationId": "projectUpdateOAuth2Google", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/invoices": { + "get": { + "summary": "List invoices", + "operationId": "organizationsListInvoices", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Google configuration.", + "description": "List all invoices for an organization.", "responses": { "200": { - "description": "OAuth2Google", + "description": "Billing invoices list", "schema": { - "$ref": "#\/definitions\/oAuth2Google" + "$ref": "#\/definitions\/invoiceList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Google", - "group": "oauth2", - "weight": 1157, + "method": "listInvoices", + "group": null, + "weight": 1084, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-google.md", + "demo": "organizations\/list-invoices.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-invoices.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "prompt": { - "type": "array", - "description": "Array of Google OAuth2 prompt values. If \"none\" is included, it must be the only element. \"none\" means: don't display any authentication or consent screens. Must not be specified with other values. \"consent\" means: prompt the user for consent. \"select_account\" means: prompt the user to select an account.", - "default": null, - "x-example": null, - "x-nullable": true, - "items": { - "type": "string", - "enum": [ - "none", - "consent", - "select_account" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] } }, - "\/project\/oauth2\/keycloak": { - "patch": { - "summary": "Update project OAuth2 Keycloak", - "operationId": "projectUpdateOAuth2Keycloak", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/invoices\/{invoiceId}": { + "get": { + "summary": "Get invoice", + "operationId": "organizationsGetInvoice", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Keycloak configuration.", + "description": "Get an invoice by its unique ID.", "responses": { "200": { - "description": "OAuth2Keycloak", + "description": "Invoice", "schema": { - "$ref": "#\/definitions\/oAuth2Keycloak" + "$ref": "#\/definitions\/invoice" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Keycloak", - "group": "oauth2", - "weight": 1184, + "method": "getInvoice", + "group": null, + "weight": 1083, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-keycloak.md", + "demo": "organizations\/get-invoice.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "endpoint": { - "type": "string", - "description": "Domain of Keycloak instance. For example: keycloak.example.com", - "default": null, - "x-example": "<ENDPOINT>", - "x-nullable": true - }, - "realmName": { - "type": "string", - "description": "Keycloak realm name. For example: appwrite-realm", - "default": null, - "x-example": "<REALM_NAME>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/kick": { - "patch": { - "summary": "Update project OAuth2 Kick", - "operationId": "projectUpdateOAuth2Kick", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/download": { + "get": { + "summary": "Download invoice in PDF", + "operationId": "organizationsGetInvoiceDownload", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Kick configuration.", + "description": "Download invoice in PDF", "responses": { "200": { - "description": "OAuth2Kick", + "description": "paymentMethod", "schema": { - "$ref": "#\/definitions\/oAuth2Kick" + "$ref": "#\/definitions\/paymentMethod" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Kick", - "group": "oauth2", - "weight": 1187, + "method": "getInvoiceDownload", + "group": null, + "weight": 1087, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-kick.md", + "demo": "organizations\/get-invoice-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-download.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/linkedin": { - "patch": { - "summary": "Update project OAuth2 Linkedin", - "operationId": "projectUpdateOAuth2Linkedin", + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/payments": { + "post": { + "summary": "Initiate payment for failed invoice to pay live from console", + "operationId": "organizationsCreateInvoicePayment", "consumes": [ "application\/json" ], @@ -45457,83 +43912,85 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Linkedin configuration.", + "description": "Initiate payment for failed invoice to pay live from console", "responses": { "200": { - "description": "OAuth2Linkedin", + "description": "Invoice", "schema": { - "$ref": "#\/definitions\/oAuth2Linkedin" + "$ref": "#\/definitions\/invoice" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Linkedin", - "group": "oauth2", - "weight": 1171, + "method": "createInvoicePayment", + "group": null, + "weight": 1088, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-linkedin.md", - "rate-limit": 0, - "rate-time": 3600, + "demo": "organizations\/create-invoice-payment.md", + "rate-limit": 10, + "rate-time": 86400, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-invoice-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "primaryClientSecret": { + "paymentMethodId": { "type": "string", - "description": "'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: WPL_AP1.2Bf0000000000000.\/HtlYw==", - "default": null, - "x-example": "<PRIMARY_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Payment method ID", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } ] } }, - "\/project\/oauth2\/microsoft": { + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/status": { "patch": { - "summary": "Update project OAuth2 Microsoft", - "operationId": "projectUpdateOAuth2Microsoft", + "summary": "Validate the payment for an invoice and update status", + "operationId": "organizationsValidateInvoice", "consumes": [ "application\/json" ], @@ -45541,207 +43998,165 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Microsoft configuration.", + "description": "Validates the payment linked with the invoice and updates the invoice status if the payment status is changed.", "responses": { "200": { - "description": "OAuth2Microsoft", + "description": "Invoice", "schema": { - "$ref": "#\/definitions\/oAuth2Microsoft" + "$ref": "#\/definitions\/invoice" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Microsoft", - "group": "oauth2", - "weight": 1189, + "method": "validateInvoice", + "group": null, + "weight": 1085, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-microsoft.md", + "demo": "organizations\/validate-invoice.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-invoice-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "applicationId": { - "type": "string", - "description": "'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444", - "default": null, - "x-example": "<APPLICATION_ID>", - "x-nullable": true - }, - "applicationSecret": { - "type": "string", - "description": "'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", - "default": null, - "x-example": "<APPLICATION_SECRET>", - "x-nullable": true - }, - "tenant": { - "type": "string", - "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common", - "default": null, - "x-example": "<TENANT>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/notion": { - "patch": { - "summary": "Update project OAuth2 Notion", - "operationId": "projectUpdateOAuth2Notion", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/invoices\/{invoiceId}\/view": { + "get": { + "summary": "View invoice in PDF", + "operationId": "organizationsGetInvoiceView", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Notion configuration.", + "description": "View invoice in PDF", "responses": { "200": { - "description": "OAuth2Notion", + "description": "paymentMethod", "schema": { - "$ref": "#\/definitions\/oAuth2Notion" + "$ref": "#\/definitions\/paymentMethod" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Notion", - "group": "oauth2", - "weight": 1168, + "method": "getInvoiceView", + "group": null, + "weight": 1086, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-notion.md", + "demo": "organizations\/get-invoice-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-invoice-view.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "oauthClientId": { - "type": "string", - "description": "'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3", - "default": null, - "x-example": "<OAUTH_CLIENT_ID>", - "x-nullable": true - }, - "oauthClientSecret": { - "type": "string", - "description": "'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9", - "default": null, - "x-example": "<OAUTH_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "invoiceId", + "description": "Invoice unique ID", + "required": true, + "type": "string", + "x-example": "<INVOICE_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/oidc": { - "patch": { - "summary": "Update project OAuth2 Oidc", - "operationId": "projectUpdateOAuth2Oidc", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/keys": { + "get": { + "summary": "List organization keys", + "operationId": "organizationsListKeys", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Oidc configuration.", + "description": "Get a list of all API keys from the current organization. ", "responses": { "200": { - "description": "OAuth2Oidc", + "description": "API Keys List", "schema": { - "$ref": "#\/definitions\/oAuth2Oidc" + "$ref": "#\/definitions\/keyList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Oidc", - "group": "oauth2", - "weight": 1185, + "method": "listKeys", + "group": "keys", + "weight": 1100, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-oidc.md", + "demo": "organizations\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -45751,80 +44166,32 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "wellKnownURL": { - "type": "string", - "description": "OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https:\/\/myoauth.com\/.well-known\/openid-configuration", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "authorizationURL": { - "type": "string", - "description": "OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/authorize", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "tokenURL": { - "type": "string", - "description": "OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/token", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "userInfoURL": { - "type": "string", - "description": "OpenID Connect user info endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/userinfo", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/project\/oauth2\/okta": { - "patch": { - "summary": "Update project OAuth2 Okta", - "operationId": "projectUpdateOAuth2Okta", + }, + "post": { + "summary": "Create organization key", + "operationId": "organizationsCreateKey", "consumes": [ "application\/json" ], @@ -45832,32 +44199,31 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Okta configuration.", + "description": "Create a new organization API key.", "responses": { - "200": { - "description": "OAuth2Okta", + "201": { + "description": "Key", "schema": { - "$ref": "#\/definitions\/oAuth2Okta" + "$ref": "#\/definitions\/key" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Okta", - "group": "oauth2", - "weight": 1186, + "method": "createKey", + "group": "keys", + "weight": 1098, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-okta.md", + "demo": "organizations\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -45867,95 +44233,100 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "name": { "type": "string", - "description": "'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "domain": { - "type": "string", - "description": "Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https:\/\/trial-6400025.okta.com\/", - "default": null, + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", "x-example": null, - "x-nullable": true + "items": { + "type": "string", + "enum": [ + "projects.read", + "projects.write", + "devKeys.read", + "devKeys.write", + "domains.read", + "domains.write", + "keys.read", + "keys.write" + ], + "x-enum-name": null, + "x-enum-keys": [] + } }, - "authorizationServerId": { + "expire": { "type": "string", - "description": "Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z", - "default": null, - "x-example": "<AUTHORIZATION_SERVER_ID>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", "x-nullable": true } - } + }, + "required": [ + "name", + "scopes" + ] } } ] } }, - "\/project\/oauth2\/paypal": { - "patch": { - "summary": "Update project OAuth2 Paypal", - "operationId": "projectUpdateOAuth2Paypal", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/keys\/{keyId}": { + "get": { + "summary": "Get organization key", + "operationId": "organizationsGetKey", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Paypal configuration.", + "description": "Get a key by its unique ID. This endpoint returns details about a specific API key in your organization including it's scopes.", "responses": { "200": { - "description": "OAuth2Paypal", + "description": "Key", "schema": { - "$ref": "#\/definitions\/oAuth2Paypal" + "$ref": "#\/definitions\/key" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Paypal", - "group": "oauth2", - "weight": 1178, + "method": "getKey", + "group": "keys", + "weight": 1102, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-paypal.md", + "demo": "organizations\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -45965,48 +44336,31 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "secretKey": { - "type": "string", - "description": "'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "default": null, - "x-example": "<SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", + "in": "path" } ] - } - }, - "\/project\/oauth2\/paypalSandbox": { - "patch": { - "summary": "Update project OAuth2 PaypalSandbox", - "operationId": "projectUpdateOAuth2PaypalSandbox", + }, + "put": { + "summary": "Update organization key", + "operationId": "organizationsUpdateKey", "consumes": [ "application\/json" ], @@ -46014,32 +44368,31 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 PaypalSandbox configuration.", + "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", "responses": { "200": { - "description": "OAuth2Paypal", + "description": "Key", "schema": { - "$ref": "#\/definitions\/oAuth2Paypal" + "$ref": "#\/definitions\/key" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2PaypalSandbox", - "group": "oauth2", - "weight": 1179, + "method": "updateKey", + "group": "keys", + "weight": 1099, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-paypal-sandbox.md", + "demo": "organizations\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -46049,48 +44402,76 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { + "name": { "type": "string", - "description": "'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "secretKey": { - "type": "string", - "description": "'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "default": null, - "x-example": "<SECRET_KEY>", - "x-nullable": true + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "projects.read", + "projects.write", + "devKeys.read", + "devKeys.write", + "domains.read", + "domains.write", + "keys.read", + "keys.write" + ], + "x-enum-name": null, + "x-enum-keys": [] + } }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", "x-nullable": true } - } + }, + "required": [ + "name", + "scopes" + ] } } ] - } - }, - "\/project\/oauth2\/podio": { - "patch": { - "summary": "Update project OAuth2 Podio", - "operationId": "projectUpdateOAuth2Podio", + }, + "delete": { + "summary": "Delete organization key", + "operationId": "organizationsDeleteKey", "consumes": [ "application\/json" ], @@ -46098,32 +44479,28 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Podio configuration.", + "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", "responses": { - "200": { - "description": "OAuth2Podio", - "schema": { - "$ref": "#\/definitions\/oAuth2Podio" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Podio", - "group": "oauth2", - "weight": 1167, + "method": "deleteKey", + "group": "keys", + "weight": 1101, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-podio.md", + "demo": "organizations\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, @@ -46133,48 +44510,33 @@ }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/salesforce": { + "\/organizations\/{organizationId}\/payment-method": { "patch": { - "summary": "Update project OAuth2 Salesforce", - "operationId": "projectUpdateOAuth2Salesforce", + "summary": "Set team's payment method", + "operationId": "organizationsSetDefaultPaymentMethod", "consumes": [ "application\/json" ], @@ -46182,83 +44544,75 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Salesforce configuration.", + "description": "Set a organization's default payment method.", "responses": { "200": { - "description": "OAuth2Salesforce", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Salesforce" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Salesforce", - "group": "oauth2", - "weight": 1169, + "method": "setDefaultPaymentMethod", + "group": null, + "weight": 1073, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-salesforce.md", + "demo": "organizations\/set-default-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-default-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "customerKey": { - "type": "string", - "description": "'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", - "default": null, - "x-example": "<CUSTOMER_KEY>", - "x-nullable": true - }, - "customerSecret": { + "paymentMethodId": { "type": "string", - "description": "'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2", - "default": null, - "x-example": "<CUSTOMER_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Unique ID of payment method", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } ] - } - }, - "\/project\/oauth2\/slack": { - "patch": { - "summary": "Update project OAuth2 Slack", - "operationId": "projectUpdateOAuth2Slack", + }, + "delete": { + "summary": "Delete team's default payment method", + "operationId": "organizationsDeleteDefaultPaymentMethod", "consumes": [ "application\/json" ], @@ -46266,83 +44620,60 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Slack configuration.", + "description": "Delete the default payment method for an organization.", "responses": { "200": { - "description": "OAuth2Slack", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Slack" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Slack", - "group": "oauth2", - "weight": 1166, + "method": "deleteDefaultPaymentMethod", + "group": null, + "weight": 1075, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-slack.md", + "demo": "organizations\/delete-default-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-default-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/spotify": { + "\/organizations\/{organizationId}\/payment-method\/backup": { "patch": { - "summary": "Update project OAuth2 Spotify", - "operationId": "projectUpdateOAuth2Spotify", + "summary": "Set team's backup payment method", + "operationId": "organizationsSetBackupPaymentMethod", "consumes": [ "application\/json" ], @@ -46350,83 +44681,75 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Spotify configuration.", + "description": "Set an organization's backup payment method.\n", "responses": { "200": { - "description": "OAuth2Spotify", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Spotify" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Spotify", - "group": "oauth2", - "weight": 1165, + "method": "setBackupPaymentMethod", + "group": null, + "weight": 1074, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-spotify.md", + "demo": "organizations\/set-backup-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-backup-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "paymentMethodId": { "type": "string", - "description": "'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Unique ID of payment method", + "x-example": "<PAYMENT_METHOD_ID>" } - } + }, + "required": [ + "paymentMethodId" + ] } } ] - } - }, - "\/project\/oauth2\/stripe": { - "patch": { - "summary": "Update project OAuth2 Stripe", - "operationId": "projectUpdateOAuth2Stripe", + }, + "delete": { + "summary": "Delete team's backup payment method", + "operationId": "organizationsDeleteBackupPaymentMethod", "consumes": [ "application\/json" ], @@ -46434,251 +44757,184 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Stripe configuration.", + "description": "Delete a backup payment method for an organization.", "responses": { "200": { - "description": "OAuth2Stripe", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Stripe" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Stripe", - "group": "oauth2", - "weight": 1164, + "method": "deleteBackupPaymentMethod", + "group": null, + "weight": 1076, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-stripe.md", + "demo": "organizations\/delete-backup-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/delete-backup-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "apiSecretKey": { - "type": "string", - "description": "'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp", - "default": null, - "x-example": "<API_SECRET_KEY>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/tradeshift": { - "patch": { - "summary": "Update project OAuth2 Tradeshift", - "operationId": "projectUpdateOAuth2Tradeshift", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/payment-methods\/{paymentMethodId}": { + "get": { + "summary": "Get payment method", + "operationId": "organizationsGetPaymentMethod", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Tradeshift configuration.", + "description": "Get an organization's payment method using it's payment method ID.", "responses": { "200": { - "description": "OAuth2Tradeshift", + "description": "paymentMethod", "schema": { - "$ref": "#\/definitions\/oAuth2Tradeshift" + "$ref": "#\/definitions\/paymentMethod" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Tradeshift", - "group": "oauth2", - "weight": 1176, + "method": "getPaymentMethod", + "group": null, + "weight": 1072, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-tradeshift.md", + "demo": "organizations\/get-payment-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-payment-method.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "oauth2ClientId": { - "type": "string", - "description": "'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "default": null, - "x-example": "<OAUTH2_CLIENT_ID>", - "x-nullable": true - }, - "oauth2ClientSecret": { - "type": "string", - "description": "'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "default": null, - "x-example": "<OAUTH2_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "paymentMethodId", + "description": "Unique ID of payment method", + "required": true, + "type": "string", + "x-example": "<PAYMENT_METHOD_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/tradeshiftBox": { - "patch": { - "summary": "Update project OAuth2 Tradeshift Sandbox", - "operationId": "projectUpdateOAuth2TradeshiftSandbox", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/plan": { + "get": { + "summary": "Get organization billing plan details", + "operationId": "organizationsGetPlan", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Tradeshift Sandbox configuration.", + "description": "Get the details of the current billing plan for an organization.", "responses": { "200": { - "description": "OAuth2Tradeshift", + "description": "billingPlan", "schema": { - "$ref": "#\/definitions\/oAuth2Tradeshift" + "$ref": "#\/definitions\/billingPlan" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2TradeshiftSandbox", - "group": "oauth2", - "weight": 1177, + "method": "getPlan", + "group": null, + "weight": 1063, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", + "demo": "organizations\/get-plan.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "oauth2ClientId": { - "type": "string", - "description": "'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "default": null, - "x-example": "<OAUTH2_CLIENT_ID>", - "x-nullable": true - }, - "oauth2ClientSecret": { - "type": "string", - "description": "'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "default": null, - "x-example": "<OAUTH2_CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] - } - }, - "\/project\/oauth2\/twitch": { + }, "patch": { - "summary": "Update project OAuth2 Twitch", - "operationId": "projectUpdateOAuth2Twitch", + "summary": "Update organization billing plan", + "operationId": "organizationsUpdatePlan", "consumes": [ "application\/json" ], @@ -46686,83 +44942,117 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Twitch configuration.", + "description": "Update the billing plan for an organization.", "responses": { "200": { - "description": "OAuth2Twitch", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Twitch" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Twitch", - "group": "oauth2", - "weight": 1163, + "method": "updatePlan", + "group": null, + "weight": 1064, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-twitch.md", - "rate-limit": 0, + "demo": "organizations\/update-plan.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/update-plan.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { + "billingPlan": { "type": "string", - "description": "'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p", - "default": null, - "x-example": "<CLIENT_ID>", + "description": "Organization billing plan chosen", + "x-example": "tier-0" + }, + "paymentMethodId": { + "type": "string", + "description": "Payment method ID. Required for pro plans when trial is not available and user doesn't have default payment method set.", + "x-example": "<PAYMENT_METHOD_ID>", "x-nullable": true }, - "clientSecret": { + "billingAddressId": { "type": "string", - "description": "'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v", - "default": null, - "x-example": "<CLIENT_SECRET>", + "description": "Unique ID of billing address", + "x-example": "<BILLING_ADDRESS_ID>", + "default": "" + }, + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "taxId": { + "type": "string", + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", + "x-nullable": true + }, + "budget": { + "type": "integer", + "description": "Budget limit for additional usage set for the organization", + "x-example": 0, + "format": "int32", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } ] } }, - "\/project\/oauth2\/wordpress": { + "\/organizations\/{organizationId}\/plan\/cancel": { "patch": { - "summary": "Update project OAuth2 WordPress", - "operationId": "projectUpdateOAuth2WordPress", + "summary": "Cancel organization plan change", + "operationId": "organizationsCancelDowngrade", "consumes": [ "application\/json" ], @@ -46770,83 +45060,60 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 WordPress configuration.", + "description": "Cancel the downgrade initiated for an organization.", "responses": { "200": { - "description": "OAuth2WordPress", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2WordPress" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2WordPress", - "group": "oauth2", - "weight": 1162, + "method": "cancelDowngrade", + "group": null, + "weight": 1065, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-word-press.md", + "demo": "organizations\/cancel-downgrade.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/cancel-downgrade.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of WordPress OAuth2 app. For example: 130005", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization Unique ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" } ] } }, - "\/project\/oauth2\/x": { - "patch": { - "summary": "Update project OAuth2 X", - "operationId": "projectUpdateOAuth2X", + "\/organizations\/{organizationId}\/plan\/estimations": { + "post": { + "summary": "Create billing plan estimation (upgrade or downgrade)", + "operationId": "organizationsCreatePlanEstimation", "consumes": [ "application\/json" ], @@ -46854,167 +45121,219 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 X configuration.", + "description": "Create a billing plan estimation for upgrading or downgrading an organization plan.\n", "responses": { "200": { - "description": "OAuth2X", + "description": "EstimationPlanChange", "schema": { - "$ref": "#\/definitions\/oAuth2X" + "$ref": "#\/definitions\/estimationPlanChange" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2X", - "group": "oauth2", - "weight": 1161, + "method": "createPlanEstimation", + "group": null, + "weight": 1094, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2x.md", - "rate-limit": 0, + "demo": "organizations\/create-plan-estimation.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/create-plan-estimation.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "customerKey": { + "billingPlan": { "type": "string", - "description": "'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT", - "default": null, - "x-example": "<CUSTOMER_KEY>", - "x-nullable": true + "description": "Target billing plan", + "x-example": "tier-0" }, - "secretKey": { - "type": "string", - "description": "'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9", - "default": null, - "x-example": "<SECRET_KEY>", - "x-nullable": true + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "couponId": { + "type": "string", + "description": "Coupon id", + "x-example": "<COUPON_ID>", "x-nullable": true } - } + }, + "required": [ + "billingPlan" + ] } } ] } }, - "\/project\/oauth2\/yahoo": { - "patch": { - "summary": "Update project OAuth2 Yahoo", - "operationId": "projectUpdateOAuth2Yahoo", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/regions": { + "get": { + "summary": "List Regions", + "operationId": "organizationsListRegions", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Yahoo configuration.", + "description": "Get all available regions for an organization.", "responses": { "200": { - "description": "OAuth2Yahoo", + "description": "Regions list", "schema": { - "$ref": "#\/definitions\/oAuth2Yahoo" + "$ref": "#\/definitions\/consoleRegionList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Yahoo", - "group": "oauth2", - "weight": 1170, + "method": "listRegions", + "group": null, + "weight": 1092, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-yahoo.md", + "demo": "organizations\/list-regions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "projects.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/list-regions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", + "name": "organizationId", + "description": "Team ID.", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + } + ] + } + }, + "\/organizations\/{organizationId}\/roles": { + "get": { + "summary": "Get Scopes", + "operationId": "organizationsGetScopes", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "organizations" + ], + "description": "Get Scopes", + "responses": { + "200": { + "description": "Roles", "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } + "$ref": "#\/definitions\/roles" } } + }, + "deprecated": false, + "x-appwrite": { + "method": "getScopes", + "group": null, + "weight": 1091, + "cookies": false, + "type": "", + "demo": "organizations\/get-scopes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "teams.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-scopes.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "organizationId", + "description": "Organization id", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "projectId", + "description": "Project id", + "required": false, + "type": "string", + "x-example": "<PROJECT_ID>", + "default": "", + "in": "query" + } ] } }, - "\/project\/oauth2\/yandex": { + "\/organizations\/{organizationId}\/taxId": { "patch": { - "summary": "Update project OAuth2 Yandex", - "operationId": "projectUpdateOAuth2Yandex", + "summary": "Set team's tax Id", + "operationId": "organizationsSetBillingTaxId", "consumes": [ "application\/json" ], @@ -47022,167 +45341,155 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Yandex configuration.", + "description": "Set an organization's billing tax ID.", "responses": { "200": { - "description": "OAuth2Yandex", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Yandex" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Yandex", - "group": "oauth2", - "weight": 1160, + "method": "setBillingTaxId", + "group": null, + "weight": 1067, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-yandex.md", + "demo": "organizations\/set-billing-tax-id.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "billing.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/set-billing-tax-id.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { + "taxId": { "type": "string", - "description": "'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, + "description": "Tax Id associated to billing.", + "x-example": "<TAX_ID>", "x-nullable": true } - } + }, + "required": [ + "taxId" + ] } } ] } }, - "\/project\/oauth2\/zoho": { - "patch": { - "summary": "Update project OAuth2 Zoho", - "operationId": "projectUpdateOAuth2Zoho", - "consumes": [ - "application\/json" - ], + "\/organizations\/{organizationId}\/usage": { + "get": { + "summary": "Get team's usage data", + "operationId": "organizationsGetUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Zoho configuration.", + "description": "Get the usage data for an organization.", "responses": { "200": { - "description": "OAuth2Zoho", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Zoho" + "$ref": "#\/definitions\/usageOrganization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Zoho", - "group": "oauth2", - "weight": 1159, + "method": "getUsage", + "group": null, + "weight": 1068, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-zoho.md", + "demo": "organizations\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true - } - } - } + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, + { + "name": "startDate", + "description": "Starting date for the usage", + "required": false, + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "in": "query" + }, + { + "name": "endDate", + "description": "End date for the usage", + "required": false, + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "in": "query" } ] } }, - "\/project\/oauth2\/zoom": { + "\/organizations\/{organizationId}\/validate": { "patch": { - "summary": "Update project OAuth2 Zoom", - "operationId": "projectUpdateOAuth2Zoom", + "summary": "Validate payment for the organization after creation or upgrade", + "operationId": "organizationsValidatePayment", "consumes": [ "application\/json" ], @@ -47190,72 +45497,67 @@ "application\/json" ], "tags": [ - "project" + "organizations" ], - "description": "Update the project OAuth2 Zoom configuration.", + "description": "Validate payment for team after creation or upgrade.", "responses": { "200": { - "description": "OAuth2Zoom", + "description": "Organization", "schema": { - "$ref": "#\/definitions\/oAuth2Zoom" + "$ref": "#\/definitions\/organization" } } }, "deprecated": false, "x-appwrite": { - "method": "updateOAuth2Zoom", - "group": "oauth2", - "weight": 1158, + "method": "validatePayment", + "group": null, + "weight": 1090, "cookies": false, "type": "", - "demo": "project\/update-o-auth-2-zoom.md", + "demo": "organizations\/validate-payment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.write", + "scope": "teams.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/organizations\/validate-payment.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ + { + "name": "organizationId", + "description": "Organization ID", + "required": true, + "type": "string", + "x-example": "<ORGANIZATION_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "clientId": { - "type": "string", - "description": "'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ", - "default": null, - "x-example": "<CLIENT_ID>", - "x-nullable": true - }, - "clientSecret": { - "type": "string", - "description": "'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON", - "default": null, - "x-example": "<CLIENT_SECRET>", - "x-nullable": true - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, - "x-example": false, - "x-nullable": true + "invites": { + "type": "array", + "description": "Additional member invites", + "x-example": null, + "default": [], + "items": { + "type": "string" + } } } } @@ -47263,212 +45565,46 @@ ] } }, - "\/project\/oauth2\/{providerId}": { + "\/presences": { "get": { - "summary": "Get project OAuth2 provider", - "operationId": "projectGetOAuth2Provider", + "summary": "List presences", + "operationId": "presencesList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "presences" ], - "description": "Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key\/team IDs) are write-only and always returned empty.", + "description": "List presence logs. Expired entries are filtered out automatically.\n", "responses": { "200": { - "description": "OAuth2GitHub, or OAuth2Discord, or OAuth2Figma, or OAuth2Dropbox, or OAuth2Dailymotion, or OAuth2Bitbucket, or OAuth2Bitly, or OAuth2Box, or OAuth2Autodesk, or OAuth2Google, or OAuth2Zoom, or OAuth2Zoho, or OAuth2Yandex, or OAuth2X, or OAuth2WordPress, or OAuth2Twitch, or OAuth2Stripe, or OAuth2Spotify, or OAuth2Slack, or OAuth2Podio, or OAuth2Notion, or OAuth2Salesforce, or OAuth2Yahoo, or OAuth2Linkedin, or OAuth2Disqus, or OAuth2Amazon, or OAuth2Etsy, or OAuth2Facebook, or OAuth2Tradeshift, or OAuth2Paypal, or OAuth2Gitlab, or OAuth2Authentik, or OAuth2Auth0, or OAuth2FusionAuth, or OAuth2Keycloak, or OAuth2Oidc, or OAuth2Apple, or OAuth2Okta, or OAuth2Kick, or OAuth2Microsoft", + "description": "Presences List", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/oAuth2Github" - }, - { - "$ref": "#\/definitions\/oAuth2Discord" - }, - { - "$ref": "#\/definitions\/oAuth2Figma" - }, - { - "$ref": "#\/definitions\/oAuth2Dropbox" - }, - { - "$ref": "#\/definitions\/oAuth2Dailymotion" - }, - { - "$ref": "#\/definitions\/oAuth2Bitbucket" - }, - { - "$ref": "#\/definitions\/oAuth2Bitly" - }, - { - "$ref": "#\/definitions\/oAuth2Box" - }, - { - "$ref": "#\/definitions\/oAuth2Autodesk" - }, - { - "$ref": "#\/definitions\/oAuth2Google" - }, - { - "$ref": "#\/definitions\/oAuth2Zoom" - }, - { - "$ref": "#\/definitions\/oAuth2Zoho" - }, - { - "$ref": "#\/definitions\/oAuth2Yandex" - }, - { - "$ref": "#\/definitions\/oAuth2X" - }, - { - "$ref": "#\/definitions\/oAuth2WordPress" - }, - { - "$ref": "#\/definitions\/oAuth2Twitch" - }, - { - "$ref": "#\/definitions\/oAuth2Stripe" - }, - { - "$ref": "#\/definitions\/oAuth2Spotify" - }, - { - "$ref": "#\/definitions\/oAuth2Slack" - }, - { - "$ref": "#\/definitions\/oAuth2Podio" - }, - { - "$ref": "#\/definitions\/oAuth2Notion" - }, - { - "$ref": "#\/definitions\/oAuth2Salesforce" - }, - { - "$ref": "#\/definitions\/oAuth2Yahoo" - }, - { - "$ref": "#\/definitions\/oAuth2Linkedin" - }, - { - "$ref": "#\/definitions\/oAuth2Disqus" - }, - { - "$ref": "#\/definitions\/oAuth2Amazon" - }, - { - "$ref": "#\/definitions\/oAuth2Etsy" - }, - { - "$ref": "#\/definitions\/oAuth2Facebook" - }, - { - "$ref": "#\/definitions\/oAuth2Tradeshift" - }, - { - "$ref": "#\/definitions\/oAuth2Paypal" - }, - { - "$ref": "#\/definitions\/oAuth2Gitlab" - }, - { - "$ref": "#\/definitions\/oAuth2Authentik" - }, - { - "$ref": "#\/definitions\/oAuth2Auth0" - }, - { - "$ref": "#\/definitions\/oAuth2FusionAuth" - }, - { - "$ref": "#\/definitions\/oAuth2Keycloak" - }, - { - "$ref": "#\/definitions\/oAuth2Oidc" - }, - { - "$ref": "#\/definitions\/oAuth2Apple" - }, - { - "$ref": "#\/definitions\/oAuth2Okta" - }, - { - "$ref": "#\/definitions\/oAuth2Kick" - }, - { - "$ref": "#\/definitions\/oAuth2Microsoft" - } - ], - "x-discriminator": { - "propertyName": "$id", - "mapping": { - "github": "#\/definitions\/oAuth2Github", - "discord": "#\/definitions\/oAuth2Discord", - "figma": "#\/definitions\/oAuth2Figma", - "dropbox": "#\/definitions\/oAuth2Dropbox", - "dailymotion": "#\/definitions\/oAuth2Dailymotion", - "bitbucket": "#\/definitions\/oAuth2Bitbucket", - "bitly": "#\/definitions\/oAuth2Bitly", - "box": "#\/definitions\/oAuth2Box", - "autodesk": "#\/definitions\/oAuth2Autodesk", - "google": "#\/definitions\/oAuth2Google", - "zoom": "#\/definitions\/oAuth2Zoom", - "zoho": "#\/definitions\/oAuth2Zoho", - "yandex": "#\/definitions\/oAuth2Yandex", - "x": "#\/definitions\/oAuth2X", - "wordpress": "#\/definitions\/oAuth2WordPress", - "twitch": "#\/definitions\/oAuth2Twitch", - "stripe": "#\/definitions\/oAuth2Stripe", - "spotify": "#\/definitions\/oAuth2Spotify", - "slack": "#\/definitions\/oAuth2Slack", - "podio": "#\/definitions\/oAuth2Podio", - "notion": "#\/definitions\/oAuth2Notion", - "salesforce": "#\/definitions\/oAuth2Salesforce", - "yahoo": "#\/definitions\/oAuth2Yahoo", - "linkedin": "#\/definitions\/oAuth2Linkedin", - "disqus": "#\/definitions\/oAuth2Disqus", - "amazon": "#\/definitions\/oAuth2Amazon", - "etsy": "#\/definitions\/oAuth2Etsy", - "facebook": "#\/definitions\/oAuth2Facebook", - "tradeshift": "#\/definitions\/oAuth2Tradeshift", - "tradeshiftBox": "#\/definitions\/oAuth2Tradeshift", - "paypal": "#\/definitions\/oAuth2Paypal", - "paypalSandbox": "#\/definitions\/oAuth2Paypal", - "gitlab": "#\/definitions\/oAuth2Gitlab", - "authentik": "#\/definitions\/oAuth2Authentik", - "auth0": "#\/definitions\/oAuth2Auth0", - "fusionauth": "#\/definitions\/oAuth2FusionAuth", - "keycloak": "#\/definitions\/oAuth2Keycloak", - "oidc": "#\/definitions\/oAuth2Oidc", - "apple": "#\/definitions\/oAuth2Apple", - "okta": "#\/definitions\/oAuth2Okta", - "kick": "#\/definitions\/oAuth2Kick", - "microsoft": "#\/definitions\/oAuth2Microsoft" - } - } + "$ref": "#\/definitions\/presenceList" } } }, "deprecated": false, "x-appwrite": { - "method": "getOAuth2Provider", - "group": "oauth2", - "weight": 1147, + "method": "list", + "group": "presences", + "weight": 419, "cookies": false, "type": "", - "demo": "project\/get-o-auth-2-provider.md", + "demo": "presences\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "oauth2.read", + "scope": "presences.read", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", "auth": { "Project": [] } @@ -47476,183 +45612,153 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "providerId", - "description": "OAuth2 provider key. For example: github, google, apple.", - "required": true, - "type": "string", - "x-example": "amazon", - "enum": [ - "amazon", - "apple", - "auth0", - "authentik", - "autodesk", - "bitbucket", - "bitly", - "box", - "dailymotion", - "discord", - "disqus", - "dropbox", - "etsy", - "facebook", - "figma", - "fusionauth", - "github", - "gitlab", - "google", - "keycloak", - "kick", - "linkedin", - "microsoft", - "notion", - "oidc", - "okta", - "paypal", - "paypalSandbox", - "podio", - "salesforce", - "slack", - "spotify", - "stripe", - "tradeshift", - "tradeshiftBox", - "twitch", - "wordpress", - "x", - "yahoo", - "yammer", - "yandex", - "zoho", - "zoom", - "githubImagine", - "googleImagine" - ], - "x-enum-name": "OAuthProvider", - "x-enum-keys": [], - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] } }, - "\/project\/platforms": { + "\/presences\/usage": { "get": { - "summary": "List project platforms", - "operationId": "projectListPlatforms", + "summary": "Get presence usage", + "operationId": "presencesGetUsage", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "presences" ], - "description": "Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.", + "description": "Get presence usage metrics, including the current total of online users and historical online user counts for the selected time range.\n", "responses": { "200": { - "description": "Platforms List", + "description": "UsagePresence", "schema": { - "$ref": "#\/definitions\/platformList" + "$ref": "#\/definitions\/usagePresence" } } }, "deprecated": false, "x-appwrite": { - "method": "listPlatforms", - "group": "platforms", - "weight": 1128, + "method": "getUsage", + "group": null, + "weight": 417, "cookies": false, "type": "", - "demo": "project\/list-platforms.md", + "demo": "presences\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.read", + "scope": "presences.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, name, hostname, bundleIdentifier, applicationId, packageIdentifierName, packageName", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "range", + "description": "Date range.", "required": false, - "type": "boolean", - "x-example": false, - "default": true, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [], + "default": "30d", "in": "query" } ] } }, - "\/project\/platforms\/android": { - "post": { - "summary": "Create project Android platform", - "operationId": "projectCreateAndroidPlatform", - "consumes": [ - "application\/json" - ], + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "project" + "presences" ], - "description": "Create a new Android platform for your project. Use this endpoint to register a new Android platform where your users will run your application which will interact with the Appwrite API.", + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", "responses": { - "201": { - "description": "Platform Android", + "200": { + "description": "Presence", "schema": { - "$ref": "#\/definitions\/platformAndroid" + "$ref": "#\/definitions\/presence" } } }, "deprecated": false, "x-appwrite": { - "method": "createAndroidPlatform", - "group": "platforms", - "weight": 1124, + "method": "get", + "group": "presences", + "weight": 418, "cookies": false, "type": "", - "demo": "project\/create-android-platform.md", + "demo": "presences\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "presences.read", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", "auth": { "Project": [] } @@ -47660,49 +45766,25 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "applicationId": { - "type": "string", - "description": "Android application ID. Max length: 256 chars.", - "default": null, - "x-example": "<APPLICATION_ID>" - } - }, - "required": [ - "platformId", - "name", - "applicationId" - ] - } + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" } ] - } - }, - "\/project\/platforms\/android\/{platformId}": { + }, "put": { - "summary": "Update project Android platform", - "operationId": "projectUpdateAndroidPlatform", + "summary": "Upsert presence", + "operationId": "presencesUpsert", "consumes": [ "application\/json" ], @@ -47710,35 +45792,67 @@ "application\/json" ], "tags": [ - "project" + "presences" ], - "description": "Update an Android platform by its unique ID. Use this endpoint to update the platform's name or application ID.", + "description": "Create or update a presence log by its user ID.\n", "responses": { "200": { - "description": "Platform Android", + "description": "Presence", "schema": { - "$ref": "#\/definitions\/platformAndroid" + "$ref": "#\/definitions\/presence" } } }, "deprecated": false, "x-appwrite": { - "method": "updateAndroidPlatform", - "group": "platforms", - "weight": 1119, + "method": "upsert", + "group": "presences", + "weight": 416, "cookies": false, "type": "", - "demo": "project\/update-android-platform.md", + "demo": "presences\/upsert.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "presences.write", "platforms": [ - "console", - "server" + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "userId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], "auth": { "Project": [] } @@ -47746,16 +45860,16 @@ "security": [ { "Project": [], - "Key": [] + "Session": [] } ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "presenceId", + "description": "Presence unique ID.", "required": true, "type": "string", - "x-example": "<PLATFORM_ID>", + "x-example": "<PRESENCE_ID>", "in": "path" }, { @@ -47764,32 +45878,47 @@ "schema": { "type": "object", "properties": { - "name": { + "userId": { "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "User ID.", + "x-example": "<USER_ID>" }, - "applicationId": { + "status": { "type": "string", - "description": "Android application ID. Max length: 256 chars.", - "default": null, - "x-example": "<APPLICATION_ID>" + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": [] } }, "required": [ - "name", - "applicationId" + "status" ] } } ] - } - }, - "\/project\/platforms\/apple": { - "post": { - "summary": "Create project Apple platform", - "operationId": "projectCreateApplePlatform", + }, + "patch": { + "summary": "Update presence", + "operationId": "presencesUpdate", "consumes": [ "application\/json" ], @@ -47797,35 +45926,67 @@ "application\/json" ], "tags": [ - "project" + "presences" ], - "description": "Create a new Apple platform for your project. Use this endpoint to register a new Apple platform where your users will run your application which will interact with the Appwrite API.", + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", "responses": { - "201": { - "description": "Platform Apple", + "200": { + "description": "Presence", "schema": { - "$ref": "#\/definitions\/platformApple" + "$ref": "#\/definitions\/presence" } } }, "deprecated": false, "x-appwrite": { - "method": "createApplePlatform", - "group": "platforms", - "weight": 1123, + "method": "update", + "group": "presences", + "weight": 420, "cookies": false, "type": "", - "demo": "project\/create-apple-platform.md", + "demo": "presences\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "presences.write", "platforms": [ - "console", - "server" + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "updatePresence", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId", + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update-presence.md", + "public": true + } + ], "auth": { "Project": [] } @@ -47833,85 +45994,101 @@ "security": [ { "Project": [], - "Key": [] + "Session": [] } ], "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "platformId": { + "userId": { "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PLATFORM_ID>" + "description": "User ID.", + "x-example": "<USER_ID>" }, - "name": { + "status": { "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Presence status.", + "x-example": "<STATUS>" }, - "bundleIdentifier": { + "expiresAt": { "type": "string", - "description": "Apple bundle identifier. Max length: 256 chars.", - "default": null, - "x-example": "<BUNDLE_IDENTIFIER>" + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": {} + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { + "type": "boolean", + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false, + "default": false } - }, - "required": [ - "platformId", - "name", - "bundleIdentifier" - ] + } } } ] - } - }, - "\/project\/platforms\/apple\/{platformId}": { - "put": { - "summary": "Update project Apple platform", - "operationId": "projectUpdateApplePlatform", + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "project" + "presences" ], - "description": "Update an Apple platform by its unique ID. Use this endpoint to update the platform's name or bundle identifier.", + "description": "Delete a presence log by its unique ID.\n", "responses": { - "200": { - "description": "Platform Apple", - "schema": { - "$ref": "#\/definitions\/platformApple" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateApplePlatform", - "group": "platforms", - "weight": 1118, + "method": "delete", + "group": "presences", + "weight": 421, "cookies": false, "type": "", - "demo": "project\/update-apple-platform.md", + "demo": "presences\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "presences.write", "platforms": [ "console", - "server" + "server", + "client" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", "auth": { "Project": [] } @@ -47919,80 +46096,53 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "presenceId", + "description": "Presence unique ID.", "required": true, "type": "string", - "x-example": "<PLATFORM_ID>", + "x-example": "<PRESENCE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "bundleIdentifier": { - "type": "string", - "description": "Apple bundle identifier. Max length: 256 chars.", - "default": null, - "x-example": "<BUNDLE_IDENTIFIER>" - } - }, - "required": [ - "name", - "bundleIdentifier" - ] - } } ] } }, - "\/project\/platforms\/linux": { - "post": { - "summary": "Create project Linux platform", - "operationId": "projectCreateLinuxPlatform", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], + "\/project": { + "get": { + "summary": "Get project", + "operationId": "projectGet", + "consumes": [], + "produces": [], "tags": [ "project" ], - "description": "Create a new Linux platform for your project. Use this endpoint to register a new Linux platform where your users will run your application which will interact with the Appwrite API.", + "description": "Get a project.", "responses": { - "201": { - "description": "Platform Linux", + "200": { + "description": "Project", "schema": { - "$ref": "#\/definitions\/platformLinux" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "createLinuxPlatform", - "group": "platforms", - "weight": 1126, + "method": "get", + "group": null, + "weight": 1161, "cookies": false, "type": "", - "demo": "project\/create-linux-platform.md", + "demo": "project\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "project.read", "platforms": [ "console", "server" @@ -48008,77 +46158,36 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "packageName": { - "type": "string", - "description": "Linux package name. Max length: 256 chars.", - "default": null, - "x-example": "<PACKAGE_NAME>" - } - }, - "required": [ - "platformId", - "name", - "packageName" - ] - } - } ] - } - }, - "\/project\/platforms\/linux\/{platformId}": { - "put": { - "summary": "Update project Linux platform", - "operationId": "projectUpdateLinuxPlatform", + }, + "delete": { + "summary": "Delete project", + "operationId": "projectDelete", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ "project" ], - "description": "Update a Linux platform by its unique ID. Use this endpoint to update the platform's name or package name.", + "description": "Delete a project.", "responses": { - "200": { - "description": "Platform Linux", - "schema": { - "$ref": "#\/definitions\/platformLinux" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateLinuxPlatform", - "group": "platforms", - "weight": 1121, + "method": "delete", + "group": null, + "weight": 1160, "cookies": false, "type": "", - "demo": "project\/update-linux-platform.md", + "demo": "project\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -48094,48 +46203,13 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "type": "string", - "x-example": "<PLATFORM_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "packageName": { - "type": "string", - "description": "Linux package name. Max length: 256 chars.", - "default": null, - "x-example": "<PACKAGE_NAME>" - } - }, - "required": [ - "name", - "packageName" - ] - } - } ] } }, - "\/project\/platforms\/web": { - "post": { - "summary": "Create project web platform", - "operationId": "projectCreateWebPlatform", + "\/project\/auth-methods\/{methodId}": { + "patch": { + "summary": "Update project auth method status", + "operationId": "projectUpdateAuthMethod", "consumes": [ "application\/json" ], @@ -48145,27 +46219,27 @@ "tags": [ "project" ], - "description": "Create a new web platform for your project. Use this endpoint to register a new platform where your users will run your application which will interact with the Appwrite API.", + "description": "Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project. ", "responses": { - "201": { - "description": "Platform Web", + "200": { + "description": "Project", "schema": { - "$ref": "#\/definitions\/platformWeb" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "createWebPlatform", - "group": "platforms", - "weight": 1122, + "method": "updateAuthMethod", + "group": null, + "weight": 1210, "cookies": false, "type": "", - "demo": "project\/create-web-platform.md", + "demo": "project\/update-auth-method.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -48183,75 +46257,77 @@ } ], "parameters": [ + { + "name": "methodId", + "description": "Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone", + "required": true, + "type": "string", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId", + "x-enum-keys": [], + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "platformId": { - "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PLATFORM_ID>" - }, - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "hostname": { - "type": "string", - "description": "Platform web hostname. Max length: 256 chars.", - "default": null, - "x-example": "app.example.com" + "enabled": { + "type": "boolean", + "description": "Auth method status.", + "x-example": false } }, "required": [ - "platformId", - "name", - "hostname" + "enabled" ] } } ] } }, - "\/project\/platforms\/web\/{platformId}": { - "put": { - "summary": "Update project web platform", - "operationId": "projectUpdateWebPlatform", - "consumes": [ - "application\/json" - ], + "\/project\/keys": { + "get": { + "summary": "List project keys", + "operationId": "projectListKeys", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Update a web platform by its unique ID. Use this endpoint to update the platform's name or hostname.", + "description": "Get a list of all API keys from the current project.", "responses": { "200": { - "description": "Platform Web", + "description": "API Keys List", "schema": { - "$ref": "#\/definitions\/platformWeb" + "$ref": "#\/definitions\/keyList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateWebPlatform", - "group": "platforms", - "weight": 1117, + "method": "listKeys", + "group": "keys", + "weight": 1177, "cookies": false, "type": "", - "demo": "project\/update-web-platform.md", + "demo": "project\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.read", "platforms": [ "console", "server" @@ -48270,45 +46346,31 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "type": "string", - "x-example": "<PLATFORM_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire, accessedAt, name, scopes", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "hostname": { - "type": "string", - "description": "Platform web hostname. Max length: 256 chars.", - "default": null, - "x-example": "app.example.com" - } - }, - "required": [ - "name", - "hostname" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/project\/platforms\/windows": { + }, "post": { - "summary": "Create project Windows platform", - "operationId": "projectCreateWindowsPlatform", + "summary": "Create project key", + "operationId": "projectCreateKey", "consumes": [ "application\/json" ], @@ -48318,27 +46380,27 @@ "tags": [ "project" ], - "description": "Create a new Windows platform for your project. Use this endpoint to register a new Windows platform where your users will run your application which will interact with the Appwrite API.", + "description": "Create a new API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create an ephemeral API key if you need a short-lived key instead.", "responses": { "201": { - "description": "Platform Windows", + "description": "Key", "schema": { - "$ref": "#\/definitions\/platformWindows" + "$ref": "#\/definitions\/key" } } }, "deprecated": false, "x-appwrite": { - "method": "createWindowsPlatform", - "group": "platforms", - "weight": 1125, + "method": "createKey", + "group": "keys", + "weight": 1175, "cookies": false, "type": "", - "demo": "project\/create-windows-platform.md", + "demo": "project\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -48362,39 +46424,144 @@ "schema": { "type": "object", "properties": { - "platformId": { + "keyId": { "type": "string", - "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<PLATFORM_ID>" + "description": "Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<KEY_ID>" }, "name": { "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, + "description": "Key name. Max length: 128 chars.", "x-example": "<NAME>" }, - "packageIdentifierName": { + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] + } + }, + "expire": { "type": "string", - "description": "Windows package identifier name. Max length: 256 chars.", - "default": null, - "x-example": "<PACKAGE_IDENTIFIER_NAME>" + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } }, "required": [ - "platformId", + "keyId", "name", - "packageIdentifierName" + "scopes" ] } } ] } }, - "\/project\/platforms\/windows\/{platformId}": { - "put": { - "summary": "Update project Windows platform", - "operationId": "projectUpdateWindowsPlatform", + "\/project\/keys\/ephemeral": { + "post": { + "summary": "Create ephemeral project key", + "operationId": "projectCreateEphemeralKey", "consumes": [ "application\/json" ], @@ -48404,27 +46571,27 @@ "tags": [ "project" ], - "description": "Update a Windows platform by its unique ID. Use this endpoint to update the platform's name or package identifier name.", + "description": "Create a new ephemeral API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.\n\nYou can also create a standard API key if you need a longer-lived key instead.", "responses": { - "200": { - "description": "Platform Windows", + "201": { + "description": "Ephemeral Key", "schema": { - "$ref": "#\/definitions\/platformWindows" + "$ref": "#\/definitions\/ephemeralKey" } } }, "deprecated": false, "x-appwrite": { - "method": "updateWindowsPlatform", - "group": "platforms", - "weight": 1120, + "method": "createEphemeralKey", + "group": "keys", + "weight": 1176, "cookies": false, "type": "", - "demo": "project\/update-windows-platform.md", + "demo": "project\/create-ephemeral-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -48442,100 +46609,166 @@ } ], "parameters": [ - { - "name": "platformId", - "description": "Platform ID.", - "required": true, - "type": "string", - "x-example": "<PLATFORM_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Platform name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "packageIdentifierName": { - "type": "string", - "description": "Windows package identifier name. Max length: 256 chars.", - "default": null, - "x-example": "<PACKAGE_IDENTIFIER_NAME>" - } - }, - "required": [ - "name", - "packageIdentifierName" - ] - } - } - ] - } - }, - "\/project\/platforms\/{platformId}": { - "get": { - "summary": "Get project platform", - "operationId": "projectGetPlatform", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "project" - ], - "description": "Get a platform by its unique ID. This endpoint returns the platform's details, including its name, type, and key configurations.", - "responses": { - "200": { - "description": "Platform Web, or Platform Apple, or Platform Android, or Platform Windows, or Platform Linux", - "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/platformWeb" - }, - { - "$ref": "#\/definitions\/platformApple" - }, - { - "$ref": "#\/definitions\/platformAndroid" - }, - { - "$ref": "#\/definitions\/platformWindows" - }, - { - "$ref": "#\/definitions\/platformLinux" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/definitions\/platformWeb", - "apple": "#\/definitions\/platformApple", - "android": "#\/definitions\/platformAndroid", - "windows": "#\/definitions\/platformWindows", - "linux": "#\/definitions\/platformLinux" + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] + } + }, + "duration": { + "type": "integer", + "description": "Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.", + "x-example": "600", + "format": "int32" } - } + }, + "required": [ + "scopes", + "duration" + ] + } + } + ] + } + }, + "\/project\/keys\/{keyId}": { + "get": { + "summary": "Get project key", + "operationId": "projectGetKey", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "project" + ], + "description": "Get a key by its unique ID. ", + "responses": { + "200": { + "description": "Key", + "schema": { + "$ref": "#\/definitions\/key" } } }, "deprecated": false, "x-appwrite": { - "method": "getPlatform", - "group": "platforms", - "weight": 1127, + "method": "getKey", + "group": "keys", + "weight": 1178, "cookies": false, "type": "", - "demo": "project\/get-platform.md", + "demo": "project\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.read", + "scope": "keys.read", "platforms": [ "console", "server" @@ -48554,43 +46787,48 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "keyId", + "description": "Key ID.", "required": true, "type": "string", - "x-example": "<PLATFORM_ID>", + "x-example": "<KEY_ID>", "in": "path" } ] }, - "delete": { - "summary": "Delete project platform", - "operationId": "projectDeletePlatform", + "put": { + "summary": "Update project key", + "operationId": "projectUpdateKey", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ "project" ], - "description": "Delete a platform by its unique ID. This endpoint removes the platform and all its configurations from the project.", + "description": "Update a key by its unique ID. Use this endpoint to update the name, scopes, or expiration time of an API key.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Key", + "schema": { + "$ref": "#\/definitions\/key" + } } }, "deprecated": false, "x-appwrite": { - "method": "deletePlatform", - "group": "platforms", - "weight": 1116, + "method": "updateKey", + "group": "keys", + "weight": 1180, "cookies": false, "type": "", - "demo": "project\/delete-platform.md", + "demo": "project\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "platforms.write", + "scope": "keys.write", "platforms": [ "console", "server" @@ -48609,51 +46847,174 @@ ], "parameters": [ { - "name": "platformId", - "description": "Platform ID.", + "name": "keyId", + "description": "Key ID.", "required": true, "type": "string", - "x-example": "<PLATFORM_ID>", + "x-example": "<KEY_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "scopes": { + "type": "array", + "description": "Key scopes list. Maximum of 100 scopes are allowed.", + "x-example": null, + "items": { + "type": "string", + "enum": [ + "project.read", + "project.write", + "keys.read", + "keys.write", + "platforms.read", + "platforms.write", + "mocks.read", + "mocks.write", + "policies.read", + "policies.write", + "project.policies.read", + "project.policies.write", + "templates.read", + "templates.write", + "oauth2.read", + "oauth2.write", + "users.read", + "users.write", + "sessions.read", + "sessions.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "tables.read", + "tables.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "rows.read", + "rows.write", + "collections.read", + "collections.write", + "attributes.read", + "attributes.write", + "documents.read", + "documents.write", + "buckets.read", + "buckets.write", + "files.read", + "files.write", + "tokens.read", + "tokens.write", + "functions.read", + "functions.write", + "executions.read", + "executions.write", + "execution.read", + "execution.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "providers.read", + "providers.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "messages.read", + "messages.write", + "rules.read", + "rules.write", + "webhooks.read", + "webhooks.write", + "locale.read", + "avatars.read", + "health.read", + "assistant.read", + "migrations.read", + "migrations.write", + "schedules.read", + "schedules.write", + "vcs.read", + "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", + "backups.policies.read", + "backups.policies.write", + "archives.read", + "archives.write", + "restorations.read", + "restorations.write", + "domains.read", + "domains.write", + "events.read", + "usage.read" + ], + "x-enum-name": "ProjectKeyScopes", + "x-enum-keys": [] + } + }, + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + } + }, + "required": [ + "name", + "scopes" + ] + } } ] - } - }, - "\/project\/policies": { - "get": { - "summary": "List project policies", - "operationId": "projectListPolicies", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete project key", + "operationId": "projectDeleteKey", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ "project" ], - "description": "Get a list of all project policies and their current configuration.", + "description": "Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.", "responses": { - "200": { - "description": "Policies List", - "schema": { - "$ref": "#\/definitions\/policyList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "listPolicies", - "group": "policies", - "weight": 1134, + "method": "deleteKey", + "group": "keys", + "weight": 1179, "cookies": false, "type": "", - "demo": "project\/list-policies.md", + "demo": "project\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.read", - "project.policies.read" - ], + "scope": "keys.write", "platforms": [ "console", "server" @@ -48672,33 +47033,20 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "keyId", + "description": "Key ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", + "in": "path" } ] } }, - "\/project\/policies\/deny-canonical-email": { - "patch": { - "summary": "Update deny canonical email policy", - "operationId": "projectUpdateDenyCanonicalEmailPolicy", + "\/project\/labels": { + "put": { + "summary": "Update project labels", + "operationId": "projectUpdateLabels", "consumes": [ "application\/json" ], @@ -48708,7 +47056,7 @@ "tags": [ "project" ], - "description": "Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", + "description": "Update the project labels. Labels can be used to easily filter projects in an organization.", "responses": { "200": { "description": "Project", @@ -48719,19 +47067,16 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyCanonicalEmailPolicy", - "group": "policies", - "weight": 1190, + "method": "updateLabels", + "group": null, + "weight": 1162, "cookies": false, "type": "", - "demo": "project\/update-deny-canonical-email-policy.md", + "demo": "project\/update-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "project.write", "platforms": [ "console", "server" @@ -48755,58 +47100,55 @@ "schema": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Set whether or not to block email aliases during signup and email updates.", - "default": null, - "x-example": false + "labels": { + "type": "array", + "description": "Array of project labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", + "x-example": null, + "items": { + "type": "string" + } } }, "required": [ - "enabled" + "labels" ] } } ] } }, - "\/project\/policies\/deny-disposable-email": { - "patch": { - "summary": "Update deny disposable email policy", - "operationId": "projectUpdateDenyDisposableEmailPolicy", - "consumes": [ - "application\/json" - ], + "\/project\/mock-phones": { + "get": { + "summary": "List project mock phones", + "operationId": "projectListMockPhones", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Configures if disposable emails from known temporary domains are denied during new users sign-ups and email updates.", + "description": "Get a list of all mock phones in the project. This endpoint returns an array of all mock phones and their OTPs.", "responses": { "200": { - "description": "Project", + "description": "Mock Numbers List", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/mockNumberList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDenyDisposableEmailPolicy", - "group": "policies", - "weight": 1191, + "method": "listMockPhones", + "group": "mocks", + "weight": 1195, "cookies": false, "type": "", - "demo": "project\/update-deny-disposable-email-policy.md", + "demo": "project\/list-mock-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "mocks.read", "platforms": [ "console", "server" @@ -48825,30 +47167,31 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Set whether or not to block disposable email addresses during signup and email updates.", - "default": null, - "x-example": false - } - }, - "required": [ - "enabled" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/project\/policies\/deny-free-email": { - "patch": { - "summary": "Update deny free email policy", - "operationId": "projectUpdateDenyFreeEmailPolicy", + }, + "post": { + "summary": "Create project mock phone", + "operationId": "projectCreateMockPhone", "consumes": [ "application\/json" ], @@ -48858,30 +47201,27 @@ "tags": [ "project" ], - "description": "Configures if emails from free providers such as Gmail or Yahoo are denied during new users sign-ups and email updates.", + "description": "Create a new mock phone for your project. Use this endpoint to register a mock phone number and its sign-in OTP for your testers.", "responses": { - "200": { - "description": "Project", + "201": { + "description": "Mock Number", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/mockNumber" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDenyFreeEmailPolicy", - "group": "policies", - "weight": 1192, + "method": "createMockPhone", + "group": "mocks", + "weight": 1194, "cookies": false, "type": "", - "demo": "project\/update-deny-free-email-policy.md", + "demo": "project\/create-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "mocks.write", "platforms": [ "console", "server" @@ -48905,58 +47245,59 @@ "schema": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Set whether or not to block free email addresses during signup and email updates.", - "default": null, - "x-example": false + "number": { + "type": "string", + "description": "Phone number to associate with the mock phone. Must be a valid E.164 formatted phone number.", + "x-example": "+12065550100", + "format": "phone" + }, + "otp": { + "type": "string", + "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", + "x-example": "<OTP>" } }, "required": [ - "enabled" + "number", + "otp" ] } } ] } }, - "\/project\/policies\/membership-privacy": { - "patch": { - "summary": "Update membership privacy policy", - "operationId": "projectUpdateMembershipPrivacyPolicy", - "consumes": [ - "application\/json" - ], + "\/project\/mock-phones\/{number}": { + "get": { + "summary": "Get project mock phone", + "operationId": "projectGetMockPhone", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..", + "description": "Get a mock phone by its unique number. This endpoint returns the mock phone's OTP.", "responses": { "200": { - "description": "Project", + "description": "Mock Number", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/mockNumber" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMembershipPrivacyPolicy", - "group": "policies", - "weight": 1136, + "method": "getMockPhone", + "group": "mocks", + "weight": 1196, "cookies": false, "type": "", - "demo": "project\/update-membership-privacy-policy.md", + "demo": "project\/get-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "mocks.read", "platforms": [ "console", "server" @@ -48975,51 +47316,19 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "userId": { - "type": "boolean", - "description": "Set to true if you want make user ID visible to all team members, or false to hide it.", - "default": null, - "x-example": false - }, - "userEmail": { - "type": "boolean", - "description": "Set to true if you want make user email visible to all team members, or false to hide it.", - "default": null, - "x-example": false - }, - "userPhone": { - "type": "boolean", - "description": "Set to true if you want make user phone number visible to all team members, or false to hide it.", - "default": null, - "x-example": false - }, - "userName": { - "type": "boolean", - "description": "Set to true if you want make user name visible to all team members, or false to hide it.", - "default": null, - "x-example": false - }, - "userMFA": { - "type": "boolean", - "description": "Set to true if you want make user MFA status visible to all team members, or false to hide it.", - "default": null, - "x-example": false - } - } - } + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "required": true, + "type": "string", + "format": "phone", + "x-example": "+12065550100", + "in": "path" } ] - } - }, - "\/project\/policies\/password-dictionary": { - "patch": { - "summary": "Update password dictionary policy", - "operationId": "projectUpdatePasswordDictionaryPolicy", + }, + "put": { + "summary": "Update project mock phone", + "operationId": "projectUpdateMockPhone", "consumes": [ "application\/json" ], @@ -49029,30 +47338,27 @@ "tags": [ "project" ], - "description": "Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.", + "description": "Update a mock phone by its unique number. Use this endpoint to update the mock phone's OTP.", "responses": { "200": { - "description": "Project", + "description": "Mock Number", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/mockNumber" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordDictionaryPolicy", - "group": "policies", - "weight": 1137, + "method": "updateMockPhone", + "group": "mocks", + "weight": 1197, "cookies": false, "type": "", - "demo": "project\/update-password-dictionary-policy.md", + "demo": "project\/update-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "mocks.write", "platforms": [ "console", "server" @@ -49070,64 +47376,62 @@ } ], "parameters": [ + { + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "required": true, + "type": "string", + "format": "phone", + "x-example": "+12065550100", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.", - "default": null, - "x-example": false + "otp": { + "type": "string", + "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", + "x-example": "<OTP>" } }, "required": [ - "enabled" + "otp" ] } } ] - } - }, - "\/project\/policies\/password-history": { - "patch": { - "summary": "Update password history policy", - "operationId": "projectUpdatePasswordHistoryPolicy", + }, + "delete": { + "summary": "Delete project mock phone", + "operationId": "projectDeleteMockPhone", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ "project" ], - "description": "Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.\n\nKeep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.", + "description": "Delete a mock phone by its unique number. This endpoint removes the mock phone and its OTP configuration from the project.", "responses": { - "200": { - "description": "Project", - "schema": { - "$ref": "#\/definitions\/project" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordHistoryPolicy", - "group": "policies", - "weight": 1138, + "method": "deleteMockPhone", + "group": "mocks", + "weight": 1198, "cookies": false, "type": "", - "demo": "project\/update-password-history-policy.md", + "demo": "project\/delete-mock-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "mocks.write", "platforms": [ "console", "server" @@ -49146,65 +47450,49 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "description": "Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - } - }, - "required": [ - "total" - ] - } + "name": "number", + "description": "Phone number associated with the mock phone. Must be a valid E.164 formatted phone number.", + "required": true, + "type": "string", + "format": "phone", + "x-example": "+12065550100", + "in": "path" } ] } }, - "\/project\/policies\/password-personal-data": { - "patch": { - "summary": "Update password personal data policy", - "operationId": "projectUpdatePasswordPersonalDataPolicy", - "consumes": [ - "application\/json" - ], + "\/project\/oauth2": { + "get": { + "summary": "List project OAuth2 providers", + "operationId": "projectListOAuth2Providers", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.", + "description": "Get a list of all OAuth2 providers supported by the server, along with the project's configuration for each. Credential fields are write-only and always returned empty.", "responses": { "200": { - "description": "Project", + "description": "OAuth2 Providers List", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2ProviderList" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePasswordPersonalDataPolicy", - "group": "policies", - "weight": 1139, + "method": "listOAuth2Providers", + "group": "oauth2", + "weight": 1211, "cookies": false, "type": "", - "demo": "project\/update-password-personal-data-policy.md", + "demo": "project\/list-o-auth-2-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.read", "platforms": [ "console", "server" @@ -49223,30 +47511,33 @@ ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.", - "default": null, - "x-example": false - } - }, - "required": [ - "enabled" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/project\/policies\/session-alert": { + "\/project\/oauth2\/amazon": { "patch": { - "summary": "Update session alert policy", - "operationId": "projectUpdateSessionAlertPolicy", + "summary": "Update project OAuth2 Amazon", + "operationId": "projectUpdateOAuth2Amazon", "consumes": [ "application\/json" ], @@ -49256,30 +47547,27 @@ "tags": [ "project" ], - "description": "Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.", + "description": "Update the project OAuth2 Amazon configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Amazon", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Amazon" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSessionAlertPolicy", - "group": "policies", - "weight": 1140, + "method": "updateOAuth2Amazon", + "group": "oauth2", + "weight": 1238, "cookies": false, "type": "", - "demo": "project\/update-session-alert-policy.md", + "demo": "project\/update-o-auth-2-amazon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49303,25 +47591,34 @@ "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.", - "default": null, - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } ] } }, - "\/project\/policies\/session-duration": { + "\/project\/oauth2\/apple": { "patch": { - "summary": "Update session duration policy", - "operationId": "projectUpdateSessionDurationPolicy", + "summary": "Update project OAuth2 Apple", + "operationId": "projectUpdateOAuth2Apple", "consumes": [ "application\/json" ], @@ -49331,30 +47628,27 @@ "tags": [ "project" ], - "description": "Update maximum duration how long sessions created within a project should stay active for.", + "description": "Update the project OAuth2 Apple configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Apple", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Apple" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSessionDurationPolicy", - "group": "policies", - "weight": 1141, + "method": "updateOAuth2Apple", + "group": "oauth2", + "weight": 1253, "cookies": false, "type": "", - "demo": "project\/update-session-duration-policy.md", + "demo": "project\/update-o-auth-2-apple.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49378,26 +47672,46 @@ "schema": { "type": "object", "properties": { - "duration": { - "type": "integer", - "description": "Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.", - "default": null, - "x-example": 5, - "format": "int32" + "serviceId": { + "type": "string", + "description": "'Service ID' of Apple OAuth2 app. For example: ip.appwrite.app.web", + "x-example": "<SERVICE_ID>", + "x-nullable": true + }, + "keyId": { + "type": "string", + "description": "'Key ID' of Apple OAuth2 app. For example: P4000000N8", + "x-example": "<KEY_ID>", + "x-nullable": true + }, + "teamId": { + "type": "string", + "description": "'Team ID' of Apple OAuth2 app. For example: D4000000R6", + "x-example": "<TEAM_ID>", + "x-nullable": true + }, + "p8File": { + "type": "string", + "description": "Contents of the Apple OAuth2 app .p8 private key file. The secret key wrapped by the PEM markers is 200 characters long. For example: -----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----", + "x-example": "<P8_FILE>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "duration" - ] + } } } ] } }, - "\/project\/policies\/session-invalidation": { + "\/project\/oauth2\/auth0": { "patch": { - "summary": "Update session invalidation policy", - "operationId": "projectUpdateSessionInvalidationPolicy", + "summary": "Update project OAuth2 Auth0", + "operationId": "projectUpdateOAuth2Auth0", "consumes": [ "application\/json" ], @@ -49407,30 +47721,27 @@ "tags": [ "project" ], - "description": "Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.", + "description": "Update the project OAuth2 Auth0 configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Auth0", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Auth0" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSessionInvalidationPolicy", - "group": "policies", - "weight": 1142, + "method": "updateOAuth2Auth0", + "group": "oauth2", + "weight": 1247, "cookies": false, "type": "", - "demo": "project\/update-session-invalidation-policy.md", + "demo": "project\/update-o-auth-2-auth-0.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49454,25 +47765,40 @@ "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of Auth0 instance. For example: example.us.auth0.com", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.", - "default": null, - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } ] } }, - "\/project\/policies\/session-limit": { + "\/project\/oauth2\/authentik": { "patch": { - "summary": "Update session limit policy", - "operationId": "projectUpdateSessionLimitPolicy", + "summary": "Update project OAuth2 Authentik", + "operationId": "projectUpdateOAuth2Authentik", "consumes": [ "application\/json" ], @@ -49482,30 +47808,27 @@ "tags": [ "project" ], - "description": "Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.", + "description": "Update the project OAuth2 Authentik configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Authentik", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Authentik" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSessionLimitPolicy", - "group": "policies", - "weight": 1143, + "method": "updateOAuth2Authentik", + "group": "oauth2", + "weight": 1246, "cookies": false, "type": "", - "demo": "project\/update-session-limit-policy.md", + "demo": "project\/update-o-auth-2-authentik.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49529,27 +47852,40 @@ "schema": { "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, - "x-example": 1, - "format": "int32", + "clientId": { + "type": "string", + "description": "'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of Authentik instance. For example: example.authentik.com", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "total" - ] + } } } ] } }, - "\/project\/policies\/user-limit": { + "\/project\/oauth2\/autodesk": { "patch": { - "summary": "Update user limit policy", - "operationId": "projectUpdateUserLimitPolicy", + "summary": "Update project OAuth2 Autodesk", + "operationId": "projectUpdateOAuth2Autodesk", "consumes": [ "application\/json" ], @@ -49559,30 +47895,27 @@ "tags": [ "project" ], - "description": "Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.", + "description": "Update the project OAuth2 Autodesk configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Autodesk", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Autodesk" } } }, "deprecated": false, "x-appwrite": { - "method": "updateUserLimitPolicy", - "group": "policies", - "weight": 1144, + "method": "updateOAuth2Autodesk", + "group": "oauth2", + "weight": 1221, "cookies": false, "type": "", - "demo": "project\/update-user-limit-policy.md", + "demo": "project\/update-o-auth-2-autodesk.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.write", - "project.policies.write" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49606,100 +47939,64 @@ "schema": { "type": "object", "properties": { - "total": { - "type": "integer", - "description": "Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, - "x-example": 1, - "format": "int32", + "clientId": { + "type": "string", + "description": "'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "total" - ] + } } } ] } }, - "\/project\/policies\/{policyId}": { - "get": { - "summary": "Get project policy", - "operationId": "projectGetPolicy", - "consumes": [], - "produces": [ + "\/project\/oauth2\/bitbucket": { + "patch": { + "summary": "Update project OAuth2 Bitbucket", + "operationId": "projectUpdateOAuth2Bitbucket", + "consumes": [ + "application\/json" + ], + "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", + "description": "Update the project OAuth2 Bitbucket configuration.", "responses": { "200": { - "description": "Policy Password Dictionary, or Policy Password History, 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", + "description": "OAuth2Bitbucket", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/policyPasswordDictionary" - }, - { - "$ref": "#\/definitions\/policyPasswordHistory" - }, - { - "$ref": "#\/definitions\/policyPasswordPersonalData" - }, - { - "$ref": "#\/definitions\/policySessionAlert" - }, - { - "$ref": "#\/definitions\/policySessionDuration" - }, - { - "$ref": "#\/definitions\/policySessionInvalidation" - }, - { - "$ref": "#\/definitions\/policySessionLimit" - }, - { - "$ref": "#\/definitions\/policyUserLimit" - }, - { - "$ref": "#\/definitions\/policyMembershipPrivacy" - } - ], - "x-discriminator": { - "propertyName": "$id", - "mapping": { - "password-dictionary": "#\/definitions\/policyPasswordDictionary", - "password-history": "#\/definitions\/policyPasswordHistory", - "password-personal-data": "#\/definitions\/policyPasswordPersonalData", - "session-alert": "#\/definitions\/policySessionAlert", - "session-duration": "#\/definitions\/policySessionDuration", - "session-invalidation": "#\/definitions\/policySessionInvalidation", - "session-limit": "#\/definitions\/policySessionLimit", - "user-limit": "#\/definitions\/policyUserLimit", - "membership-privacy": "#\/definitions\/policyMembershipPrivacy" - } - } + "$ref": "#\/definitions\/oAuth2Bitbucket" } } }, "deprecated": false, "x-appwrite": { - "method": "getPolicy", - "group": "policies", - "weight": 1135, + "method": "updateOAuth2Bitbucket", + "group": "oauth2", + "weight": 1218, "cookies": false, "type": "", - "demo": "project\/get-policy.md", + "demo": "project\/update-o-auth-2-bitbucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "policies.read", - "project.policies.read" - ], + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49718,33 +48015,39 @@ ], "parameters": [ { - "name": "policyId", - "description": "Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.", - "required": true, - "type": "string", - "x-example": "password-dictionary", - "enum": [ - "password-dictionary", - "password-history", - "password-personal-data", - "session-alert", - "session-duration", - "session-invalidation", - "session-limit", - "user-limit", - "membership-privacy" - ], - "x-enum-name": "ProjectPolicy", - "x-enum-keys": [], - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc", + "x-example": "<KEY>", + "x-nullable": true + }, + "secret": { + "type": "string", + "description": "'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx", + "x-example": "<SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/project\/protocols\/{protocolId}": { + "\/project\/oauth2\/bitly": { "patch": { - "summary": "Update project protocol", - "operationId": "projectUpdateProtocol", + "summary": "Update project OAuth2 Bitly", + "operationId": "projectUpdateOAuth2Bitly", "consumes": [ "application\/json" ], @@ -49754,27 +48057,27 @@ "tags": [ "project" ], - "description": "Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project. ", + "description": "Update the project OAuth2 Bitly configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Bitly", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Bitly" } } }, "deprecated": false, "x-appwrite": { - "method": "updateProtocol", - "group": null, - "weight": 1098, + "method": "updateOAuth2Bitly", + "group": "oauth2", + "weight": 1219, "cookies": false, "type": "", - "demo": "project\/update-protocol.md", + "demo": "project\/update-o-auth-2-bitly.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49792,46 +48095,40 @@ } ], "parameters": [ - { - "name": "protocolId", - "description": "Protocol name. Can be one of: rest, graphql, websocket", - "required": true, - "type": "string", - "x-example": "rest", - "enum": [ - "rest", - "graphql", - "websocket" - ], - "x-enum-name": null, - "x-enum-keys": [], - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Protocol status.", - "default": null, - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } ] } }, - "\/project\/services\/{serviceId}": { + "\/project\/oauth2\/box": { "patch": { - "summary": "Update project service", - "operationId": "projectUpdateService", + "summary": "Update project OAuth2 Box", + "operationId": "projectUpdateOAuth2Box", "consumes": [ "application\/json" ], @@ -49841,27 +48138,27 @@ "tags": [ "project" ], - "description": "Update properties of a specific service. Use this endpoint to enable or disable a service in your project. ", + "description": "Update the project OAuth2 Box configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Box", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Box" } } }, "deprecated": false, "x-appwrite": { - "method": "updateService", - "group": null, - "weight": 1099, + "method": "updateOAuth2Box", + "group": "oauth2", + "weight": 1220, "cookies": false, "type": "", - "demo": "project\/update-service.md", + "demo": "project\/update-o-auth-2-box.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49879,60 +48176,40 @@ } ], "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", - "required": true, - "type": "string", - "x-example": "account", - "enum": [ - "account", - "avatars", - "databases", - "tablesdb", - "locale", - "health", - "project", - "storage", - "teams", - "users", - "vcs", - "sites", - "functions", - "proxy", - "graphql", - "migrations", - "messaging" - ], - "x-enum-name": null, - "x-enum-keys": [], - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, "enabled": { "type": "boolean", - "description": "Service status.", - "default": null, - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "enabled" - ] + } } } ] } }, - "\/project\/smtp": { + "\/project\/oauth2\/dailymotion": { "patch": { - "summary": "Update project SMTP configuration", - "operationId": "projectUpdateSMTP", + "summary": "Update project OAuth2 Dailymotion", + "operationId": "projectUpdateOAuth2Dailymotion", "consumes": [ "application\/json" ], @@ -49942,27 +48219,27 @@ "tags": [ "project" ], - "description": "Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.", + "description": "Update the project OAuth2 Dailymotion configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Dailymotion", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Dailymotion" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSMTP", - "group": "smtp", - "weight": 1100, + "method": "updateOAuth2Dailymotion", + "group": "oauth2", + "weight": 1217, "cookies": false, "type": "", - "demo": "project\/update-smtp.md", + "demo": "project\/update-o-auth-2-dailymotion.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -49986,82 +48263,21 @@ "schema": { "type": "object", "properties": { - "host": { - "type": "string", - "description": "SMTP server hostname (domain)", - "default": null, - "x-example": null, - "x-nullable": true - }, - "port": { - "type": "integer", - "description": "SMTP server port", - "default": null, - "x-example": null, - "format": "int32", - "x-nullable": true - }, - "username": { - "type": "string", - "description": "SMTP server username. Leave empty for no authorization.", - "default": null, - "x-example": "<USERNAME>", - "x-nullable": true - }, - "password": { - "type": "string", - "description": "SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).", - "default": null, - "x-example": "<PASSWORD>", - "x-nullable": true - }, - "senderEmail": { - "type": "string", - "description": "Email address shown in inbox as the sender of the email.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "senderName": { - "type": "string", - "description": "Name shown in inbox as the sender of the email.", - "default": null, - "x-example": "<SENDER_NAME>", - "x-nullable": true - }, - "replyToEmail": { - "type": "string", - "description": "Email used when user replies to the email.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "replyToName": { + "apiKey": { "type": "string", - "description": "Name used when user replies to the email.", - "default": null, - "x-example": "<REPLY_TO_NAME>", + "description": "'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f", + "x-example": "<API_KEY>", "x-nullable": true }, - "secure": { + "apiSecret": { "type": "string", - "description": "Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.", - "default": null, - "x-example": "tls", - "enum": [ - "tls", - "ssl" - ], - "x-enum-name": null, - "x-enum-keys": [], + "description": "'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639", + "x-example": "<API_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", - "description": "Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.", - "default": null, + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", "x-example": false, "x-nullable": true } @@ -50071,35 +48287,40 @@ ] } }, - "\/project\/smtp\/tests": { - "post": { - "summary": "Create project SMTP test", - "operationId": "projectCreateSMTPTest", + "\/project\/oauth2\/discord": { + "patch": { + "summary": "Update project OAuth2 Discord", + "operationId": "projectUpdateOAuth2Discord", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ "project" ], - "description": "Send a test email to verify SMTP configuration. ", + "description": "Update the project OAuth2 Discord configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Discord", + "schema": { + "$ref": "#\/definitions\/oAuth2Discord" + } } }, "deprecated": false, "x-appwrite": { - "method": "createSMTPTest", - "group": "smtp", - "weight": 1101, + "method": "updateOAuth2Discord", + "group": "oauth2", + "weight": 1214, "cookies": false, "type": "", - "demo": "project\/create-smtp-test.md", + "demo": "project\/update-o-auth-2-discord.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50123,56 +48344,64 @@ "schema": { "type": "object", "properties": { - "emails": { - "type": "array", - "description": "Array of emails to send test email to. Maximum of 10 emails are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } + "clientId": { + "type": "string", + "description": "'Client ID' of Discord OAuth2 app. For example: 950722000000343754", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "emails" - ] + } } } ] } }, - "\/project\/templates\/email": { - "get": { - "summary": "List project email templates", - "operationId": "projectListEmailTemplates", - "consumes": [], + "\/project\/oauth2\/disqus": { + "patch": { + "summary": "Update project OAuth2 Disqus", + "operationId": "projectUpdateOAuth2Disqus", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get a list of all custom email templates configured for the project. This endpoint returns an array of all configured email templates and their locales.", + "description": "Update the project OAuth2 Disqus configuration.", "responses": { "200": { - "description": "Email Templates List", + "description": "OAuth2Disqus", "schema": { - "$ref": "#\/definitions\/emailTemplateList" + "$ref": "#\/definitions\/oAuth2Disqus" } } }, "deprecated": false, "x-appwrite": { - "method": "listEmailTemplates", - "group": "templates", - "weight": 1102, + "method": "updateOAuth2Disqus", + "group": "oauth2", + "weight": 1237, "cookies": false, "type": "", - "demo": "project\/list-email-templates.md", + "demo": "project\/update-o-auth-2-disqus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50191,31 +48420,39 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", + "x-example": "<PUBLIC_KEY>", + "x-nullable": true + }, + "secretKey": { + "type": "string", + "description": "'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, + } + }, + "\/project\/oauth2\/dropbox": { "patch": { - "summary": "Update project email template", - "operationId": "projectUpdateEmailTemplate", + "summary": "Update project OAuth2 Dropbox", + "operationId": "projectUpdateOAuth2Dropbox", "consumes": [ "application\/json" ], @@ -50225,27 +48462,27 @@ "tags": [ "project" ], - "description": "Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.", + "description": "Update the project OAuth2 Dropbox configuration.", "responses": { "200": { - "description": "EmailTemplate", + "description": "OAuth2Dropbox", "schema": { - "$ref": "#\/definitions\/emailTemplate" + "$ref": "#\/definitions\/oAuth2Dropbox" } } }, "deprecated": false, "x-appwrite": { - "method": "updateEmailTemplate", - "group": "templates", - "weight": 1104, + "method": "updateOAuth2Dropbox", + "group": "oauth2", + "weight": 1216, "cookies": false, "type": "", - "demo": "project\/update-email-template.md", + "demo": "project\/update-o-auth-2-dropbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50269,249 +48506,64 @@ "schema": { "type": "object", "properties": { - "templateId": { + "appKey": { "type": "string", - "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", - "default": null, - "x-example": "verification", - "enum": [ - "verification", - "magicSession", - "recovery", - "invitation", - "mfaChallenge", - "sessionAlert", - "otpSession" - ], - "x-enum-name": "EmailTemplateType", - "x-enum-keys": [] + "description": "'App Key' of Dropbox OAuth2 app. For example: jl000000000009t", + "x-example": "<APP_KEY>", + "x-nullable": true }, - "locale": { + "appSecret": { "type": "string", - "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", - "default": "", - "x-example": "af", - "enum": [ - "af", - "ar-ae", - "ar-bh", - "ar-dz", - "ar-eg", - "ar-iq", - "ar-jo", - "ar-kw", - "ar-lb", - "ar-ly", - "ar-ma", - "ar-om", - "ar-qa", - "ar-sa", - "ar-sy", - "ar-tn", - "ar-ye", - "as", - "az", - "be", - "bg", - "bh", - "bn", - "bs", - "ca", - "cs", - "cy", - "da", - "de", - "de-at", - "de-ch", - "de-li", - "de-lu", - "el", - "en", - "en-au", - "en-bz", - "en-ca", - "en-gb", - "en-ie", - "en-jm", - "en-nz", - "en-tt", - "en-us", - "en-za", - "eo", - "es", - "es-ar", - "es-bo", - "es-cl", - "es-co", - "es-cr", - "es-do", - "es-ec", - "es-gt", - "es-hn", - "es-mx", - "es-ni", - "es-pa", - "es-pe", - "es-pr", - "es-py", - "es-sv", - "es-uy", - "es-ve", - "et", - "eu", - "fa", - "fi", - "fo", - "fr", - "fr-be", - "fr-ca", - "fr-ch", - "fr-lu", - "ga", - "gd", - "he", - "hi", - "hr", - "hu", - "id", - "is", - "it", - "it-ch", - "ja", - "ji", - "ko", - "ku", - "lt", - "lv", - "mk", - "ml", - "ms", - "mt", - "nb", - "ne", - "nl", - "nl-be", - "nn", - "no", - "pa", - "pl", - "pt", - "pt-br", - "rm", - "ro", - "ro-md", - "ru", - "ru-md", - "sb", - "sk", - "sl", - "sq", - "sr", - "sv", - "sv-fi", - "th", - "tn", - "tr", - "ts", - "ua", - "ur", - "ve", - "vi", - "xh", - "zh-cn", - "zh-hk", - "zh-sg", - "zh-tw", - "zu" - ], - "x-enum-name": "EmailTemplateLocale", - "x-enum-keys": [] - }, - "subject": { - "type": "string", - "description": "Subject of the email template. Can be up to 255 characters.", - "default": null, - "x-example": "<SUBJECT>", - "x-nullable": true - }, - "message": { - "type": "string", - "description": "Plain or HTML body of the email template message. Can be up to 10MB of content.", - "default": null, - "x-example": "<MESSAGE>", - "x-nullable": true - }, - "senderName": { - "type": "string", - "description": "Name of the email sender.", - "default": null, - "x-example": "<SENDER_NAME>", - "x-nullable": true - }, - "senderEmail": { - "type": "string", - "description": "Email of the sender.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "replyToEmail": { - "type": "string", - "description": "Reply to email.", - "default": null, - "x-example": "email@example.com", - "format": "email", + "description": "'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw", + "x-example": "<APP_SECRET>", "x-nullable": true }, - "replyToName": { - "type": "string", - "description": "Reply to name.", - "default": null, - "x-example": "<REPLY_TO_NAME>", + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, "x-nullable": true } - }, - "required": [ - "templateId" - ] + } } } ] } }, - "\/project\/templates\/email\/{templateId}": { - "get": { - "summary": "Get project email template", - "operationId": "projectGetEmailTemplate", - "consumes": [], + "\/project\/oauth2\/etsy": { + "patch": { + "summary": "Update project OAuth2 Etsy", + "operationId": "projectUpdateOAuth2Etsy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.", + "description": "Update the project OAuth2 Etsy configuration.", "responses": { "200": { - "description": "EmailTemplate", + "description": "OAuth2Etsy", "schema": { - "$ref": "#\/definitions\/emailTemplate" + "$ref": "#\/definitions\/oAuth2Etsy" } } }, "deprecated": false, "x-appwrite": { - "method": "getEmailTemplate", - "group": "templates", - "weight": 1103, + "method": "updateOAuth2Etsy", + "group": "oauth2", + "weight": 1239, "cookies": false, "type": "", - "demo": "project\/get-email-template.md", + "demo": "project\/update-o-auth-2-etsy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "templates.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50530,290 +48582,150 @@ ], "parameters": [ { - "name": "templateId", - "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", - "required": true, - "type": "string", - "x-example": "verification", - "enum": [ - "verification", - "magicSession", - "recovery", - "invitation", - "mfaChallenge", - "sessionAlert", - "otpSession" - ], - "x-enum-name": "EmailTemplateType", - "x-enum-keys": [], - "in": "path" - }, - { - "name": "locale", - "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", - "required": false, - "type": "string", - "x-example": "af", - "enum": [ - "af", - "ar-ae", - "ar-bh", - "ar-dz", - "ar-eg", - "ar-iq", - "ar-jo", - "ar-kw", - "ar-lb", - "ar-ly", - "ar-ma", - "ar-om", - "ar-qa", - "ar-sa", - "ar-sy", - "ar-tn", - "ar-ye", - "as", - "az", - "be", - "bg", - "bh", - "bn", - "bs", - "ca", - "cs", - "cy", - "da", - "de", - "de-at", - "de-ch", - "de-li", - "de-lu", - "el", - "en", - "en-au", - "en-bz", - "en-ca", - "en-gb", - "en-ie", - "en-jm", - "en-nz", - "en-tt", - "en-us", - "en-za", - "eo", - "es", - "es-ar", - "es-bo", - "es-cl", - "es-co", - "es-cr", - "es-do", - "es-ec", - "es-gt", - "es-hn", - "es-mx", - "es-ni", - "es-pa", - "es-pe", - "es-pr", - "es-py", - "es-sv", - "es-uy", - "es-ve", - "et", - "eu", - "fa", - "fi", - "fo", - "fr", - "fr-be", - "fr-ca", - "fr-ch", - "fr-lu", - "ga", - "gd", - "he", - "hi", - "hr", - "hu", - "id", - "is", - "it", - "it-ch", - "ja", - "ji", - "ko", - "ku", - "lt", - "lv", - "mk", - "ml", - "ms", - "mt", - "nb", - "ne", - "nl", - "nl-be", - "nn", - "no", - "pa", - "pl", - "pt", - "pt-br", - "rm", - "ro", - "ro-md", - "ru", - "ru-md", - "sb", - "sk", - "sl", - "sq", - "sr", - "sv", - "sv-fi", - "th", - "tn", - "tr", - "ts", - "ua", - "ur", - "ve", - "vi", - "xh", - "zh-cn", - "zh-hk", - "zh-sg", - "zh-tw", - "zu" - ], - "x-enum-name": "EmailTemplateLocale", - "x-enum-keys": [], - "default": "", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "keyString": { + "type": "string", + "description": "'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2", + "x-example": "<KEY_STRING>", + "x-nullable": true + }, + "sharedSecret": { + "type": "string", + "description": "'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru", + "x-example": "<SHARED_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/project\/usage": { - "get": { - "summary": "Get project usage stats", - "operationId": "projectGetUsage", - "consumes": [], + "\/project\/oauth2\/facebook": { + "patch": { + "summary": "Update project OAuth2 Facebook", + "operationId": "projectUpdateOAuth2Facebook", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.", + "description": "Update the project OAuth2 Facebook configuration.", "responses": { "200": { - "description": "UsageProject", + "description": "OAuth2Facebook", "schema": { - "$ref": "#\/definitions\/usageProject" + "$ref": "#\/definitions\/oAuth2Facebook" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 686, + "method": "updateOAuth2Facebook", + "group": "oauth2", + "weight": 1240, "cookies": false, "type": "", - "demo": "project\/get-usage.md", + "demo": "project\/update-o-auth-2-facebook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "startDate", - "description": "Starting date for the usage", - "required": true, - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00", - "in": "query" - }, - { - "name": "endDate", - "description": "End date for the usage", - "required": true, - "type": "string", - "format": "datetime", - "x-example": "2020-10-15T06:38:00.000+00:00", - "in": "query" - }, - { - "name": "period", - "description": "Period used", - "required": false, - "type": "string", - "x-example": "1h", - "enum": [ - "1h", - "1d" - ], - "x-enum-name": "ProjectUsageRange", - "x-enum-keys": [ - "One Hour", - "One Day" - ], - "default": "1d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "'App ID' of Facebook OAuth2 app. For example: 260600000007694", + "x-example": "<APP_ID>", + "x-nullable": true + }, + "appSecret": { + "type": "string", + "description": "'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4", + "x-example": "<APP_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/project\/variables": { - "get": { - "summary": "List project variables", - "operationId": "projectListVariables", - "consumes": [], + "\/project\/oauth2\/figma": { + "patch": { + "summary": "Update project OAuth2 Figma", + "operationId": "projectUpdateOAuth2Figma", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get a list of all project environment variables.", + "description": "Update the project OAuth2 Figma configuration.", "responses": { "200": { - "description": "Variables List", + "description": "OAuth2Figma", "schema": { - "$ref": "#\/definitions\/variableList" + "$ref": "#\/definitions\/oAuth2Figma" } } }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 1106, + "method": "updateOAuth2Figma", + "group": "oauth2", + "weight": 1215, "cookies": false, "type": "", - "demo": "project\/list-variables.md", + "demo": "project\/update-o-auth-2-figma.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50832,31 +48744,39 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - }, - "post": { - "summary": "Create project variable", - "operationId": "projectCreateVariable", + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } + ] + } + }, + "\/project\/oauth2\/fusionauth": { + "patch": { + "summary": "Update project OAuth2 FusionAuth", + "operationId": "projectUpdateOAuth2FusionAuth", "consumes": [ "application\/json" ], @@ -50866,27 +48786,27 @@ "tags": [ "project" ], - "description": "Create a new project environment variable. These variables can be accessed by all functions and sites in the project.", + "description": "Update the project OAuth2 FusionAuth configuration.", "responses": { - "201": { - "description": "Variable", + "200": { + "description": "OAuth2FusionAuth", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/oAuth2FusionAuth" } } }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 1105, + "method": "updateOAuth2FusionAuth", + "group": "oauth2", + "weight": 1248, "cookies": false, "type": "", - "demo": "project\/create-variable.md", + "demo": "project\/update-o-auth-2-fusion-auth.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50910,73 +48830,70 @@ "schema": { "type": "object", "properties": { - "variableId": { + "clientId": { "type": "string", - "description": "Variable unique ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<VARIABLE_ID>" + "description": "'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "key": { + "clientSecret": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>" + "description": "'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "value": { + "endpoint": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>" + "description": "Domain of FusionAuth instance. For example: example.fusionauth.io", + "x-example": "<ENDPOINT>", + "x-nullable": true }, - "secret": { + "enabled": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "default": true, - "x-example": false + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "variableId", - "key", - "value" - ] + } } } ] } }, - "\/project\/variables\/{variableId}": { - "get": { - "summary": "Get project variable", - "operationId": "projectGetVariable", - "consumes": [], + "\/project\/oauth2\/github": { + "patch": { + "summary": "Update project OAuth2 GitHub", + "operationId": "projectUpdateOAuth2GitHub", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "project" ], - "description": "Get a variable by its unique ID. ", + "description": "Update the project OAuth2 GitHub configuration.", "responses": { "200": { - "description": "Variable", + "description": "OAuth2GitHub", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/oAuth2Github" } } }, "deprecated": false, "x-appwrite": { - "method": "getVariable", - "group": "variables", - "weight": 1107, + "method": "updateOAuth2GitHub", + "group": "oauth2", + "weight": 1213, "cookies": false, "type": "", - "demo": "project\/get-variable.md", + "demo": "project\/update-o-auth-2-git-hub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -50995,18 +48912,39 @@ ], "parameters": [ { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "type": "string", - "x-example": "<VARIABLE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "put": { - "summary": "Update project variable", - "operationId": "projectUpdateVariable", + } + }, + "\/project\/oauth2\/gitlab": { + "patch": { + "summary": "Update project OAuth2 Gitlab", + "operationId": "projectUpdateOAuth2Gitlab", "consumes": [ "application\/json" ], @@ -51016,27 +48954,27 @@ "tags": [ "project" ], - "description": "Update variable by its unique ID.", + "description": "Update the project OAuth2 Gitlab configuration.", "responses": { "200": { - "description": "Variable", + "description": "OAuth2Gitlab", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/oAuth2Gitlab" } } }, "deprecated": false, "x-appwrite": { - "method": "updateVariable", - "group": "variables", - "weight": 1109, + "method": "updateOAuth2Gitlab", + "group": "oauth2", + "weight": 1245, "cookies": false, "type": "", - "demo": "project\/update-variable.md", + "demo": "project\/update-o-auth-2-gitlab.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -51054,38 +48992,34 @@ } ], "parameters": [ - { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "type": "string", - "x-example": "<VARIABLE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "applicationId": { "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>", + "description": "'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252", + "x-example": "<APPLICATION_ID>", "x-nullable": true }, - "value": { + "secret": { "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>", + "description": "'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", + "x-example": "<SECRET>", "x-nullable": true }, - "secret": { + "endpoint": { + "type": "string", + "description": "Endpoint URL of self-hosted GitLab instance. For example: https:\/\/gitlab.com", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "enabled": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "default": null, + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", "x-example": false, "x-nullable": true } @@ -51093,35 +49027,42 @@ } } ] - }, - "delete": { - "summary": "Delete project variable", - "operationId": "projectDeleteVariable", + } + }, + "\/project\/oauth2\/google": { + "patch": { + "summary": "Update project OAuth2 Google", + "operationId": "projectUpdateOAuth2Google", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ "project" ], - "description": "Delete a variable by its unique ID. ", + "description": "Update the project OAuth2 Google configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Google", + "schema": { + "$ref": "#\/definitions\/oAuth2Google" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteVariable", - "group": "variables", - "weight": 1108, + "method": "updateOAuth2Google", + "group": "oauth2", + "weight": 1222, "cookies": false, "type": "", - "demo": "project\/delete-variable.md", + "demo": "project\/update-o-auth-2-google.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "project.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -51140,50 +49081,88 @@ ], "parameters": [ { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "type": "string", - "x-example": "<VARIABLE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "prompt": { + "type": "array", + "description": "Array of Google OAuth2 prompt values. If \"none\" is included, it must be the only element. \"none\" means: don't display any authentication or consent screens. Must not be specified with other values. \"consent\" means: prompt the user for consent. \"select_account\" means: prompt the user to select an account.", + "x-example": null, + "x-nullable": true, + "items": { + "type": "string", + "enum": [ + "none", + "consent", + "select_account" + ], + "x-enum-name": "ProjectOAuth2GooglePrompt", + "x-enum-keys": [] + } + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/projects": { - "get": { - "summary": "List projects", - "operationId": "projectsList", - "consumes": [], + "\/project\/oauth2\/keycloak": { + "patch": { + "summary": "Update project OAuth2 Keycloak", + "operationId": "projectUpdateOAuth2Keycloak", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Get a list of all projects. You can use the query params to filter your results. ", + "description": "Update the project OAuth2 Keycloak configuration.", "responses": { "200": { - "description": "Projects List", + "description": "OAuth2Keycloak", "schema": { - "$ref": "#\/definitions\/projectList" + "$ref": "#\/definitions\/oAuth2Keycloak" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "projects", - "weight": 1094, + "method": "updateOAuth2Keycloak", + "group": "oauth2", + "weight": 1249, "cookies": false, "type": "", - "demo": "projects\/list.md", + "demo": "project\/update-o-auth-2-keycloak.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51193,45 +49172,57 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "endpoint": { + "type": "string", + "description": "Domain of Keycloak instance. For example: keycloak.example.com", + "x-example": "<ENDPOINT>", + "x-nullable": true + }, + "realmName": { + "type": "string", + "description": "Keycloak realm name. For example: appwrite-realm", + "x-example": "<REALM_NAME>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "post": { - "summary": "Create project", - "operationId": "projectsCreate", + } + }, + "\/project\/oauth2\/kick": { + "patch": { + "summary": "Update project OAuth2 Kick", + "operationId": "projectUpdateOAuth2Kick", "consumes": [ "application\/json" ], @@ -51239,42 +49230,43 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Create a new project. You can create a maximum of 100 projects per account. ", + "description": "Update the project OAuth2 Kick configuration.", "responses": { - "201": { - "description": "Project", + "200": { + "description": "OAuth2Kick", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Kick" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "projects", - "weight": 1092, + "method": "updateOAuth2Kick", + "group": "oauth2", + "weight": 1252, "cookies": false, "type": "", - "demo": "projects\/create.md", + "demo": "project\/update-o-auth-2-kick.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ @@ -51284,167 +49276,115 @@ "schema": { "type": "object", "properties": { - "projectId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, and hyphen. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": null - }, - "name": { - "type": "string", - "description": "Project name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "teamId": { - "type": "string", - "description": "Team unique ID.", - "default": null, - "x-example": "<TEAM_ID>" - }, - "region": { - "type": "string", - "description": "Project Region.", - "default": "fra", - "x-example": "fra", - "enum": [ - "fra", - "nyc", - "syd", - "sfo", - "sgp", - "tor" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "description": { - "type": "string", - "description": "Project description. Max length: 256 chars.", - "default": "", - "x-example": "<DESCRIPTION>" - }, - "logo": { - "type": "string", - "description": "Project logo.", - "default": "", - "x-example": "<LOGO>" - }, - "url": { - "type": "string", - "description": "Project URL.", - "default": "", - "x-example": "https:\/\/example.com", - "format": "url" - }, - "legalName": { - "type": "string", - "description": "Project legal Name. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_NAME>" - }, - "legalCountry": { - "type": "string", - "description": "Project legal Country. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_COUNTRY>" - }, - "legalState": { - "type": "string", - "description": "Project legal State. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_STATE>" - }, - "legalCity": { + "clientId": { "type": "string", - "description": "Project legal City. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_CITY>" + "description": "'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "legalAddress": { + "clientSecret": { "type": "string", - "description": "Project legal Address. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_ADDRESS>" + "description": "'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "legalTaxId": { - "type": "string", - "description": "Project legal Tax ID. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_TAX_ID>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "projectId", - "name", - "teamId" - ] + } } } ] } }, - "\/projects\/{projectId}": { - "get": { - "summary": "Get project", - "operationId": "projectsGet", - "consumes": [], + "\/project\/oauth2\/linkedin": { + "patch": { + "summary": "Update project OAuth2 Linkedin", + "operationId": "projectUpdateOAuth2Linkedin", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Get a project by its unique ID. This endpoint allows you to retrieve the project's details, including its name, description, team, region, and other metadata. ", + "description": "Update the project OAuth2 Linkedin configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Linkedin", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Linkedin" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "projects", - "weight": 57, + "method": "updateOAuth2Linkedin", + "group": "oauth2", + "weight": 1236, "cookies": false, "type": "", - "demo": "projects\/get.md", + "demo": "project\/update-o-auth-2-linkedin.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "primaryClientSecret": { + "type": "string", + "description": "'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: WPL_AP1.2Bf0000000000000.\/HtlYw==", + "x-example": "<PRIMARY_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, + } + }, + "\/project\/oauth2\/microsoft": { "patch": { - "summary": "Update project", - "operationId": "projectsUpdate", + "summary": "Update project OAuth2 Microsoft", + "operationId": "projectUpdateOAuth2Microsoft", "consumes": [ "application\/json" ], @@ -51452,133 +49392,86 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Update a project by its unique ID.", + "description": "Update the project OAuth2 Microsoft configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Microsoft", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Microsoft" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "projects", - "weight": 1093, + "method": "updateOAuth2Microsoft", + "group": "oauth2", + "weight": 1254, "cookies": false, "type": "", - "demo": "projects\/update.md", + "demo": "project\/update-o-auth-2-microsoft.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Project name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "description": { - "type": "string", - "description": "Project description. Max length: 256 chars.", - "default": "", - "x-example": "<DESCRIPTION>" - }, - "logo": { - "type": "string", - "description": "Project logo.", - "default": "", - "x-example": "<LOGO>" - }, - "url": { - "type": "string", - "description": "Project URL.", - "default": "", - "x-example": "https:\/\/example.com", - "format": "url" - }, - "legalName": { - "type": "string", - "description": "Project legal name. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_NAME>" - }, - "legalCountry": { - "type": "string", - "description": "Project legal country. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_COUNTRY>" - }, - "legalState": { + "applicationId": { "type": "string", - "description": "Project legal state. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_STATE>" + "description": "'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444", + "x-example": "<APPLICATION_ID>", + "x-nullable": true }, - "legalCity": { + "applicationSecret": { "type": "string", - "description": "Project legal city. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_CITY>" + "description": "'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", + "x-example": "<APPLICATION_SECRET>", + "x-nullable": true }, - "legalAddress": { + "tenant": { "type": "string", - "description": "Project legal address. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_ADDRESS>" + "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common", + "x-example": "<TENANT>", + "x-nullable": true }, - "legalTaxId": { - "type": "string", - "description": "Project legal tax ID. Max length: 256 chars.", - "default": "", - "x-example": "<LEGAL_TAX_ID>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name" - ] + } } } ] } }, - "\/projects\/{projectId}\/console-access": { + "\/project\/oauth2\/notion": { "patch": { - "summary": "Record console access to a project", - "operationId": "projectsUpdateConsoleAccess", + "summary": "Update project OAuth2 Notion", + "operationId": "projectUpdateOAuth2Notion", "consumes": [ "application\/json" ], @@ -51586,87 +49479,113 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Record console access to a project. This endpoint updates the last accessed timestamp for the project to track console activity.\n", + "description": "Update the project OAuth2 Notion configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Notion", + "schema": { + "$ref": "#\/definitions\/oAuth2Notion" + } } }, "deprecated": false, "x-appwrite": { - "method": "updateConsoleAccess", - "group": null, - "weight": 1089, + "method": "updateOAuth2Notion", + "group": "oauth2", + "weight": 1233, "cookies": false, "type": "", - "demo": "projects\/update-console-access.md", + "demo": "project\/update-o-auth-2-notion.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-console-access.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project ID", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "oauthClientId": { + "type": "string", + "description": "'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3", + "x-example": "<OAUTH_CLIENT_ID>", + "x-nullable": true + }, + "oauthClientSecret": { + "type": "string", + "description": "'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9", + "x-example": "<OAUTH_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/projects\/{projectId}\/dev-keys": { - "get": { - "summary": "List dev keys", - "operationId": "projectsListDevKeys", - "consumes": [], + "\/project\/oauth2\/oidc": { + "patch": { + "summary": "Update project OAuth2 Oidc", + "operationId": "projectUpdateOAuth2Oidc", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "List all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", + "description": "Update the project OAuth2 Oidc configuration.", "responses": { "200": { - "description": "Dev Keys List", + "description": "OAuth2Oidc", "schema": { - "$ref": "#\/definitions\/devKeyList" + "$ref": "#\/definitions\/oAuth2Oidc" } } }, "deprecated": false, "x-appwrite": { - "method": "listDevKeys", - "group": "devKeys", - "weight": 408, + "method": "updateOAuth2Oidc", + "group": "oauth2", + "weight": 1250, "cookies": false, "type": "", - "demo": "projects\/list-dev-keys.md", + "demo": "project\/update-o-auth-2-oidc.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51676,35 +49595,73 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: accessedAt, expire", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "wellKnownURL": { + "type": "string", + "description": "OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https:\/\/myoauth.com\/.well-known\/openid-configuration", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "authorizationURL": { + "type": "string", + "description": "OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/authorize", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "tokenURL": { + "type": "string", + "description": "OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/token", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "userInfoURL": { + "type": "string", + "description": "OpenID Connect user info endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/userinfo", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "post": { - "summary": "Create dev key", - "operationId": "projectsCreateDevKey", + } + }, + "\/project\/oauth2\/okta": { + "patch": { + "summary": "Update project OAuth2 Okta", + "operationId": "projectUpdateOAuth2Okta", "consumes": [ "application\/json" ], @@ -51712,31 +49669,32 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Create a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", + "description": "Update the project OAuth2 Okta configuration.", "responses": { - "201": { - "description": "DevKey", + "200": { + "description": "OAuth2Okta", "schema": { - "$ref": "#\/definitions\/devKey" + "$ref": "#\/definitions\/oAuth2Okta" } } }, "deprecated": false, "x-appwrite": { - "method": "createDevKey", - "group": "devKeys", - "weight": 405, + "method": "updateOAuth2Okta", + "group": "oauth2", + "weight": 1251, "cookies": false, "type": "", - "demo": "projects\/create-dev-key.md", + "demo": "project\/update-o-auth-2-okta.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51746,81 +49704,90 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "clientId": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "expire": { + "clientSecret": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" + "description": "'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "domain": { + "type": "string", + "description": "Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https:\/\/trial-6400025.okta.com\/", + "x-example": null, + "x-nullable": true + }, + "authorizationServerId": { + "type": "string", + "description": "Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z", + "x-example": "<AUTHORIZATION_SERVER_ID>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name", - "expire" - ] + } } } ] } }, - "\/projects\/{projectId}\/dev-keys\/{keyId}": { - "get": { - "summary": "Get dev key", - "operationId": "projectsGetDevKey", - "consumes": [], + "\/project\/oauth2\/paypal": { + "patch": { + "summary": "Update project OAuth2 Paypal", + "operationId": "projectUpdateOAuth2Paypal", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Get a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", + "description": "Update the project OAuth2 Paypal configuration.", "responses": { "200": { - "description": "DevKey", + "description": "OAuth2Paypal", "schema": { - "$ref": "#\/definitions\/devKey" + "$ref": "#\/definitions\/oAuth2Paypal" } } }, "deprecated": false, "x-appwrite": { - "method": "getDevKey", - "group": "devKeys", - "weight": 407, + "method": "updateOAuth2Paypal", + "group": "oauth2", + "weight": 1243, "cookies": false, "type": "", - "demo": "projects\/get-dev-key.md", + "demo": "project\/update-o-auth-2-paypal.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51830,31 +49797,45 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "type": "string", - "x-example": "<KEY_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "secretKey": { + "type": "string", + "description": "'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "put": { - "summary": "Update dev key", - "operationId": "projectsUpdateDevKey", + } + }, + "\/project\/oauth2\/paypalSandbox": { + "patch": { + "summary": "Update project OAuth2 PaypalSandbox", + "operationId": "projectUpdateOAuth2PaypalSandbox", "consumes": [ "application\/json" ], @@ -51862,31 +49843,32 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Update a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", + "description": "Update the project OAuth2 PaypalSandbox configuration.", "responses": { "200": { - "description": "DevKey", + "description": "OAuth2Paypal", "schema": { - "$ref": "#\/definitions\/devKey" + "$ref": "#\/definitions\/oAuth2Paypal" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDevKey", - "group": "devKeys", - "weight": 406, + "method": "updateOAuth2PaypalSandbox", + "group": "oauth2", + "weight": 1244, "cookies": false, "type": "", - "demo": "projects\/update-dev-key.md", + "demo": "project\/update-o-auth-2-paypal-sandbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51896,84 +49878,78 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "type": "string", - "x-example": "<KEY_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "clientId": { "type": "string", - "description": "Key name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "expire": { + "secretKey": { "type": "string", - "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime" + "description": "'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", + "x-example": "<SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "name", - "expire" - ] + } } } ] - }, - "delete": { - "summary": "Delete dev key", - "operationId": "projectsDeleteDevKey", + } + }, + "\/project\/oauth2\/podio": { + "patch": { + "summary": "Update project OAuth2 Podio", + "operationId": "projectUpdateOAuth2Podio", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "projects" + "project" ], - "description": "Delete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", + "description": "Update the project OAuth2 Podio configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Podio", + "schema": { + "$ref": "#\/definitions\/oAuth2Podio" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDevKey", - "group": "devKeys", - "weight": 409, + "method": "updateOAuth2Podio", + "group": "oauth2", + "weight": 1232, "cookies": false, "type": "", - "demo": "projects\/delete-dev-key.md", + "demo": "project\/update-o-auth-2-podio.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "devKeys.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -51983,111 +49959,126 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "keyId", - "description": "Key unique ID.", - "required": true, - "type": "string", - "x-example": "<KEY_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/projects\/{projectId}\/schedules": { - "get": { - "summary": "List schedules", - "operationId": "projectsListSchedules", - "consumes": [], + "\/project\/oauth2\/salesforce": { + "patch": { + "summary": "Update project OAuth2 Salesforce", + "operationId": "projectUpdateOAuth2Salesforce", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Get a list of all the project's schedules. You can use the query params to filter your results.", + "description": "Update the project OAuth2 Salesforce configuration.", "responses": { "200": { - "description": "Schedules List", + "description": "OAuth2Salesforce", "schema": { - "$ref": "#\/definitions\/scheduleList" + "$ref": "#\/definitions\/oAuth2Salesforce" } } }, "deprecated": false, "x-appwrite": { - "method": "listSchedules", - "group": "schedules", - "weight": 416, + "method": "updateOAuth2Salesforce", + "group": "oauth2", + "weight": 1234, "cookies": false, "type": "", - "demo": "projects\/list-schedules.md", + "demo": "project\/update-o-auth-2-salesforce.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-schedules.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: resourceType, resourceId, projectId, schedule, active, region", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "customerKey": { + "type": "string", + "description": "'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", + "x-example": "<CUSTOMER_KEY>", + "x-nullable": true + }, + "customerSecret": { + "type": "string", + "description": "'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2", + "x-example": "<CUSTOMER_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "post": { - "summary": "Create schedule", - "operationId": "projectsCreateSchedule", + } + }, + "\/project\/oauth2\/slack": { + "patch": { + "summary": "Update project OAuth2 Slack", + "operationId": "projectUpdateOAuth2Slack", "consumes": [ "application\/json" ], @@ -52095,179 +50086,161 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Create a new schedule for a resource.", + "description": "Update the project OAuth2 Slack configuration.", "responses": { - "201": { - "description": "Schedule", + "200": { + "description": "OAuth2Slack", "schema": { - "$ref": "#\/definitions\/schedule" + "$ref": "#\/definitions\/oAuth2Slack" } } }, "deprecated": false, "x-appwrite": { - "method": "createSchedule", - "group": "schedules", - "weight": 1095, + "method": "updateOAuth2Slack", + "group": "oauth2", + "weight": 1231, "cookies": false, "type": "", - "demo": "projects\/create-schedule.md", + "demo": "project\/update-o-auth-2-slack.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "resourceType": { - "type": "string", - "description": "The resource type for the schedule. Possible values: function, execution, message, backup.", - "default": null, - "x-example": "function", - "enum": [ - "function", - "execution", - "message", - "backup" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "resourceId": { + "clientId": { "type": "string", - "description": "The resource ID to associate with this schedule.", - "default": null, - "x-example": "<RESOURCE_ID>" + "description": "'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "schedule": { + "clientSecret": { "type": "string", - "description": "Schedule CRON expression.", - "default": null, - "x-example": null + "description": "'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "active": { + "enabled": { "type": "boolean", - "description": "Whether the schedule is active.", - "default": false, - "x-example": false - }, - "data": { - "type": "object", - "description": "Schedule data as a JSON string. Used to store resource-specific context needed for execution.", - "default": {}, - "x-example": "{}" + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "resourceType", - "resourceId", - "schedule" - ] + } } } ] } }, - "\/projects\/{projectId}\/schedules\/{scheduleId}": { - "get": { - "summary": "Get schedule", - "operationId": "projectsGetSchedule", - "consumes": [], + "\/project\/oauth2\/spotify": { + "patch": { + "summary": "Update project OAuth2 Spotify", + "operationId": "projectUpdateOAuth2Spotify", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Get a schedule by its unique ID.", + "description": "Update the project OAuth2 Spotify configuration.", "responses": { "200": { - "description": "Schedule", + "description": "OAuth2Spotify", "schema": { - "$ref": "#\/definitions\/schedule" + "$ref": "#\/definitions\/oAuth2Spotify" } } }, "deprecated": false, "x-appwrite": { - "method": "getSchedule", - "group": "schedules", - "weight": 415, + "method": "updateOAuth2Spotify", + "group": "oauth2", + "weight": 1230, "cookies": false, "type": "", - "demo": "projects\/get-schedule.md", + "demo": "project\/update-o-auth-2-spotify.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "schedules.read", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, - { - "name": "scheduleId", - "description": "Schedule ID.", - "required": true, - "type": "string", - "x-example": "<SCHEDULE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/projects\/{projectId}\/status": { + "\/project\/oauth2\/stripe": { "patch": { - "summary": "Update the status of a project", - "operationId": "projectsUpdateStatus", + "summary": "Update project OAuth2 Stripe", + "operationId": "projectUpdateOAuth2Stripe", "consumes": [ "application\/json" ], @@ -52275,80 +50248,80 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Update the status of a project. Can be used to archive\/restore projects, and to restore paused projects. When restoring a paused project, the console fingerprint header must be provided and the project must not be blocked for any reason other than inactivity.\n", + "description": "Update the project OAuth2 Stripe configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Stripe", + "schema": { + "$ref": "#\/definitions\/oAuth2Stripe" + } } }, "deprecated": false, "x-appwrite": { - "method": "updateStatus", - "group": null, - "weight": 1090, + "method": "updateOAuth2Stripe", + "group": "oauth2", + "weight": 1229, "cookies": false, "type": "", - "demo": "projects\/update-status.md", - "rate-limit": 10, + "demo": "project\/update-o-auth-2-stripe.md", + "rate-limit": 0, "rate-time": 3600, - "rate-key": "ip:{ip},userId:{userId}", - "scope": "projects.write", + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project ID", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "status": { + "clientId": { "type": "string", - "description": "New status for the project", - "default": null, - "x-example": "active", - "enum": [ - "active" - ], - "x-enum-name": null, - "x-enum-keys": [] + "description": "'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "apiSecretKey": { + "type": "string", + "description": "'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp", + "x-example": "<API_SECRET_KEY>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "status" - ] + } } } ] } }, - "\/projects\/{projectId}\/team": { + "\/project\/oauth2\/tradeshift": { "patch": { - "summary": "Update project team", - "operationId": "projectsUpdateTeam", + "summary": "Update project OAuth2 Tradeshift", + "operationId": "projectUpdateOAuth2Tradeshift", "consumes": [ "application\/json" ], @@ -52356,106 +50329,110 @@ "application\/json" ], "tags": [ - "projects" + "project" ], - "description": "Update the team ID of a project allowing for it to be transferred to another team.", + "description": "Update the project OAuth2 Tradeshift configuration.", "responses": { "200": { - "description": "Project", + "description": "OAuth2Tradeshift", "schema": { - "$ref": "#\/definitions\/project" + "$ref": "#\/definitions\/oAuth2Tradeshift" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTeam", - "group": "projects", - "weight": 1091, + "method": "updateOAuth2Tradeshift", + "group": "oauth2", + "weight": 1241, "cookies": false, "type": "", - "demo": "projects\/update-team.md", + "demo": "project\/update-o-auth-2-tradeshift.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "projects.write", + "scope": "oauth2.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ - { - "name": "projectId", - "description": "Project unique ID.", - "required": true, - "type": "string", - "x-example": "<PROJECT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "teamId": { + "oauth2ClientId": { "type": "string", - "description": "Team ID of the team to transfer project to.", - "default": null, - "x-example": "<TEAM_ID>" + "description": "'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app", + "x-example": "<OAUTH2_CLIENT_ID>", + "x-nullable": true + }, + "oauth2ClientSecret": { + "type": "string", + "description": "'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", + "x-example": "<OAUTH2_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "teamId" - ] + } } } ] } }, - "\/proxy\/rules": { - "get": { - "summary": "List rules", - "operationId": "proxyListRules", - "consumes": [], + "\/project\/oauth2\/tradeshiftBox": { + "patch": { + "summary": "Update project OAuth2 Tradeshift Sandbox", + "operationId": "projectUpdateOAuth2TradeshiftSandbox", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Get a list of all the proxy rules. You can use the query params to filter your results.", + "description": "Update the project OAuth2 Tradeshift Sandbox configuration.", "responses": { "200": { - "description": "Rule List", + "description": "OAuth2Tradeshift", "schema": { - "$ref": "#\/definitions\/proxyRuleList" + "$ref": "#\/definitions\/oAuth2Tradeshift" } } }, "deprecated": false, "x-appwrite": { - "method": "listRules", - "group": "rules", - "weight": 1202, + "method": "updateOAuth2TradeshiftSandbox", + "group": "oauth2", + "weight": 1242, "cookies": false, "type": "", - "demo": "proxy\/list-rules.md", + "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52474,33 +50451,39 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "oauth2ClientId": { + "type": "string", + "description": "'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app", + "x-example": "<OAUTH2_CLIENT_ID>", + "x-nullable": true + }, + "oauth2ClientSecret": { + "type": "string", + "description": "'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", + "x-example": "<OAUTH2_CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/proxy\/rules\/api": { - "post": { - "summary": "Create API rule", - "operationId": "proxyCreateAPIRule", + "\/project\/oauth2\/twitch": { + "patch": { + "summary": "Update project OAuth2 Twitch", + "operationId": "projectUpdateOAuth2Twitch", "consumes": [ "application\/json" ], @@ -52508,29 +50491,29 @@ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for serving Appwrite's API on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Update the project OAuth2 Twitch configuration.", "responses": { - "201": { - "description": "Rule", + "200": { + "description": "OAuth2Twitch", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2Twitch" } } }, "deprecated": false, "x-appwrite": { - "method": "createAPIRule", - "group": "rules", - "weight": 1197, + "method": "updateOAuth2Twitch", + "group": "oauth2", + "weight": 1228, "cookies": false, "type": "", - "demo": "proxy\/create-api-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/update-o-auth-2-twitch.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52554,25 +50537,34 @@ "schema": { "type": "object", "properties": { - "domain": { + "clientId": { "type": "string", - "description": "Domain name.", - "default": null, - "x-example": null + "description": "'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "domain" - ] + } } } ] } }, - "\/proxy\/rules\/function": { - "post": { - "summary": "Create function rule", - "operationId": "proxyCreateFunctionRule", + "\/project\/oauth2\/wordpress": { + "patch": { + "summary": "Update project OAuth2 WordPress", + "operationId": "projectUpdateOAuth2WordPress", "consumes": [ "application\/json" ], @@ -52580,29 +50572,29 @@ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for executing Appwrite Function on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Update the project OAuth2 WordPress configuration.", "responses": { - "201": { - "description": "Rule", + "200": { + "description": "OAuth2WordPress", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2WordPress" } } }, "deprecated": false, "x-appwrite": { - "method": "createFunctionRule", - "group": "rules", - "weight": 1199, + "method": "updateOAuth2WordPress", + "group": "oauth2", + "weight": 1227, "cookies": false, "type": "", - "demo": "proxy\/create-function-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/update-o-auth-2-word-press.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52626,38 +50618,34 @@ "schema": { "type": "object", "properties": { - "domain": { + "clientId": { "type": "string", - "description": "Domain name.", - "default": null, - "x-example": null + "description": "'Client ID' of WordPress OAuth2 app. For example: 130005", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "functionId": { + "clientSecret": { "type": "string", - "description": "ID of function to be executed.", - "default": null, - "x-example": "<FUNCTION_ID>" + "description": "'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "branch": { - "type": "string", - "description": "Name of VCS branch to deploy changes automatically", - "default": "", - "x-example": "<BRANCH>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "domain", - "functionId" - ] + } } } ] } }, - "\/proxy\/rules\/redirect": { - "post": { - "summary": "Create Redirect rule", - "operationId": "proxyCreateRedirectRule", + "\/project\/oauth2\/x": { + "patch": { + "summary": "Update project OAuth2 X", + "operationId": "projectUpdateOAuth2X", "consumes": [ "application\/json" ], @@ -52665,29 +50653,29 @@ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for to redirect from custom domain to another domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Update the project OAuth2 X configuration.", "responses": { - "201": { - "description": "Rule", + "200": { + "description": "OAuth2X", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2X" } } }, "deprecated": false, "x-appwrite": { - "method": "createRedirectRule", - "group": "rules", - "weight": 1200, + "method": "updateOAuth2X", + "group": "oauth2", + "weight": 1226, "cookies": false, "type": "", - "demo": "proxy\/create-redirect-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/update-o-auth-2x.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52711,76 +50699,34 @@ "schema": { "type": "object", "properties": { - "domain": { - "type": "string", - "description": "Domain name.", - "default": null, - "x-example": null - }, - "url": { - "type": "string", - "description": "Target URL of redirection", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url" - }, - "statusCode": { + "customerKey": { "type": "string", - "description": "Status code of redirection", - "default": null, - "x-example": "301", - "enum": [ - "301", - "302", - "307", - "308" - ], - "x-enum-name": null, - "x-enum-keys": [ - "Moved Permanently 301", - "Found 302", - "Temporary Redirect 307", - "Permanent Redirect 308" - ] + "description": "'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT", + "x-example": "<CUSTOMER_KEY>", + "x-nullable": true }, - "resourceId": { + "secretKey": { "type": "string", - "description": "ID of parent resource.", - "default": null, - "x-example": "<RESOURCE_ID>" + "description": "'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9", + "x-example": "<SECRET_KEY>", + "x-nullable": true }, - "resourceType": { - "type": "string", - "description": "Type of parent resource.", - "default": null, - "x-example": "site", - "enum": [ - "site", - "function" - ], - "x-enum-name": "ProxyResourceType", - "x-enum-keys": [ - "Site", - "Function" - ] + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "domain", - "url", - "statusCode", - "resourceId", - "resourceType" - ] + } } } ] } }, - "\/proxy\/rules\/site": { - "post": { - "summary": "Create site rule", - "operationId": "proxyCreateSiteRule", + "\/project\/oauth2\/yahoo": { + "patch": { + "summary": "Update project OAuth2 Yahoo", + "operationId": "projectUpdateOAuth2Yahoo", "consumes": [ "application\/json" ], @@ -52788,29 +50734,29 @@ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Create a new proxy rule for serving Appwrite Site on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", + "description": "Update the project OAuth2 Yahoo configuration.", "responses": { - "201": { - "description": "Rule", + "200": { + "description": "OAuth2Yahoo", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2Yahoo" } } }, "deprecated": false, "x-appwrite": { - "method": "createSiteRule", - "group": "rules", - "weight": 1198, + "method": "updateOAuth2Yahoo", + "group": "oauth2", + "weight": 1235, "cookies": false, "type": "", - "demo": "proxy\/create-site-rule.md", - "rate-limit": 10, - "rate-time": 60, - "rate-key": "userId:{userId}, url:{url}", - "scope": "rules.write", + "demo": "project\/update-o-auth-2-yahoo.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52834,66 +50780,64 @@ "schema": { "type": "object", "properties": { - "domain": { + "clientId": { "type": "string", - "description": "Domain name.", - "default": null, - "x-example": null + "description": "'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", + "x-example": "<CLIENT_ID>", + "x-nullable": true }, - "siteId": { + "clientSecret": { "type": "string", - "description": "ID of site to be executed.", - "default": null, - "x-example": "<SITE_ID>" + "description": "'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true }, - "branch": { - "type": "string", - "description": "Name of VCS branch to deploy changes automatically", - "default": "", - "x-example": "<BRANCH>" + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "domain", - "siteId" - ] + } } } ] } }, - "\/proxy\/rules\/{ruleId}": { - "get": { - "summary": "Get rule", - "operationId": "proxyGetRule", - "consumes": [], + "\/project\/oauth2\/yandex": { + "patch": { + "summary": "Update project OAuth2 Yandex", + "operationId": "projectUpdateOAuth2Yandex", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "Get a proxy rule by its unique ID.", + "description": "Update the project OAuth2 Yandex configuration.", "responses": { "200": { - "description": "Rule", + "description": "OAuth2Yandex", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2Yandex" } } }, "deprecated": false, "x-appwrite": { - "method": "getRule", - "group": "rules", - "weight": 1201, + "method": "updateOAuth2Yandex", + "group": "oauth2", + "weight": 1225, "cookies": false, "type": "", - "demo": "proxy\/get-rule.md", + "demo": "project\/update-o-auth-2-yandex.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.read", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52912,43 +50856,69 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", - "required": true, - "type": "string", - "x-example": "<RULE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, - "delete": { - "summary": "Delete rule", - "operationId": "proxyDeleteRule", + } + }, + "\/project\/oauth2\/zoho": { + "patch": { + "summary": "Update project OAuth2 Zoho", + "operationId": "projectUpdateOAuth2Zoho", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "proxy" + "project" ], - "description": "Delete a proxy rule by its unique ID.", + "description": "Update the project OAuth2 Zoho configuration.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "OAuth2Zoho", + "schema": { + "$ref": "#\/definitions\/oAuth2Zoho" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRule", - "group": "rules", - "weight": 1203, + "method": "updateOAuth2Zoho", + "group": "oauth2", + "weight": 1224, "cookies": false, "type": "", - "demo": "proxy\/delete-rule.md", + "demo": "project\/update-o-auth-2-zoho.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -52967,20 +50937,39 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", - "required": true, - "type": "string", - "x-example": "<RULE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } } ] } }, - "\/proxy\/rules\/{ruleId}\/status": { + "\/project\/oauth2\/zoom": { "patch": { - "summary": "Update rule status", - "operationId": "proxyUpdateRuleStatus", + "summary": "Update project OAuth2 Zoom", + "operationId": "projectUpdateOAuth2Zoom", "consumes": [ "application\/json" ], @@ -52988,29 +50977,29 @@ "application\/json" ], "tags": [ - "proxy" + "project" ], - "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "description": "Update the project OAuth2 Zoom configuration.", "responses": { "200": { - "description": "Rule", + "description": "OAuth2Zoom", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/oAuth2Zoom" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRuleStatus", - "group": "rules", - "weight": 1204, + "method": "updateOAuth2Zoom", + "group": "oauth2", + "weight": 1223, "cookies": false, "type": "", - "demo": "proxy\/update-rule-status.md", + "demo": "project\/update-o-auth-2-zoom.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "oauth2.write", "platforms": [ "console", "server" @@ -53029,48 +51018,344 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", - "required": true, - "type": "string", - "x-example": "<RULE_ID>", - "in": "path" - } - ] - } + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ", + "x-example": "<CLIENT_ID>", + "x-nullable": true + }, + "clientSecret": { + "type": "string", + "description": "'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON", + "x-example": "<CLIENT_SECRET>", + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", + "x-example": false, + "x-nullable": true + } + } + } + } + ] + } }, - "\/sites": { + "\/project\/oauth2\/{providerId}": { "get": { - "summary": "List sites", - "operationId": "sitesList", + "summary": "Get project OAuth2 provider", + "operationId": "projectGetOAuth2Provider", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a list of all the project's sites. You can use the query params to filter your results.", + "description": "Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key\/team IDs) are write-only and always returned empty.", "responses": { "200": { - "description": "Sites List", + "description": "OAuth2GitHub, or OAuth2Discord, or OAuth2Figma, or OAuth2Dropbox, or OAuth2Dailymotion, or OAuth2Bitbucket, or OAuth2Bitly, or OAuth2Box, or OAuth2Autodesk, or OAuth2Google, or OAuth2Zoom, or OAuth2Zoho, or OAuth2Yandex, or OAuth2X, or OAuth2WordPress, or OAuth2Twitch, or OAuth2Stripe, or OAuth2Spotify, or OAuth2Slack, or OAuth2Podio, or OAuth2Notion, or OAuth2Salesforce, or OAuth2Yahoo, or OAuth2Linkedin, or OAuth2Disqus, or OAuth2Amazon, or OAuth2Etsy, or OAuth2Facebook, or OAuth2Tradeshift, or OAuth2Paypal, or OAuth2Gitlab, or OAuth2Authentik, or OAuth2Auth0, or OAuth2FusionAuth, or OAuth2Keycloak, or OAuth2Oidc, or OAuth2Apple, or OAuth2Okta, or OAuth2Kick, or OAuth2Microsoft", "schema": { - "$ref": "#\/definitions\/siteList" + "x-oneOf": [ + { + "$ref": "#\/definitions\/oAuth2Github" + }, + { + "$ref": "#\/definitions\/oAuth2Discord" + }, + { + "$ref": "#\/definitions\/oAuth2Figma" + }, + { + "$ref": "#\/definitions\/oAuth2Dropbox" + }, + { + "$ref": "#\/definitions\/oAuth2Dailymotion" + }, + { + "$ref": "#\/definitions\/oAuth2Bitbucket" + }, + { + "$ref": "#\/definitions\/oAuth2Bitly" + }, + { + "$ref": "#\/definitions\/oAuth2Box" + }, + { + "$ref": "#\/definitions\/oAuth2Autodesk" + }, + { + "$ref": "#\/definitions\/oAuth2Google" + }, + { + "$ref": "#\/definitions\/oAuth2Zoom" + }, + { + "$ref": "#\/definitions\/oAuth2Zoho" + }, + { + "$ref": "#\/definitions\/oAuth2Yandex" + }, + { + "$ref": "#\/definitions\/oAuth2X" + }, + { + "$ref": "#\/definitions\/oAuth2WordPress" + }, + { + "$ref": "#\/definitions\/oAuth2Twitch" + }, + { + "$ref": "#\/definitions\/oAuth2Stripe" + }, + { + "$ref": "#\/definitions\/oAuth2Spotify" + }, + { + "$ref": "#\/definitions\/oAuth2Slack" + }, + { + "$ref": "#\/definitions\/oAuth2Podio" + }, + { + "$ref": "#\/definitions\/oAuth2Notion" + }, + { + "$ref": "#\/definitions\/oAuth2Salesforce" + }, + { + "$ref": "#\/definitions\/oAuth2Yahoo" + }, + { + "$ref": "#\/definitions\/oAuth2Linkedin" + }, + { + "$ref": "#\/definitions\/oAuth2Disqus" + }, + { + "$ref": "#\/definitions\/oAuth2Amazon" + }, + { + "$ref": "#\/definitions\/oAuth2Etsy" + }, + { + "$ref": "#\/definitions\/oAuth2Facebook" + }, + { + "$ref": "#\/definitions\/oAuth2Tradeshift" + }, + { + "$ref": "#\/definitions\/oAuth2Paypal" + }, + { + "$ref": "#\/definitions\/oAuth2Gitlab" + }, + { + "$ref": "#\/definitions\/oAuth2Authentik" + }, + { + "$ref": "#\/definitions\/oAuth2Auth0" + }, + { + "$ref": "#\/definitions\/oAuth2FusionAuth" + }, + { + "$ref": "#\/definitions\/oAuth2Keycloak" + }, + { + "$ref": "#\/definitions\/oAuth2Oidc" + }, + { + "$ref": "#\/definitions\/oAuth2Apple" + }, + { + "$ref": "#\/definitions\/oAuth2Okta" + }, + { + "$ref": "#\/definitions\/oAuth2Kick" + }, + { + "$ref": "#\/definitions\/oAuth2Microsoft" + } + ], + "x-discriminator": { + "propertyName": "$id", + "mapping": { + "github": "#\/definitions\/oAuth2Github", + "discord": "#\/definitions\/oAuth2Discord", + "figma": "#\/definitions\/oAuth2Figma", + "dropbox": "#\/definitions\/oAuth2Dropbox", + "dailymotion": "#\/definitions\/oAuth2Dailymotion", + "bitbucket": "#\/definitions\/oAuth2Bitbucket", + "bitly": "#\/definitions\/oAuth2Bitly", + "box": "#\/definitions\/oAuth2Box", + "autodesk": "#\/definitions\/oAuth2Autodesk", + "google": "#\/definitions\/oAuth2Google", + "zoom": "#\/definitions\/oAuth2Zoom", + "zoho": "#\/definitions\/oAuth2Zoho", + "yandex": "#\/definitions\/oAuth2Yandex", + "x": "#\/definitions\/oAuth2X", + "wordpress": "#\/definitions\/oAuth2WordPress", + "twitch": "#\/definitions\/oAuth2Twitch", + "stripe": "#\/definitions\/oAuth2Stripe", + "spotify": "#\/definitions\/oAuth2Spotify", + "slack": "#\/definitions\/oAuth2Slack", + "podio": "#\/definitions\/oAuth2Podio", + "notion": "#\/definitions\/oAuth2Notion", + "salesforce": "#\/definitions\/oAuth2Salesforce", + "yahoo": "#\/definitions\/oAuth2Yahoo", + "linkedin": "#\/definitions\/oAuth2Linkedin", + "disqus": "#\/definitions\/oAuth2Disqus", + "amazon": "#\/definitions\/oAuth2Amazon", + "etsy": "#\/definitions\/oAuth2Etsy", + "facebook": "#\/definitions\/oAuth2Facebook", + "tradeshift": "#\/definitions\/oAuth2Tradeshift", + "tradeshiftBox": "#\/definitions\/oAuth2Tradeshift", + "paypal": "#\/definitions\/oAuth2Paypal", + "paypalSandbox": "#\/definitions\/oAuth2Paypal", + "gitlab": "#\/definitions\/oAuth2Gitlab", + "authentik": "#\/definitions\/oAuth2Authentik", + "auth0": "#\/definitions\/oAuth2Auth0", + "fusionauth": "#\/definitions\/oAuth2FusionAuth", + "keycloak": "#\/definitions\/oAuth2Keycloak", + "oidc": "#\/definitions\/oAuth2Oidc", + "apple": "#\/definitions\/oAuth2Apple", + "okta": "#\/definitions\/oAuth2Okta", + "kick": "#\/definitions\/oAuth2Kick", + "microsoft": "#\/definitions\/oAuth2Microsoft" + } + } } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "sites", - "weight": 474, + "method": "getOAuth2Provider", + "group": "oauth2", + "weight": 1212, "cookies": false, "type": "", - "demo": "sites\/list.md", + "demo": "project\/get-o-auth-2-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "oauth2.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "providerId", + "description": "OAuth2 provider key. For example: github, google, apple.", + "required": true, + "type": "string", + "x-example": "amazon", + "enum": [ + "amazon", + "apple", + "auth0", + "authentik", + "autodesk", + "bitbucket", + "bitly", + "box", + "dailymotion", + "discord", + "disqus", + "dropbox", + "etsy", + "facebook", + "figma", + "fusionauth", + "github", + "gitlab", + "google", + "keycloak", + "kick", + "linkedin", + "microsoft", + "notion", + "oidc", + "okta", + "paypal", + "paypalSandbox", + "podio", + "salesforce", + "slack", + "spotify", + "stripe", + "tradeshift", + "tradeshiftBox", + "twitch", + "wordpress", + "x", + "yahoo", + "yammer", + "yandex", + "zoho", + "zoom", + "githubImagine", + "googleImagine" + ], + "x-enum-name": "ProjectOAuthProviderId", + "x-enum-keys": [], + "in": "path" + } + ] + } + }, + "\/project\/platforms": { + "get": { + "summary": "List project platforms", + "operationId": "projectListPlatforms", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "project" + ], + "description": "Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.", + "responses": { + "200": { + "description": "Platforms List", + "schema": { + "$ref": "#\/definitions\/platformList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listPlatforms", + "group": "platforms", + "weight": 1181, + "cookies": false, + "type": "", + "demo": "project\/list-platforms.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.read", "platforms": [ "console", "server" @@ -53090,7 +51375,7 @@ "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, name, hostname, bundleIdentifier, applicationId, packageIdentifierName, packageName", "required": false, "type": "array", "collectionFormat": "multi", @@ -53100,15 +51385,6 @@ "default": [], "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -53119,10 +51395,12 @@ "in": "query" } ] - }, + } + }, + "\/project\/platforms\/android": { "post": { - "summary": "Create site", - "operationId": "sitesCreate", + "summary": "Create project Android platform", + "operationId": "projectCreateAndroidPlatform", "consumes": [ "application\/json" ], @@ -53130,29 +51408,29 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Create a new site.", + "description": "Create a new Android platform for your project. Use this endpoint to register a new Android platform where your users will run your application which will interact with the Appwrite API.", "responses": { "201": { - "description": "Site", + "description": "Platform Android", "schema": { - "$ref": "#\/definitions\/site" + "$ref": "#\/definitions\/platformAndroid" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "sites", - "weight": 911, + "method": "createAndroidPlatform", + "group": "platforms", + "weight": 1185, "cookies": false, "type": "", - "demo": "sites\/create.md", + "demo": "project\/create-android-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -53176,299 +51454,151 @@ "schema": { "type": "object", "properties": { - "siteId": { + "platformId": { "type": "string", - "description": "Site ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<SITE_ID>" + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", - "description": "Site name. Max length: 128 chars.", - "default": null, + "description": "Platform name. Max length: 128 chars.", "x-example": "<NAME>" }, - "framework": { - "type": "string", - "description": "Sites framework.", - "default": null, - "x-example": "analog", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "enabled": { - "type": "boolean", - "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", - "default": true, - "x-example": false - }, - "timeout": { - "type": "integer", - "description": "Maximum request time in seconds.", - "default": 30, - "x-example": 1, - "format": "int32" - }, - "installCommand": { - "type": "string", - "description": "Install Command.", - "default": "", - "x-example": "<INSTALL_COMMAND>" - }, - "buildCommand": { + "applicationId": { "type": "string", - "description": "Build Command.", - "default": "", - "x-example": "<BUILD_COMMAND>" - }, - "startCommand": { + "description": "Android application ID. Max length: 256 chars.", + "x-example": "<APPLICATION_ID>" + } + }, + "required": [ + "platformId", + "name", + "applicationId" + ] + } + } + ] + } + }, + "\/project\/platforms\/android\/{platformId}": { + "put": { + "summary": "Update project Android platform", + "operationId": "projectUpdateAndroidPlatform", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "project" + ], + "description": "Update an Android platform by its unique ID. Use this endpoint to update the platform's name or application ID.", + "responses": { + "200": { + "description": "Platform Android", + "schema": { + "$ref": "#\/definitions\/platformAndroid" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateAndroidPlatform", + "group": "platforms", + "weight": 1190, + "cookies": false, + "type": "", + "demo": "project\/update-android-platform.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "platforms.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "type": "string", + "x-example": "<PLATFORM_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Custom start command. Leave empty to use default.", - "default": "", - "x-example": "<START_COMMAND>" + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "outputDirectory": { + "applicationId": { "type": "string", - "description": "Output Directory for site.", - "default": "", - "x-example": "<OUTPUT_DIRECTORY>" - }, - "buildRuntime": { - "type": "string", - "description": "Runtime to use during build step.", - "default": null, - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "adapter": { - "type": "string", - "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "default": "", - "x-example": "static", - "enum": [ - "static", - "ssr" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" - }, - "fallbackFile": { - "type": "string", - "description": "Fallback file for single page application sites.", - "default": "", - "x-example": "<FALLBACK_FILE>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to site code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the site deployments.", - "default": {}, - "x-example": null - }, - "runtimeSpecification": { - "type": "string", - "description": "Runtime specification for the SSR executions.", - "default": {}, - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, - "x-example": 0, - "format": "int32" + "description": "Android application ID. Max length: 256 chars.", + "x-example": "<APPLICATION_ID>" } }, "required": [ - "siteId", "name", - "framework", - "buildRuntime" + "applicationId" ] } } ] } }, - "\/sites\/frameworks": { - "get": { - "summary": "List frameworks", - "operationId": "sitesListFrameworks", - "consumes": [], + "\/project\/platforms\/apple": { + "post": { + "summary": "Create project Apple platform", + "operationId": "projectCreateApplePlatform", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a list of all frameworks that are currently available on the server instance.", + "description": "Create a new Apple platform for your project. Use this endpoint to register a new Apple platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "200": { - "description": "Frameworks List", + "201": { + "description": "Platform Apple", "schema": { - "$ref": "#\/definitions\/frameworkList" + "$ref": "#\/definitions\/platformApple" } } }, "deprecated": false, "x-appwrite": { - "method": "listFrameworks", - "group": "frameworks", - "weight": 477, + "method": "createApplePlatform", + "group": "platforms", + "weight": 1184, "cookies": false, "type": "", - "demo": "sites\/list-frameworks.md", + "demo": "project\/create-apple-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -53484,44 +51614,77 @@ "Project": [], "Key": [] } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "bundleIdentifier": { + "type": "string", + "description": "Apple bundle identifier. Max length: 256 chars.", + "x-example": "<BUNDLE_IDENTIFIER>" + } + }, + "required": [ + "platformId", + "name", + "bundleIdentifier" + ] + } + } ] } }, - "\/sites\/specifications": { - "get": { - "summary": "List specifications", - "operationId": "sitesListSpecifications", - "consumes": [], + "\/project\/platforms\/apple\/{platformId}": { + "put": { + "summary": "Update project Apple platform", + "operationId": "projectUpdateApplePlatform", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "List allowed site specifications for this instance.", + "description": "Update an Apple platform by its unique ID. Use this endpoint to update the platform's name or bundle identifier.", "responses": { "200": { - "description": "Specifications List", + "description": "Platform Apple", "schema": { - "$ref": "#\/definitions\/specificationList" + "$ref": "#\/definitions\/platformApple" } } }, "deprecated": false, "x-appwrite": { - "method": "listSpecifications", - "group": "frameworks", - "weight": 500, + "method": "updateApplePlatform", + "group": "platforms", + "weight": 1189, "cookies": false, "type": "", - "demo": "sites\/list-specifications.md", + "demo": "project\/update-apple-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "platforms.write", "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53534,43 +51697,79 @@ "Project": [], "Key": [] } + ], + "parameters": [ + { + "name": "platformId", + "description": "Platform ID.", + "required": true, + "type": "string", + "x-example": "<PLATFORM_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "bundleIdentifier": { + "type": "string", + "description": "Apple bundle identifier. Max length: 256 chars.", + "x-example": "<BUNDLE_IDENTIFIER>" + } + }, + "required": [ + "name", + "bundleIdentifier" + ] + } + } ] } }, - "\/sites\/templates": { - "get": { - "summary": "List templates", - "operationId": "sitesListTemplates", - "consumes": [], + "\/project\/platforms\/linux": { + "post": { + "summary": "Create project Linux platform", + "operationId": "projectCreateLinuxPlatform", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "List available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", + "description": "Create a new Linux platform for your project. Use this endpoint to register a new Linux platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "200": { - "description": "Site Templates List", + "201": { + "description": "Platform Linux", "schema": { - "$ref": "#\/definitions\/templateSiteList" + "$ref": "#\/definitions\/platformLinux" } } }, "deprecated": false, "x-appwrite": { - "method": "listTemplates", - "group": "templates", - "weight": 496, + "method": "createLinuxPlatform", + "group": "platforms", + "weight": 1187, "cookies": false, "type": "", - "demo": "sites\/list-templates.md", + "demo": "project\/create-linux-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "platforms.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53580,123 +51779,80 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "frameworks", - "description": "List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [], - "in": "query" - }, - { - "name": "useCases", - "description": "List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string", - "enum": [ - "portfolio", - "starter", - "events", - "ecommerce", - "documentation", - "blog", - "ai", - "forms", - "dashboard" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "default": [], - "in": "query" - }, - { - "name": "limit", - "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1, - "default": 25, - "in": "query" - }, - { - "name": "offset", - "description": "Offset the list of returned templates. Maximum offset is 5000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageName": { + "type": "string", + "description": "Linux package name. Max length: 256 chars.", + "x-example": "<PACKAGE_NAME>" + } + }, + "required": [ + "platformId", + "name", + "packageName" + ] + } } ] } }, - "\/sites\/templates\/{templateId}": { - "get": { - "summary": "Get site template", - "operationId": "sitesGetTemplate", - "consumes": [], + "\/project\/platforms\/linux\/{platformId}": { + "put": { + "summary": "Update project Linux platform", + "operationId": "projectUpdateLinuxPlatform", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", + "description": "Update a Linux platform by its unique ID. Use this endpoint to update the platform's name or package name.", "responses": { "200": { - "description": "Template Site", + "description": "Platform Linux", "schema": { - "$ref": "#\/definitions\/templateSite" + "$ref": "#\/definitions\/platformLinux" } } }, "deprecated": false, "x-appwrite": { - "method": "getTemplate", - "group": "templates", - "weight": 497, + "method": "updateLinuxPlatform", + "group": "platforms", + "weight": 1192, "cookies": false, "type": "", - "demo": "sites\/get-template.md", + "demo": "project\/update-linux-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": "platforms.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -53706,123 +51862,79 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "templateId", - "description": "Template ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "type": "string", - "x-example": "<TEMPLATE_ID>", + "x-example": "<PLATFORM_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageName": { + "type": "string", + "description": "Linux package name. Max length: 256 chars.", + "x-example": "<PACKAGE_NAME>" + } + }, + "required": [ + "name", + "packageName" + ] + } } ] } }, - "\/sites\/usage": { - "get": { - "summary": "Get sites usage", - "operationId": "sitesListUsage", - "consumes": [], - "produces": [ + "\/project\/platforms\/web": { + "post": { + "summary": "Create project web platform", + "operationId": "projectCreateWebPlatform", + "consumes": [ "application\/json" ], - "tags": [ - "sites" - ], - "description": "Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", - "responses": { - "200": { - "description": "UsageSites", - "schema": { - "$ref": "#\/definitions\/usageSites" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 498, - "cookies": false, - "type": "", - "demo": "sites\/list-usage.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - } - ] - } - }, - "\/sites\/{siteId}": { - "get": { - "summary": "Get site", - "operationId": "sitesGet", - "consumes": [], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a site by its unique ID.", + "description": "Create a new web platform for your project. Use this endpoint to register a new platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "200": { - "description": "Site", + "201": { + "description": "Platform Web", "schema": { - "$ref": "#\/definitions\/site" + "$ref": "#\/definitions\/platformWeb" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "sites", - "weight": 473, + "method": "createWebPlatform", + "group": "platforms", + "weight": 1183, "cookies": false, "type": "", - "demo": "sites\/get.md", + "demo": "project\/create-web-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -53841,18 +51953,41 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "hostname": { + "type": "string", + "description": "Platform web hostname. Max length: 256 chars.", + "x-example": "app.example.com" + } + }, + "required": [ + "platformId", + "name", + "hostname" + ] + } } ] - }, + } + }, + "\/project\/platforms\/web\/{platformId}": { "put": { - "summary": "Update site", - "operationId": "sitesUpdate", + "summary": "Update project web platform", + "operationId": "projectUpdateWebPlatform", "consumes": [ "application\/json" ], @@ -53860,29 +51995,29 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Update site by its unique ID.", + "description": "Update a web platform by its unique ID. Use this endpoint to update the platform's name or hostname.", "responses": { "200": { - "description": "Site", + "description": "Platform Web", "schema": { - "$ref": "#\/definitions\/site" + "$ref": "#\/definitions\/platformWeb" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "sites", - "weight": 912, + "method": "updateWebPlatform", + "group": "platforms", + "weight": 1188, "cookies": false, "type": "", - "demo": "sites\/update.md", + "demo": "project\/update-web-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -53901,11 +52036,11 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "type": "string", - "x-example": "<SITE_ID>", + "x-example": "<PLATFORM_ID>", "in": "path" }, { @@ -53916,284 +52051,58 @@ "properties": { "name": { "type": "string", - "description": "Site name. Max length: 128 chars.", - "default": null, + "description": "Platform name. Max length: 128 chars.", "x-example": "<NAME>" }, - "framework": { - "type": "string", - "description": "Sites framework.", - "default": null, - "x-example": "analog", - "enum": [ - "analog", - "angular", - "nextjs", - "react", - "nuxt", - "vue", - "sveltekit", - "astro", - "tanstack-start", - "remix", - "lynx", - "flutter", - "react-native", - "vite", - "other" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "enabled": { - "type": "boolean", - "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "logging": { - "type": "boolean", - "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", - "default": true, - "x-example": false - }, - "timeout": { - "type": "integer", - "description": "Maximum request time in seconds.", - "default": 30, - "x-example": 1, - "format": "int32" - }, - "installCommand": { - "type": "string", - "description": "Install Command.", - "default": "", - "x-example": "<INSTALL_COMMAND>" - }, - "buildCommand": { - "type": "string", - "description": "Build Command.", - "default": "", - "x-example": "<BUILD_COMMAND>" - }, - "startCommand": { - "type": "string", - "description": "Custom start command. Leave empty to use default.", - "default": "", - "x-example": "<START_COMMAND>" - }, - "outputDirectory": { - "type": "string", - "description": "Output Directory for site.", - "default": "", - "x-example": "<OUTPUT_DIRECTORY>" - }, - "buildRuntime": { - "type": "string", - "description": "Runtime to use during build step.", - "default": "", - "x-example": "node-14.5", - "enum": [ - "node-14.5", - "node-16.0", - "node-18.0", - "node-19.0", - "node-20.0", - "node-21.0", - "node-22", - "node-23", - "node-24", - "node-25", - "php-8.0", - "php-8.1", - "php-8.2", - "php-8.3", - "php-8.4", - "ruby-3.0", - "ruby-3.1", - "ruby-3.2", - "ruby-3.3", - "ruby-3.4", - "ruby-4.0", - "python-3.8", - "python-3.9", - "python-3.10", - "python-3.11", - "python-3.12", - "python-3.13", - "python-3.14", - "python-ml-3.11", - "python-ml-3.12", - "python-ml-3.13", - "deno-1.21", - "deno-1.24", - "deno-1.35", - "deno-1.40", - "deno-1.46", - "deno-2.0", - "deno-2.5", - "deno-2.6", - "dart-2.15", - "dart-2.16", - "dart-2.17", - "dart-2.18", - "dart-2.19", - "dart-3.0", - "dart-3.1", - "dart-3.3", - "dart-3.5", - "dart-3.8", - "dart-3.9", - "dart-3.10", - "dart-3.11", - "dotnet-6.0", - "dotnet-7.0", - "dotnet-8.0", - "dotnet-10", - "java-8.0", - "java-11.0", - "java-17.0", - "java-18.0", - "java-21.0", - "java-22", - "java-25", - "swift-5.5", - "swift-5.8", - "swift-5.9", - "swift-5.10", - "swift-6.2", - "kotlin-1.6", - "kotlin-1.8", - "kotlin-1.9", - "kotlin-2.0", - "kotlin-2.3", - "cpp-17", - "cpp-20", - "bun-1.0", - "bun-1.1", - "bun-1.2", - "bun-1.3", - "go-1.23", - "go-1.24", - "go-1.25", - "go-1.26", - "rust-1.83", - "static-1", - "flutter-3.24", - "flutter-3.27", - "flutter-3.29", - "flutter-3.32", - "flutter-3.35", - "flutter-3.38", - "flutter-3.41" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "adapter": { - "type": "string", - "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "default": "", - "x-example": "static", - "enum": [ - "static", - "ssr" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "fallbackFile": { - "type": "string", - "description": "Fallback file for single page application sites.", - "default": "", - "x-example": "<FALLBACK_FILE>" - }, - "installationId": { - "type": "string", - "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" - }, - "providerRepositoryId": { - "type": "string", - "description": "Repository ID of the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "providerBranch": { - "type": "string", - "description": "Production branch for the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" - }, - "providerSilentMode": { - "type": "boolean", - "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false - }, - "providerRootDirectory": { - "type": "string", - "description": "Path to site code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" - }, - "buildSpecification": { - "type": "string", - "description": "Build specification for the site deployments.", - "default": {}, - "x-example": null - }, - "runtimeSpecification": { + "hostname": { "type": "string", - "description": "Runtime specification for the SSR executions.", - "default": {}, - "x-example": null - }, - "deploymentRetention": { - "type": "integer", - "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, - "x-example": 0, - "format": "int32" + "description": "Platform web hostname. Max length: 256 chars.", + "x-example": "app.example.com" } }, "required": [ "name", - "framework" + "hostname" ] } } ] - }, - "delete": { - "summary": "Delete site", - "operationId": "sitesDelete", + } + }, + "\/project\/platforms\/windows": { + "post": { + "summary": "Create project Windows platform", + "operationId": "projectCreateWindowsPlatform", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "sites" + "project" ], - "description": "Delete a site by its unique ID.", + "description": "Create a new Windows platform for your project. Use this endpoint to register a new Windows platform where your users will run your application which will interact with the Appwrite API.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Platform Windows", + "schema": { + "$ref": "#\/definitions\/platformWindows" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "sites", - "weight": 476, + "method": "createWindowsPlatform", + "group": "platforms", + "weight": 1186, "cookies": false, "type": "", - "demo": "sites\/delete.md", + "demo": "project\/create-windows-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -54212,20 +52121,41 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "platformId": { + "type": "string", + "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<PLATFORM_ID>" + }, + "name": { + "type": "string", + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageIdentifierName": { + "type": "string", + "description": "Windows package identifier name. Max length: 256 chars.", + "x-example": "<PACKAGE_IDENTIFIER_NAME>" + } + }, + "required": [ + "platformId", + "name", + "packageIdentifierName" + ] + } } ] } }, - "\/sites\/{siteId}\/deployment": { - "patch": { - "summary": "Update site's deployment", - "operationId": "sitesUpdateSiteDeployment", + "\/project\/platforms\/windows\/{platformId}": { + "put": { + "summary": "Update project Windows platform", + "operationId": "projectUpdateWindowsPlatform", "consumes": [ "application\/json" ], @@ -54233,29 +52163,29 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", + "description": "Update a Windows platform by its unique ID. Use this endpoint to update the platform's name or package identifier name.", "responses": { "200": { - "description": "Site", + "description": "Platform Windows", "schema": { - "$ref": "#\/definitions\/site" + "$ref": "#\/definitions\/platformWindows" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSiteDeployment", - "group": "sites", - "weight": 483, + "method": "updateWindowsPlatform", + "group": "platforms", + "weight": 1191, "cookies": false, "type": "", - "demo": "sites\/update-site-deployment.md", + "demo": "project\/update-windows-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" @@ -54274,11 +52204,11 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "type": "string", - "x-example": "<SITE_ID>", + "x-example": "<PLATFORM_ID>", "in": "path" }, { @@ -54287,53 +52217,84 @@ "schema": { "type": "object", "properties": { - "deploymentId": { + "name": { "type": "string", - "description": "Deployment ID.", - "default": null, - "x-example": "<DEPLOYMENT_ID>" + "description": "Platform name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "packageIdentifierName": { + "type": "string", + "description": "Windows package identifier name. Max length: 256 chars.", + "x-example": "<PACKAGE_IDENTIFIER_NAME>" } }, "required": [ - "deploymentId" + "name", + "packageIdentifierName" ] } } ] } }, - "\/sites\/{siteId}\/deployments": { + "\/project\/platforms\/{platformId}": { "get": { - "summary": "List deployments", - "operationId": "sitesListDeployments", + "summary": "Get project platform", + "operationId": "projectGetPlatform", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a list of all the site's code deployments. You can use the query params to filter your results.", + "description": "Get a platform by its unique ID. This endpoint returns the platform's details, including its name, type, and key configurations.", "responses": { "200": { - "description": "Deployments List", + "description": "Platform Web, or Platform Apple, or Platform Android, or Platform Windows, or Platform Linux", "schema": { - "$ref": "#\/definitions\/deploymentList" - } - } - }, - "deprecated": false, + "x-oneOf": [ + { + "$ref": "#\/definitions\/platformWeb" + }, + { + "$ref": "#\/definitions\/platformApple" + }, + { + "$ref": "#\/definitions\/platformAndroid" + }, + { + "$ref": "#\/definitions\/platformWindows" + }, + { + "$ref": "#\/definitions\/platformLinux" + } + ], + "x-discriminator": { + "propertyName": "type", + "mapping": { + "web": "#\/definitions\/platformWeb", + "apple": "#\/definitions\/platformApple", + "android": "#\/definitions\/platformAndroid", + "windows": "#\/definitions\/platformWindows", + "linux": "#\/definitions\/platformLinux" + } + } + } + } + }, + "deprecated": false, "x-appwrite": { - "method": "listDeployments", - "group": "deployments", - "weight": 482, + "method": "getPlatform", + "group": "platforms", + "weight": 1182, "cookies": false, "type": "", - "demo": "sites\/list-deployments.md", + "demo": "project\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": "platforms.read", "platforms": [ "console", "server" @@ -54352,83 +52313,48 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "type": "string", - "x-example": "<SITE_ID>", + "x-example": "<PLATFORM_ID>", "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" } ] }, - "post": { - "summary": "Create deployment", - "operationId": "sitesCreateDeployment", + "delete": { + "summary": "Delete project platform", + "operationId": "projectDeletePlatform", "consumes": [ - "multipart\/form-data" - ], - "produces": [ "application\/json" ], + "produces": [], "tags": [ - "sites" + "project" ], - "description": "Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", + "description": "Delete a platform by its unique ID. This endpoint removes the platform and all its configurations from the project.", "responses": { - "202": { - "description": "Deployment", - "schema": { - "$ref": "#\/definitions\/deployment" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createDeployment", - "group": "deployments", - "weight": 478, + "method": "deletePlatform", + "group": "platforms", + "weight": 1193, "cookies": false, - "type": "upload", - "demo": "sites\/create-deployment.md", + "type": "", + "demo": "project\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "platforms.write", "platforms": [ "console", "server" ], - "packaging": true, + "packaging": false, "public": true, "auth": { "Project": [] @@ -54442,90 +52368,51 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", + "name": "platformId", + "description": "Platform ID.", "required": true, "type": "string", - "x-example": "<SITE_ID>", + "x-example": "<PLATFORM_ID>", "in": "path" - }, - { - "name": "installCommand", - "description": "Install Commands.", - "required": false, - "type": "string", - "x-example": "<INSTALL_COMMAND>", - "in": "formData" - }, - { - "name": "buildCommand", - "description": "Build Commands.", - "required": false, - "type": "string", - "x-example": "<BUILD_COMMAND>", - "in": "formData" - }, - { - "name": "outputDirectory", - "description": "Output Directory.", - "required": false, - "type": "string", - "x-example": "<OUTPUT_DIRECTORY>", - "in": "formData" - }, - { - "name": "code", - "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", - "required": true, - "type": "file", - "in": "formData" - }, - { - "name": "activate", - "description": "Automatically activate the deployment when it is finished building.", - "required": false, - "type": "boolean", - "x-example": false, - "default": false, - "in": "formData" } ] } }, - "\/sites\/{siteId}\/deployments\/duplicate": { - "post": { - "summary": "Create duplicate deployment", - "operationId": "sitesCreateDuplicateDeployment", - "consumes": [ - "application\/json" - ], + "\/project\/policies": { + "get": { + "summary": "List project policies", + "operationId": "projectListPolicies", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", + "description": "Get a list of all project policies and their current configuration.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Policies List", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/policyList" } } }, "deprecated": false, "x-appwrite": { - "method": "createDuplicateDeployment", - "group": "deployments", - "weight": 486, + "method": "listPolicies", + "group": "policies", + "weight": 1199, "cookies": false, "type": "", - "demo": "sites\/create-duplicate-deployment.md", + "demo": "project\/list-policies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.read", + "project.policies.read" + ], "platforms": [ "console", "server" @@ -54544,38 +52431,33 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "deploymentId": { - "type": "string", - "description": "Deployment ID.", - "default": null, - "x-example": "<DEPLOYMENT_ID>" - } - }, - "required": [ - "deploymentId" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/sites\/{siteId}\/deployments\/template": { - "post": { - "summary": "Create template deployment", - "operationId": "sitesCreateTemplateDeployment", + "\/project\/policies\/deny-aliased-email": { + "patch": { + "summary": "Update deny aliased email policy", + "operationId": "projectUpdateDenyAliasedEmailPolicy", "consumes": [ "application\/json" ], @@ -54583,29 +52465,32 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", + "description": "Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "createTemplateDeployment", - "group": "deployments", - "weight": 479, + "method": "updateDenyAliasedEmailPolicy", + "group": "policies", + "weight": 1255, "cookies": false, "type": "", - "demo": "sites\/create-template-deployment.md", + "demo": "project\/update-deny-aliased-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54623,80 +52508,30 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "repository": { - "type": "string", - "description": "Repository name of the template.", - "default": null, - "x-example": "<REPOSITORY>" - }, - "owner": { - "type": "string", - "description": "The name of the owner of the template.", - "default": null, - "x-example": "<OWNER>" - }, - "rootDirectory": { - "type": "string", - "description": "Path to site code in the template repo.", - "default": null, - "x-example": "<ROOT_DIRECTORY>" - }, - "type": { - "type": "string", - "description": "Type for the reference provided. Can be commit, branch, or tag", - "default": null, - "x-example": "branch", - "enum": [ - "branch", - "commit", - "tag" - ], - "x-enum-name": "TemplateReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "Reference value, can be a commit hash, branch name, or release tag", - "default": null, - "x-example": "<REFERENCE>" - }, - "activate": { + "enabled": { "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "default": false, + "description": "Set whether or not to block aliased emails during signup and email updates.", "x-example": false } }, "required": [ - "repository", - "owner", - "rootDirectory", - "type", - "reference" + "enabled" ] } } ] } }, - "\/sites\/{siteId}\/deployments\/vcs": { - "post": { - "summary": "Create VCS deployment", - "operationId": "sitesCreateVcsDeployment", + "\/project\/policies\/deny-disposable-email": { + "patch": { + "summary": "Update deny disposable email policy", + "operationId": "projectUpdateDenyDisposableEmailPolicy", "consumes": [ "application\/json" ], @@ -54704,29 +52539,32 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Create a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", + "description": "Configures if disposable emails from known temporary domains are denied during new users sign-ups and email updates.", "responses": { - "202": { - "description": "Deployment", + "200": { + "description": "Project", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "createVcsDeployment", - "group": "deployments", - "weight": 480, + "method": "updateDenyDisposableEmailPolicy", + "group": "policies", + "weight": 1256, "cookies": false, "type": "", - "demo": "sites\/create-vcs-deployment.md", + "demo": "project\/update-deny-disposable-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54744,87 +52582,63 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "type": { - "type": "string", - "description": "Type of reference passed. Allowed values are: branch, commit", - "default": null, - "x-example": "branch", - "enum": [ - "branch", - "commit", - "tag" - ], - "x-enum-name": "VCSReferenceType", - "x-enum-keys": [] - }, - "reference": { - "type": "string", - "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "default": null, - "x-example": "<REFERENCE>" - }, - "activate": { + "enabled": { "type": "boolean", - "description": "Automatically activate the deployment when it is finished building.", - "default": false, + "description": "Set whether or not to block disposable email addresses during signup and email updates.", "x-example": false } }, "required": [ - "type", - "reference" + "enabled" ] } } ] } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}": { - "get": { - "summary": "Get deployment", - "operationId": "sitesGetDeployment", - "consumes": [], + "\/project\/policies\/deny-free-email": { + "patch": { + "summary": "Update deny free email policy", + "operationId": "projectUpdateDenyFreeEmailPolicy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a site deployment by its unique ID.", + "description": "Configures if emails from free providers such as Gmail or Yahoo are denied during new users sign-ups and email updates.", "responses": { "200": { - "description": "Deployment", + "description": "Project", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getDeployment", - "group": "deployments", - "weight": 481, + "method": "updateDenyFreeEmailPolicy", + "group": "policies", + "weight": 1257, "cookies": false, "type": "", - "demo": "sites\/get-deployment.md", + "demo": "project\/update-deny-free-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54843,51 +52657,62 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", - "required": true, - "type": "string", - "x-example": "<DEPLOYMENT_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to block free email addresses during signup and email updates.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] - }, - "delete": { - "summary": "Delete deployment", - "operationId": "sitesDeleteDeployment", + } + }, + "\/project\/policies\/membership-privacy": { + "patch": { + "summary": "Update membership privacy policy", + "operationId": "projectUpdateMembershipPrivacyPolicy", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "sites" + "project" ], - "description": "Delete a site deployment by its unique ID.", + "description": "Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDeployment", - "group": "deployments", - "weight": 484, + "method": "updateMembershipPrivacyPolicy", + "group": "policies", + "weight": 1201, "cookies": false, "type": "", - "demo": "sites\/delete-deployment.md", + "demo": "project\/update-membership-privacy-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54906,56 +52731,79 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", - "required": true, - "type": "string", - "x-example": "<DEPLOYMENT_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "boolean", + "description": "Set to true if you want make user ID visible to all team members, or false to hide it.", + "x-example": false + }, + "userEmail": { + "type": "boolean", + "description": "Set to true if you want make user email visible to all team members, or false to hide it.", + "x-example": false + }, + "userPhone": { + "type": "boolean", + "description": "Set to true if you want make user phone number visible to all team members, or false to hide it.", + "x-example": false + }, + "userName": { + "type": "boolean", + "description": "Set to true if you want make user name visible to all team members, or false to hide it.", + "x-example": false + }, + "userMFA": { + "type": "boolean", + "description": "Set to true if you want make user MFA status visible to all team members, or false to hide it.", + "x-example": false + } + } + } } ] } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}\/download": { - "get": { - "summary": "Get deployment download", - "operationId": "sitesGetDeploymentDownload", - "consumes": [], + "\/project\/policies\/password-dictionary": { + "patch": { + "summary": "Update password dictionary policy", + "operationId": "projectUpdatePasswordDictionaryPolicy", + "consumes": [ + "application\/json" + ], "produces": [ - "*\/*" + "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": "Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.", "responses": { "200": { - "description": "File", + "description": "Project", "schema": { - "type": "file" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getDeploymentDownload", - "group": "deployments", - "weight": 485, + "method": "updatePasswordDictionaryPolicy", + "group": "policies", + "weight": 1202, "cookies": false, - "type": "location", - "demo": "sites\/get-deployment-download.md", + "type": "", + "demo": "project\/update-password-dictionary-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -54969,49 +52817,34 @@ "security": [ { "Project": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", - "required": true, - "type": "string", - "x-example": "<DEPLOYMENT_ID>", - "in": "path" - }, - { - "name": "type", - "description": "Deployment file to download. Can be: \"source\", \"output\".", - "required": false, - "type": "string", - "x-example": "source", - "enum": [ - "source", - "output" - ], - "x-enum-name": "DeploymentDownloadType", - "x-enum-keys": [], - "default": "source", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] } }, - "\/sites\/{siteId}\/deployments\/{deploymentId}\/status": { + "\/project\/policies\/password-history": { "patch": { - "summary": "Update deployment status", - "operationId": "sitesUpdateDeploymentStatus", + "summary": "Update password history policy", + "operationId": "projectUpdatePasswordHistoryPolicy", "consumes": [ "application\/json" ], @@ -55019,29 +52852,32 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", + "description": "Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.\n\nKeep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.", "responses": { "200": { - "description": "Deployment", + "description": "Project", "schema": { - "$ref": "#\/definitions\/deployment" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDeploymentStatus", - "group": "deployments", - "weight": 487, + "method": "updatePasswordHistoryPolicy", + "group": "policies", + "weight": 1203, "cookies": false, "type": "", - "demo": "sites\/update-deployment-status.md", + "demo": "project\/update-password-history-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55060,56 +52896,64 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "deploymentId", - "description": "Deployment ID.", - "required": true, - "type": "string", - "x-example": "<DEPLOYMENT_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + }, + "required": [ + "total" + ] + } } ] } }, - "\/sites\/{siteId}\/logs": { - "get": { - "summary": "List logs", - "operationId": "sitesListLogs", - "consumes": [], + "\/project\/policies\/password-personal-data": { + "patch": { + "summary": "Update password personal data policy", + "operationId": "projectUpdatePasswordPersonalDataPolicy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a list of all site logs. You can use the query params to filter your results.", + "description": "Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.", "responses": { "200": { - "description": "Executions List", + "description": "Project", "schema": { - "$ref": "#\/definitions\/executionList" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 489, + "method": "updatePasswordPersonalDataPolicy", + "group": "policies", + "weight": 1204, "cookies": false, "type": "", - "demo": "sites\/list-logs.md", + "demo": "project\/update-password-personal-data-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55128,69 +52972,62 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] } }, - "\/sites\/{siteId}\/logs\/{logId}": { - "get": { - "summary": "Get log", - "operationId": "sitesGetLog", - "consumes": [], + "\/project\/policies\/session-alert": { + "patch": { + "summary": "Update session alert policy", + "operationId": "projectUpdateSessionAlertPolicy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a site request log by its unique ID.", + "description": "Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.", "responses": { "200": { - "description": "Execution", + "description": "Project", "schema": { - "$ref": "#\/definitions\/execution" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getLog", - "group": "logs", - "weight": 488, + "method": "updateSessionAlertPolicy", + "group": "policies", + "weight": 1205, "cookies": false, "type": "", - "demo": "sites\/get-log.md", + "demo": "project\/update-session-alert-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55209,26 +53046,29 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "logId", - "description": "Log ID.", - "required": true, - "type": "string", - "x-example": "<LOG_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] - }, - "delete": { - "summary": "Delete log", - "operationId": "sitesDeleteLog", + } + }, + "\/project\/policies\/session-duration": { + "patch": { + "summary": "Update session duration policy", + "operationId": "projectUpdateSessionDurationPolicy", "consumes": [ "application\/json" ], @@ -55236,26 +53076,32 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Delete a site log by its unique ID.", + "description": "Update maximum duration how long sessions created within a project should stay active for.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteLog", - "group": "logs", - "weight": 490, + "method": "updateSessionDurationPolicy", + "group": "policies", + "weight": 1206, "cookies": false, "type": "", - "demo": "sites\/delete-log.md", + "demo": "project\/update-session-duration-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "log.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55274,58 +53120,66 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "logId", - "description": "Log ID.", - "required": true, - "type": "string", - "x-example": "<LOG_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "duration": { + "type": "integer", + "description": "Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.", + "x-example": 5, + "format": "int32" + } + }, + "required": [ + "duration" + ] + } } ] } }, - "\/sites\/{siteId}\/usage": { - "get": { - "summary": "Get site usage", - "operationId": "sitesGetUsage", - "consumes": [], + "\/project\/policies\/session-invalidation": { + "patch": { + "summary": "Update session invalidation policy", + "operationId": "projectUpdateSessionInvalidationPolicy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", + "description": "Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.", "responses": { "200": { - "description": "UsageSite", + "description": "Project", "schema": { - "$ref": "#\/definitions\/usageSite" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 499, + "method": "updateSessionInvalidationPolicy", + "group": "policies", + "weight": 1207, "cookies": false, "type": "", - "demo": "sites\/get-usage.md", + "demo": "project\/update-session-invalidation-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, @@ -55335,73 +53189,68 @@ }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "siteId", - "description": "Site ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] } }, - "\/sites\/{siteId}\/variables": { - "get": { - "summary": "List variables", - "operationId": "sitesListVariables", - "consumes": [], + "\/project\/policies\/session-limit": { + "patch": { + "summary": "Update session limit policy", + "operationId": "projectUpdateSessionLimitPolicy", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a list of all variables of a specific site.", + "description": "Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.", "responses": { "200": { - "description": "Variables List", + "description": "Project", "schema": { - "$ref": "#\/definitions\/variableList" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "listVariables", - "group": "variables", - "weight": 493, + "method": "updateSessionLimitPolicy", + "group": "policies", + "weight": 1208, "cookies": false, "type": "", - "demo": "sites\/list-variables.md", + "demo": "project\/update-session-limit-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55420,39 +53269,31 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true + } + }, + "required": [ + "total" + ] + } } ] - }, - "post": { - "summary": "Create variable", - "operationId": "sitesCreateVariable", + } + }, + "\/project\/policies\/user-limit": { + "patch": { + "summary": "Update user limit policy", + "operationId": "projectUpdateUserLimitPolicy", "consumes": [ "application\/json" ], @@ -55460,29 +53301,32 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", + "description": "Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.", "responses": { - "201": { - "description": "Variable", - "schema": { - "$ref": "#\/definitions\/variable" + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "createVariable", - "group": "variables", - "weight": 913, + "method": "updateUserLimitPolicy", + "group": "policies", + "weight": 1209, "cookies": false, "type": "", - "demo": "sites\/create-variable.md", + "demo": "project\/update-user-limit-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": [ + "policies.write", + "project.policies.write" + ], "platforms": [ "console", "server" @@ -55500,87 +53344,105 @@ } ], "parameters": [ - { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "variableId": { - "type": "string", - "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<VARIABLE_ID>" - }, - "key": { - "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>" - }, - "value": { - "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>" - }, - "secret": { - "type": "boolean", - "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "default": true, - "x-example": false + "total": { + "type": "integer", + "description": "Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.", + "x-example": 1, + "format": "int32", + "x-nullable": true } }, "required": [ - "variableId", - "key", - "value" + "total" ] } } ] } }, - "\/sites\/{siteId}\/variables\/{variableId}": { + "\/project\/policies\/{policyId}": { "get": { - "summary": "Get variable", - "operationId": "sitesGetVariable", + "summary": "Get project policy", + "operationId": "projectGetPolicy", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Get a variable by its unique ID.", + "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", "responses": { "200": { - "description": "Variable", + "description": "Policy Password Dictionary, or Policy Password History, 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", "schema": { - "$ref": "#\/definitions\/variable" + "x-oneOf": [ + { + "$ref": "#\/definitions\/policyPasswordDictionary" + }, + { + "$ref": "#\/definitions\/policyPasswordHistory" + }, + { + "$ref": "#\/definitions\/policyPasswordPersonalData" + }, + { + "$ref": "#\/definitions\/policySessionAlert" + }, + { + "$ref": "#\/definitions\/policySessionDuration" + }, + { + "$ref": "#\/definitions\/policySessionInvalidation" + }, + { + "$ref": "#\/definitions\/policySessionLimit" + }, + { + "$ref": "#\/definitions\/policyUserLimit" + }, + { + "$ref": "#\/definitions\/policyMembershipPrivacy" + } + ], + "x-discriminator": { + "propertyName": "$id", + "mapping": { + "password-dictionary": "#\/definitions\/policyPasswordDictionary", + "password-history": "#\/definitions\/policyPasswordHistory", + "password-personal-data": "#\/definitions\/policyPasswordPersonalData", + "session-alert": "#\/definitions\/policySessionAlert", + "session-duration": "#\/definitions\/policySessionDuration", + "session-invalidation": "#\/definitions\/policySessionInvalidation", + "session-limit": "#\/definitions\/policySessionLimit", + "user-limit": "#\/definitions\/policyUserLimit", + "membership-privacy": "#\/definitions\/policyMembershipPrivacy" + } + } } } }, "deprecated": false, "x-appwrite": { - "method": "getVariable", - "group": "variables", - "weight": 492, + "method": "getPolicy", + "group": "policies", + "weight": 1200, "cookies": false, "type": "", - "demo": "sites\/get-variable.md", + "demo": "project\/get-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.read", + "scope": [ + "policies.read", + "project.policies.read" + ], "platforms": [ "console", "server" @@ -55599,26 +53461,33 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "variableId", - "description": "Variable unique ID.", + "name": "policyId", + "description": "Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.", "required": true, "type": "string", - "x-example": "<VARIABLE_ID>", + "x-example": "password-dictionary", + "enum": [ + "password-dictionary", + "password-history", + "password-personal-data", + "session-alert", + "session-duration", + "session-invalidation", + "session-limit", + "user-limit", + "membership-privacy" + ], + "x-enum-name": "ProjectPolicyId", + "x-enum-keys": [], "in": "path" } ] - }, - "put": { - "summary": "Update variable", - "operationId": "sitesUpdateVariable", + } + }, + "\/project\/protocols\/{protocolId}": { + "patch": { + "summary": "Update project protocol", + "operationId": "projectUpdateProtocol", "consumes": [ "application\/json" ], @@ -55626,29 +53495,29 @@ "application\/json" ], "tags": [ - "sites" + "project" ], - "description": "Update variable by its unique ID.", + "description": "Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project. ", "responses": { "200": { - "description": "Variable", + "description": "Project", "schema": { - "$ref": "#\/definitions\/variable" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "updateVariable", - "group": "variables", - "weight": 494, + "method": "updateProtocol", + "group": null, + "weight": 1163, "cookies": false, "type": "", - "demo": "sites\/update-variable.md", + "demo": "project\/update-protocol.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -55667,19 +53536,18 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", - "required": true, - "type": "string", - "x-example": "<SITE_ID>", - "in": "path" - }, - { - "name": "variableId", - "description": "Variable unique ID.", + "name": "protocolId", + "description": "Protocol name. Can be one of: rest, graphql, websocket", "required": true, "type": "string", - "x-example": "<VARIABLE_ID>", + "x-example": "rest", + "enum": [ + "rest", + "graphql", + "websocket" + ], + "x-enum-name": "ProjectProtocolId", + "x-enum-keys": [], "in": "path" }, { @@ -55688,60 +53556,54 @@ "schema": { "type": "object", "properties": { - "key": { - "type": "string", - "description": "Variable key. Max length: 255 chars.", - "default": null, - "x-example": "<KEY>", - "x-nullable": true - }, - "value": { - "type": "string", - "description": "Variable value. Max length: 8192 chars.", - "default": null, - "x-example": "<VALUE>", - "x-nullable": true - }, - "secret": { + "enabled": { "type": "boolean", - "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "default": null, - "x-example": false, - "x-nullable": true + "description": "Protocol status.", + "x-example": false } - } + }, + "required": [ + "enabled" + ] } } ] - }, - "delete": { - "summary": "Delete variable", - "operationId": "sitesDeleteVariable", + } + }, + "\/project\/services\/{serviceId}": { + "patch": { + "summary": "Update project service", + "operationId": "projectUpdateService", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "sites" + "project" ], - "description": "Delete a variable by its unique ID.", + "description": "Update properties of a specific service. Use this endpoint to enable or disable a service in your project. ", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteVariable", - "group": "variables", - "weight": 495, + "method": "updateService", + "group": null, + "weight": 1164, "cookies": false, "type": "", - "demo": "sites\/delete-variable.md", + "demo": "project\/update-service.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "sites.write", + "scope": "project.write", "platforms": [ "console", "server" @@ -55760,63 +53622,95 @@ ], "parameters": [ { - "name": "siteId", - "description": "Site unique ID.", + "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", "required": true, "type": "string", - "x-example": "<SITE_ID>", + "x-example": "account", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId", + "x-enum-keys": [], "in": "path" }, { - "name": "variableId", - "description": "Variable unique ID.", - "required": true, - "type": "string", - "x-example": "<VARIABLE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } } ] } }, - "\/storage\/buckets": { - "get": { - "summary": "List buckets", - "operationId": "storageListBuckets", - "consumes": [], + "\/project\/smtp": { + "patch": { + "summary": "Update project SMTP configuration", + "operationId": "projectUpdateSMTP", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Get a list of all the storage buckets. You can use the query params to filter your results.", + "description": "Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.", "responses": { "200": { - "description": "Buckets List", + "description": "Project", "schema": { - "$ref": "#\/definitions\/bucketList" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "listBuckets", - "group": "buckets", - "weight": 543, + "method": "updateSMTP", + "group": "smtp", + "weight": 1165, "cookies": false, "type": "", - "demo": "storage\/list-buckets.md", + "demo": "project\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.read", + "scope": "project.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -55829,77 +53723,121 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus, transformations", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "SMTP server hostname (domain)", + "x-example": null, + "x-nullable": true + }, + "port": { + "type": "integer", + "description": "SMTP server port", + "x-example": null, + "format": "int32", + "x-nullable": true + }, + "username": { + "type": "string", + "description": "SMTP server username. Pass an empty string to clear a previously set value.", + "x-example": "<USERNAME>", + "x-nullable": true + }, + "password": { + "type": "string", + "description": "SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).", + "x-example": "<PASSWORD>", + "x-nullable": true + }, + "senderEmail": { + "type": "string", + "description": "Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "senderName": { + "type": "string", + "description": "Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", + "x-example": "<SENDER_NAME>", + "x-nullable": true + }, + "replyToEmail": { + "type": "string", + "description": "Email used when user replies to the email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToName": { + "type": "string", + "description": "Name used when user replies to the email. Pass an empty string to clear a previously set value.", + "x-example": "<REPLY_TO_NAME>", + "x-nullable": true + }, + "secure": { + "type": "string", + "description": "Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.", + "x-example": "tls", + "enum": [ + "tls", + "ssl" + ], + "x-enum-name": "ProjectSMTPSecure", + "x-enum-keys": [], + "x-nullable": true + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.", + "x-example": false, + "x-nullable": true + } + } + } } ] - }, + } + }, + "\/project\/smtp\/tests": { "post": { - "summary": "Create bucket", - "operationId": "storageCreateBucket", + "summary": "Create project SMTP test", + "operationId": "projectCreateSMTPTest", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "storage" + "project" ], - "description": "Create a new storage bucket.", + "description": "Send a test email to verify SMTP configuration. ", "responses": { - "201": { - "description": "Bucket", - "schema": { - "$ref": "#\/definitions\/bucket" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createBucket", - "group": "buckets", - "weight": 541, + "method": "createSMTPTest", + "group": "smtp", + "weight": 1166, "cookies": false, "type": "", - "demo": "storage\/create-bucket.md", + "demo": "project\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", + "scope": "project.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -55917,136 +53855,61 @@ "schema": { "type": "object", "properties": { - "bucketId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<BUCKET_ID>" - }, - "name": { - "type": "string", - "description": "Bucket name", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "fileSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "default": true, - "x-example": false - }, - "maximumFileSize": { - "type": "integer", - "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "default": {}, - "x-example": 1, - "format": "int32" - }, - "allowedFileExtensions": { + "emails": { "type": "array", - "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "default": [], + "description": "Array of emails to send test email to. Maximum of 10 emails are allowed.", "x-example": null, "items": { "type": "string" } - }, - "compression": { - "type": "string", - "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "default": "none", - "x-example": "none", - "enum": [ - "none", - "gzip", - "zstd" - ], - "x-enum-name": null, - "x-enum-keys": [] - }, - "encryption": { - "type": "boolean", - "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "default": true, - "x-example": false - }, - "antivirus": { - "type": "boolean", - "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "default": true, - "x-example": false - }, - "transformations": { - "type": "boolean", - "description": "Are image transformations enabled?", - "default": true, - "x-example": false } }, "required": [ - "bucketId", - "name" + "emails" ] } } ] } }, - "\/storage\/buckets\/{bucketId}": { + "\/project\/templates\/email": { "get": { - "summary": "Get bucket", - "operationId": "storageGetBucket", + "summary": "List project email templates", + "operationId": "projectListEmailTemplates", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.", + "description": "Get a list of all custom email templates configured for the project. This endpoint returns an array of all configured email templates and their locales.", "responses": { "200": { - "description": "Bucket", + "description": "Email Templates List", "schema": { - "$ref": "#\/definitions\/bucket" + "$ref": "#\/definitions\/emailTemplateList" } } }, "deprecated": false, "x-appwrite": { - "method": "getBucket", - "group": "buckets", - "weight": 542, + "method": "listEmailTemplates", + "group": "templates", + "weight": 1167, "cookies": false, "type": "", - "demo": "storage\/get-bucket.md", + "demo": "project\/list-email-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.read", + "scope": "templates.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -56059,18 +53922,31 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Bucket unique ID.", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "put": { - "summary": "Update bucket", - "operationId": "storageUpdateBucket", + "patch": { + "summary": "Update project email template", + "operationId": "projectUpdateEmailTemplate", "consumes": [ "application\/json" ], @@ -56078,36 +53954,35 @@ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Update a storage bucket by its unique ID.", + "description": "Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.", "responses": { "200": { - "description": "Bucket", + "description": "EmailTemplate", "schema": { - "$ref": "#\/definitions\/bucket" + "$ref": "#\/definitions\/emailTemplate" } } }, "deprecated": false, "x-appwrite": { - "method": "updateBucket", - "group": "buckets", - "weight": 544, + "method": "updateEmailTemplate", + "group": "templates", + "weight": 1169, "cookies": false, "type": "", - "demo": "storage\/update-bucket.md", + "demo": "project\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", + "scope": "templates.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -56119,200 +53994,253 @@ } ], "parameters": [ - { - "name": "bucketId", - "description": "Bucket unique ID.", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "templateId": { "type": "string", - "description": "Bucket name", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "fileSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "default": true, - "x-example": false - }, - "maximumFileSize": { - "type": "integer", - "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "default": {}, - "x-example": 1, - "format": "int32" - }, - "allowedFileExtensions": { - "type": "array", - "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } + "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [] }, - "compression": { + "locale": { "type": "string", - "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "default": "none", - "x-example": "none", + "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", + "x-example": "af", "enum": [ - "none", - "gzip", - "zstd" + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" ], - "x-enum-name": null, + "x-enum-name": "ProjectEmailTemplateLocale", "x-enum-keys": [] }, - "encryption": { - "type": "boolean", - "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "default": true, - "x-example": false + "subject": { + "type": "string", + "description": "Subject of the email template. Can be up to 255 characters.", + "x-example": "<SUBJECT>", + "x-nullable": true }, - "antivirus": { - "type": "boolean", - "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "default": true, - "x-example": false + "message": { + "type": "string", + "description": "Plain or HTML body of the email template message. Can be up to 10MB of content.", + "x-example": "<MESSAGE>", + "x-nullable": true }, - "transformations": { - "type": "boolean", - "description": "Are image transformations enabled?", - "default": true, - "x-example": false + "senderName": { + "type": "string", + "description": "Name of the email sender.", + "x-example": "<SENDER_NAME>", + "x-nullable": true + }, + "senderEmail": { + "type": "string", + "description": "Email of the sender. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToEmail": { + "type": "string", + "description": "Reply to email. Pass an empty string to clear a previously set value.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "replyToName": { + "type": "string", + "description": "Reply to name.", + "x-example": "<REPLY_TO_NAME>", + "x-nullable": true } }, "required": [ - "name" + "templateId" ] } } ] - }, - "delete": { - "summary": "Delete bucket", - "operationId": "storageDeleteBucket", - "consumes": [ - "application\/json" - ], - "produces": [], - "tags": [ - "storage" - ], - "description": "Delete a storage bucket by its unique ID.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteBucket", - "group": "buckets", - "weight": 545, - "cookies": false, - "type": "", - "demo": "storage\/delete-bucket.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "buckets.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "bucketId", - "description": "Bucket unique ID.", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - } - ] } }, - "\/storage\/buckets\/{bucketId}\/files": { + "\/project\/templates\/email\/{templateId}": { "get": { - "summary": "List files", - "operationId": "storageListFiles", + "summary": "Get project email template", + "operationId": "projectGetEmailTemplate", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Get a list of all the user files. You can use the query params to filter your results.", + "description": "Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.", "responses": { "200": { - "description": "Files List", + "description": "EmailTemplate", "schema": { - "$ref": "#\/definitions\/fileList" + "$ref": "#\/definitions\/emailTemplate" } } }, "deprecated": false, "x-appwrite": { - "method": "listFiles", - "group": "files", - "weight": 548, + "method": "getEmailTemplate", + "group": "templates", + "weight": 1168, "cookies": false, "type": "", - "demo": "storage\/list-files.md", + "demo": "project\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "templates.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -56320,185 +54248,300 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "templateId", + "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", + "x-example": "verification", + "enum": [ + "verification", + "magicSession", + "recovery", + "invitation", + "mfaChallenge", + "sessionAlert", + "otpSession" + ], + "x-enum-name": "ProjectEmailTemplateId", + "x-enum-keys": [], "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", + "name": "locale", + "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", "required": false, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - }, - "post": { - "summary": "Create file", - "operationId": "storageCreateFile", - "consumes": [ - "multipart\/form-data" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "storage" - ], - "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", - "responses": { - "201": { - "description": "File", - "schema": { - "$ref": "#\/definitions\/file" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createFile", - "group": "files", - "weight": 1195, - "cookies": false, - "type": "upload", - "demo": "storage\/create-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", - "scope": "files.write", + "x-example": "af", + "enum": [ + "af", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "az", + "be", + "bg", + "bh", + "bn", + "bs", + "ca", + "cs", + "cy", + "da", + "de", + "de-at", + "de-ch", + "de-li", + "de-lu", + "el", + "en", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-ie", + "en-jm", + "en-nz", + "en-tt", + "en-us", + "en-za", + "eo", + "es", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-uy", + "es-ve", + "et", + "eu", + "fa", + "fi", + "fo", + "fr", + "fr-be", + "fr-ca", + "fr-ch", + "fr-lu", + "ga", + "gd", + "he", + "hi", + "hr", + "hu", + "id", + "is", + "it", + "it-ch", + "ja", + "ji", + "ko", + "ku", + "lt", + "lv", + "mk", + "ml", + "ms", + "mt", + "nb", + "ne", + "nl", + "nl-be", + "nn", + "no", + "pa", + "pl", + "pt", + "pt-br", + "rm", + "ro", + "ro-md", + "ru", + "ru-md", + "sb", + "sk", + "sl", + "sq", + "sr", + "sv", + "sv-fi", + "th", + "tn", + "tr", + "ts", + "ua", + "ur", + "ve", + "vi", + "xh", + "zh-cn", + "zh-hk", + "zh-sg", + "zh-tw", + "zu" + ], + "x-enum-name": "ProjectEmailTemplateLocale", + "x-enum-keys": [], + "in": "query" + } + ] + } + }, + "\/project\/usage": { + "get": { + "summary": "Get project usage stats", + "operationId": "projectGetUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "project" + ], + "description": "Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.", + "responses": { + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/usageProject" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getUsage", + "group": null, + "weight": 699, + "cookies": false, + "type": "", + "demo": "project\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "projects.read", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "startDate", + "description": "Starting date for the usage", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "in": "query" }, { - "name": "fileId", - "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "name": "endDate", + "description": "End date for the usage", "required": true, - "x-upload-id": true, "type": "string", - "x-example": "<FILE_ID>", - "in": "formData" - }, - { - "name": "file", - "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", - "required": true, - "type": "file", - "in": "formData" + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "in": "query" }, { - "name": "permissions", - "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "name": "period", + "description": "Period used", "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "x-example": "[\"read(\"any\")\"]", - "in": "formData" + "type": "string", + "x-example": "1h", + "enum": [ + "1h", + "1d" + ], + "x-enum-name": "ProjectUsageRange", + "x-enum-keys": [ + "One Hour", + "One Day" + ], + "default": "1d", + "in": "query" } ] } }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { + "\/project\/variables": { "get": { - "summary": "Get file", - "operationId": "storageGetFile", + "summary": "List project variables", + "operationId": "projectListVariables", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", + "description": "Get a list of all project environment variables.", "responses": { "200": { - "description": "File", + "description": "Variables List", "schema": { - "$ref": "#\/definitions\/file" + "$ref": "#\/definitions\/variableList" } } }, "deprecated": false, "x-appwrite": { - "method": "getFile", - "group": "files", - "weight": 547, + "method": "listVariables", + "group": "variables", + "weight": 1171, "cookies": false, "type": "", - "demo": "storage\/get-file.md", + "demo": "project\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "project.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -56506,33 +54549,36 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "fileId", - "description": "File ID.", - "required": true, - "type": "string", - "x-example": "<FILE_ID>", - "in": "path" + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "put": { - "summary": "Update file", - "operationId": "storageUpdateFile", + "post": { + "summary": "Create project variable", + "operationId": "projectCreateVariable", "consumes": [ "application\/json" ], @@ -56540,37 +54586,35 @@ "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Update a file by its unique ID. Only users with write permissions have access to update this resource.", + "description": "Create a new project environment variable. These variables can be accessed by all functions and sites in the project.", "responses": { - "200": { - "description": "File", + "201": { + "description": "Variable", "schema": { - "$ref": "#\/definitions\/file" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "updateFile", - "group": "files", - "weight": 549, + "method": "createVariable", + "group": "variables", + "weight": 1170, "cookies": false, "type": "", - "demo": "storage\/update-file.md", + "demo": "project\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.write", + "scope": "project.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -56578,91 +54622,86 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ - { - "name": "bucketId", - "description": "Bucket unique ID.", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, - { - "name": "fileId", - "description": "File ID.", - "required": true, - "type": "string", - "x-example": "<FILE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "variableId": { "type": "string", - "description": "File name.", - "default": null, - "x-example": "<NAME>" + "description": "Variable unique ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<VARIABLE_ID>" }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } + "key": { + "type": "string", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>" + }, + "value": { + "type": "string", + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>" + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", + "x-example": false, + "default": true } - } + }, + "required": [ + "variableId", + "key", + "value" + ] } } ] - }, - "delete": { - "summary": "Delete file", - "operationId": "storageDeleteFile", - "consumes": [ + } + }, + "\/project\/variables\/{variableId}": { + "get": { + "summary": "Get project variable", + "operationId": "projectGetVariable", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "storage" + "project" ], - "description": "Delete a file by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Get a variable by its unique ID. ", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Variable", + "schema": { + "$ref": "#\/definitions\/variable" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteFile", - "group": "files", - "weight": 550, + "method": "getVariable", + "group": "variables", + "weight": 1172, "cookies": false, "type": "", - "demo": "storage\/delete-file.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "files.write", + "demo": "project\/get-variable.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "project.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -56670,71 +54709,59 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, - { - "name": "fileId", - "description": "File ID.", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", - "x-example": "<FILE_ID>", + "x-example": "<VARIABLE_ID>", "in": "path" } ] - } - }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/download": { - "get": { - "summary": "Get file for download", - "operationId": "storageGetFileDownload", - "consumes": [], + }, + "put": { + "summary": "Update project variable", + "operationId": "projectUpdateVariable", + "consumes": [ + "application\/json" + ], "produces": [ - "*\/*" + "application\/json" ], "tags": [ - "storage" + "project" ], - "description": "Get a file content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", + "description": "Update variable by its unique ID.", "responses": { "200": { - "description": "File", + "description": "Variable", "schema": { - "type": "file" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "getFileDownload", - "group": "files", - "weight": 552, + "method": "updateVariable", + "group": "variables", + "weight": 1174, "cookies": false, - "type": "location", - "demo": "storage\/get-file-download.md", + "type": "", + "demo": "project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "project.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -56742,80 +54769,81 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, - { - "name": "fileId", - "description": "File ID.", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", - "x-example": "<FILE_ID>", + "x-example": "<VARIABLE_ID>", "in": "path" }, { - "name": "token", - "description": "File token for accessing this file.", - "required": false, - "type": "string", - "x-example": "<TOKEN>", - "default": "", - "in": "query" - } - ] - } - }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/preview": { - "get": { - "summary": "Get file preview", - "operationId": "storageGetFilePreview", - "consumes": [], - "produces": [ - "image\/*" - ], - "tags": [ - "storage" - ], - "description": "Get a file preview image. Currently, this method supports preview for image files (jpg, png, and gif), other supported formats, like pdf, docs, slides, and spreadsheets, will return the file icon image. You can also pass query string arguments for cutting and resizing your preview image. Preview is supported only for image files smaller than 10MB.", - "responses": { - "200": { - "description": "Image", + "name": "payload", + "in": "body", "schema": { - "type": "file" + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>", + "x-nullable": true + }, + "value": { + "type": "string", + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>", + "x-nullable": true + }, + "secret": { + "type": "boolean", + "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", + "x-example": false, + "x-nullable": true + } + } } } + ] + }, + "delete": { + "summary": "Delete project variable", + "operationId": "projectDeleteVariable", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "project" + ], + "description": "Delete a variable by its unique ID. ", + "responses": { + "204": { + "description": "No content" + } }, "deprecated": false, "x-appwrite": { - "method": "getFilePreview", - "group": "files", - "weight": 551, + "method": "deleteVariable", + "group": "variables", + "weight": 1173, "cookies": false, - "type": "location", - "demo": "storage\/get-file-preview.md", + "type": "", + "demo": "project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "project.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -56823,287 +54851,139 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" - }, - { - "name": "fileId", - "description": "File ID", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", - "x-example": "<FILE_ID>", + "x-example": "<VARIABLE_ID>", "in": "path" - }, - { - "name": "width", - "description": "Resize preview image width, Pass an integer between 0 to 4000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" - }, - { - "name": "height", - "description": "Resize preview image height, Pass an integer between 0 to 4000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" - }, - { - "name": "gravity", - "description": "Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right", - "required": false, - "type": "string", - "x-example": "center", - "enum": [ - "center", - "top-left", - "top", - "top-right", - "left", - "right", - "bottom-left", - "bottom", - "bottom-right" - ], - "x-enum-name": "ImageGravity", - "x-enum-keys": [], - "default": "center", - "in": "query" - }, - { - "name": "quality", - "description": "Preview image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": -1, - "default": -1, - "in": "query" - }, - { - "name": "borderWidth", - "description": "Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" - }, - { - "name": "borderColor", - "description": "Preview image border color. Use a valid HEX color, no # is needed for prefix.", - "required": false, - "type": "string", - "default": "", - "in": "query" - }, - { - "name": "borderRadius", - "description": "Preview image border radius in pixels. Pass an integer between 0 to 4000.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" - }, - { - "name": "opacity", - "description": "Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.", - "required": false, - "type": "number", - "format": "float", - "x-example": 0, - "default": 1, - "in": "query" - }, - { - "name": "rotation", - "description": "Preview image rotation in degrees. Pass an integer between -360 and 360.", - "required": false, - "type": "integer", - "format": "int32", - "x-example": -360, - "default": 0, - "in": "query" - }, - { - "name": "background", - "description": "Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.", - "required": false, - "type": "string", - "default": "", - "in": "query" - }, - { - "name": "output", - "description": "Output format type (jpeg, jpg, png, gif and webp).", - "required": false, - "type": "string", - "x-example": "jpg", - "enum": [ - "jpg", - "jpeg", - "png", - "webp", - "heic", - "avif", - "gif" - ], - "x-enum-name": "ImageFormat", - "x-enum-keys": [], - "default": "", - "in": "query" - }, - { - "name": "token", - "description": "File token for accessing this file.", - "required": false, - "type": "string", - "x-example": "<TOKEN>", - "default": "", - "in": "query" } ] } }, - "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/view": { + "\/projects": { "get": { - "summary": "Get file for view", - "operationId": "storageGetFileView", + "summary": "List projects", + "operationId": "projectsList", "consumes": [], "produces": [ - "*\/*" + "application\/json" ], "tags": [ - "storage" + "projects" ], - "description": "Get a file content by its unique ID. This endpoint is similar to the download method but returns with no 'Content-Disposition: attachment' header.", + "description": "Get a list of all projects. You can use the query params to filter your results. ", "responses": { "200": { - "description": "File", + "description": "Projects List", "schema": { - "type": "file" + "$ref": "#\/definitions\/projectList" } } }, "deprecated": false, "x-appwrite": { - "method": "getFileView", - "group": "files", - "weight": 553, + "method": "list", + "group": "projects", + "weight": 1158, "cookies": false, - "type": "location", - "demo": "storage\/get-file-view.md", + "type": "", + "demo": "projects\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "projects.read", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", - "required": true, - "type": "string", - "x-example": "<BUCKET_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, teamId, labels, search", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "fileId", - "description": "File ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<FILE_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "token", - "description": "File token for accessing this file.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, - "type": "string", - "x-example": "<TOKEN>", - "default": "", + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] - } - }, - "\/storage\/usage": { - "get": { - "summary": "Get storage usage stats", - "operationId": "storageGetUsage", - "consumes": [], + }, + "post": { + "summary": "Create project", + "operationId": "projectsCreate", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "storage" + "projects" ], - "description": "Get usage metrics and statistics for all buckets in the project. You can view the total number of buckets, files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Create a new project. You can create a maximum of 100 projects per account. ", "responses": { - "200": { - "description": "StorageUsage", + "201": { + "description": "Project", "schema": { - "$ref": "#\/definitions\/usageStorage" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 555, + "method": "create", + "group": "projects", + "weight": 1156, "cookies": false, "type": "", - "demo": "storage\/get-usage.md", + "demo": "projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "projects.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } @@ -57115,66 +54995,93 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "projectId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, and hyphen. Can't start with a special char. Max length is 36 chars.", + "x-example": null + }, + "name": { + "type": "string", + "description": "Project name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "teamId": { + "type": "string", + "description": "Team unique ID.", + "x-example": "<TEAM_ID>" + }, + "region": { + "type": "string", + "description": "Project Region.", + "x-example": "fra", + "default": "fra", + "enum": [ + "fra", + "nyc", + "syd", + "sfo", + "sgp", + "tor" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "projectId", + "name", + "teamId" + ] + } } ] } }, - "\/storage\/{bucketId}\/usage": { - "get": { - "summary": "Get bucket usage stats", - "operationId": "storageGetBucketUsage", - "consumes": [], + "\/projects\/{projectId}": { + "patch": { + "summary": "Update project", + "operationId": "projectsUpdate", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "storage" + "projects" ], - "description": "Get usage metrics and statistics a specific bucket in the project. You can view the total number of files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Update a project by its unique ID.", "responses": { "200": { - "description": "UsageBuckets", + "description": "Project", "schema": { - "$ref": "#\/definitions\/usageBuckets" + "$ref": "#\/definitions\/project" } } }, "deprecated": false, "x-appwrite": { - "method": "getBucketUsage", - "group": null, - "weight": 556, + "method": "update", + "group": "projects", + "weight": 1157, "cookies": false, "type": "", - "demo": "storage\/get-bucket-usage.md", + "demo": "projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "files.read", + "scope": "projects.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } @@ -57186,262 +55093,204 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Bucket ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", + "x-example": "<PROJECT_ID>", "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Project name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "description": { + "type": "string", + "description": "Project description. Max length: 256 chars.", + "x-example": "<DESCRIPTION>", + "default": "" + }, + "logo": { + "type": "string", + "description": "Project logo.", + "x-example": "<LOGO>", + "default": "" + }, + "url": { + "type": "string", + "description": "Project URL.", + "x-example": "https:\/\/example.com", + "default": "", + "format": "url" + }, + "legalName": { + "type": "string", + "description": "Project legal name. Max length: 256 chars.", + "x-example": "<LEGAL_NAME>", + "default": "" + }, + "legalCountry": { + "type": "string", + "description": "Project legal country. Max length: 256 chars.", + "x-example": "<LEGAL_COUNTRY>", + "default": "" + }, + "legalState": { + "type": "string", + "description": "Project legal state. Max length: 256 chars.", + "x-example": "<LEGAL_STATE>", + "default": "" + }, + "legalCity": { + "type": "string", + "description": "Project legal city. Max length: 256 chars.", + "x-example": "<LEGAL_CITY>", + "default": "" + }, + "legalAddress": { + "type": "string", + "description": "Project legal address. Max length: 256 chars.", + "x-example": "<LEGAL_ADDRESS>", + "default": "" + }, + "legalTaxId": { + "type": "string", + "description": "Project legal tax ID. Max length: 256 chars.", + "x-example": "<LEGAL_TAX_ID>", + "default": "" + } + }, + "required": [ + "name" + ] + } } ] } }, - "\/tablesdb": { - "get": { - "summary": "List databases", - "operationId": "tablesDBList", - "consumes": [], + "\/projects\/{projectId}\/console-access": { + "patch": { + "summary": "Record console access to a project", + "operationId": "projectsUpdateConsoleAccess", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": "Record console access to a project. This endpoint updates the last accessed timestamp for the project to track console activity.\n", "responses": { - "200": { - "description": "Databases List", - "schema": { - "$ref": "#\/definitions\/databaseList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "tablesdb", - "weight": 767, + "method": "updateConsoleAccess", + "group": null, + "weight": 1153, "cookies": false, "type": "", - "demo": "tablesdb\/list.md", + "demo": "projects\/update-console-access.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-console-access.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - }, - "post": { - "summary": "Create database", - "operationId": "tablesDBCreate", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "tablesDB" - ], - "description": "Create a new Database.\n", - "responses": { - "201": { - "description": "Database", - "schema": { - "$ref": "#\/definitions\/database" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "create", - "group": "tablesdb", - "weight": 763, - "cookies": false, - "type": "", - "demo": "tablesdb\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", - "auth": { "Project": [] } - }, - "security": [ - { - "Project": [], - "Key": [] - } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<DATABASE_ID>" - }, - "name": { - "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false - } - }, - "required": [ - "databaseId", - "name" - ] - } + "name": "projectId", + "description": "Project ID", + "required": true, + "type": "string", + "x-example": "<PROJECT_ID>", + "in": "path" } ] } }, - "\/tablesdb\/transactions": { + "\/projects\/{projectId}\/dev-keys": { "get": { - "summary": "List transactions", - "operationId": "tablesDBListTransactions", + "summary": "List dev keys", + "operationId": "projectsListDevKeys", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "List transactions across all databases.", + "description": "List all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "responses": { "200": { - "description": "Transaction List", + "description": "Dev Keys List", "schema": { - "$ref": "#\/definitions\/transactionList" + "$ref": "#\/definitions\/devKeyList" } } }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 836, + "method": "listDevKeys", + "group": "devKeys", + "weight": 407, "cookies": false, "type": "", - "demo": "tablesdb\/list-transactions.md", + "demo": "projects\/list-dev-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.read", - "rows.read" - ], + "scope": "devKeys.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ + { + "name": "projectId", + "description": "Project unique ID.", + "required": true, + "type": "string", + "x-example": "<PROJECT_ID>", + "in": "path" + }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: accessedAt, expire", "required": false, "type": "array", "collectionFormat": "multi", @@ -57454,8 +55303,8 @@ ] }, "post": { - "summary": "Create transaction", - "operationId": "tablesDBCreateTransaction", + "summary": "Create dev key", + "operationId": "projectsCreateDevKey", "consumes": [ "application\/json" ], @@ -57463,141 +55312,147 @@ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Create a new transaction.", + "description": "Create a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "responses": { "201": { - "description": "Transaction", + "description": "DevKey", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/devKey" } } }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 832, + "method": "createDevKey", + "group": "devKeys", + "weight": 404, "cookies": false, "type": "", - "demo": "tablesdb\/create-transaction.md", + "demo": "projects\/create-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "devKeys.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ + { + "name": "projectId", + "description": "Project unique ID.", + "required": true, + "type": "string", + "x-example": "<PROJECT_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "default": 300, - "x-example": 60, - "format": "int32" + "name": { + "type": "string", + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" } - } + }, + "required": [ + "name", + "expire" + ] } } ] } }, - "\/tablesdb\/transactions\/{transactionId}": { + "\/projects\/{projectId}\/dev-keys\/{keyId}": { "get": { - "summary": "Get transaction", - "operationId": "tablesDBGetTransaction", + "summary": "Get dev key", + "operationId": "projectsGetDevKey", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Get a transaction by its unique ID.", + "description": "Get a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "responses": { "200": { - "description": "Transaction", + "description": "DevKey", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/devKey" } } }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 833, + "method": "getDevKey", + "group": "devKeys", + "weight": 406, "cookies": false, "type": "", - "demo": "tablesdb\/get-transaction.md", + "demo": "projects\/get-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.read", - "rows.read" - ], + "scope": "devKeys.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<PROJECT_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", "in": "path" } ] }, - "patch": { - "summary": "Update transaction", - "operationId": "tablesDBUpdateTransaction", + "put": { + "summary": "Update dev key", + "operationId": "projectsUpdateDevKey", "consumes": [ "application\/json" ], @@ -57605,59 +55460,58 @@ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Update a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "responses": { "200": { - "description": "Transaction", + "description": "DevKey", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/devKey" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 834, + "method": "updateDevKey", + "group": "devKeys", + "weight": 405, "cookies": false, "type": "", - "demo": "tablesdb\/update-transaction.md", + "demo": "projects\/update-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "devKeys.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<PROJECT_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", "in": "path" }, { @@ -57666,34 +55520,37 @@ "schema": { "type": "object", "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "default": false, - "x-example": false + "name": { + "type": "string", + "description": "Key name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "rollback": { - "type": "boolean", - "description": "Rollback transaction?", - "default": false, - "x-example": false + "expire": { + "type": "string", + "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" } - } + }, + "required": [ + "name", + "expire" + ] } } ] }, "delete": { - "summary": "Delete transaction", - "operationId": "tablesDBDeleteTransaction", + "summary": "Delete dev key", + "operationId": "projectsDeleteDevKey", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "tablesDB" + "projects" ], - "description": "Delete a transaction by its unique ID.", + "description": "Delete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "responses": { "204": { "description": "No content" @@ -57701,202 +55558,168 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 835, + "method": "deleteDevKey", + "group": "devKeys", + "weight": 408, "cookies": false, "type": "", - "demo": "tablesdb\/delete-transaction.md", + "demo": "projects\/delete-dev-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "devKeys.write", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<PROJECT_ID>", + "in": "path" + }, + { + "name": "keyId", + "description": "Key unique ID.", + "required": true, + "type": "string", + "x-example": "<KEY_ID>", "in": "path" } ] } }, - "\/tablesdb\/transactions\/{transactionId}\/operations": { - "post": { - "summary": "Create operations", - "operationId": "tablesDBCreateOperations", - "consumes": [ - "application\/json" - ], + "\/projects\/{projectId}\/schedules": { + "get": { + "summary": "List schedules", + "operationId": "projectsListSchedules", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Create multiple operations in a single transaction.", + "description": "Get a list of all the project's schedules. You can use the query params to filter your results.", "responses": { - "201": { - "description": "Transaction", + "200": { + "description": "Schedules List", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/scheduleList" } } }, "deprecated": false, "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 837, + "method": "listSchedules", + "group": "schedules", + "weight": 415, "cookies": false, "type": "", - "demo": "tablesdb\/create-operations.md", + "demo": "projects\/list-schedules.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "documents.write", - "rows.write" - ], + "scope": "schedules.read", "platforms": [ - "console", - "server", - "client" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-schedules.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [], - "Session": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<PROJECT_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "default": [], - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } - } - } - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: resourceType, resourceId, projectId, schedule, active, region", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/tablesdb\/usage": { - "get": { - "summary": "Get TablesDB usage stats", - "operationId": "tablesDBListUsage", - "consumes": [], + }, + "post": { + "summary": "Create schedule", + "operationId": "projectsCreateSchedule", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a new schedule for a resource.", "responses": { - "200": { - "description": "UsageDatabases", + "201": { + "description": "Schedule", "schema": { - "$ref": "#\/definitions\/usageDatabases" + "$ref": "#\/definitions\/schedule" } } }, "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 769, + "method": "createSchedule", + "group": "schedules", + "weight": 1159, "cookies": false, "type": "", - "demo": "tablesdb\/list-usage.md", + "demo": "projects\/create-schedule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "scope": "schedules.write", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageDatabases" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "tablesdb\/list-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-schedule.md", "auth": { "Project": [] } @@ -57908,91 +55731,136 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "projectId", + "description": "Project unique ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "x-example": "<PROJECT_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type for the schedule. Possible values: function, execution, message, backup.", + "x-example": "function", + "enum": [ + "function", + "execution", + "message", + "backup" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "resourceId": { + "type": "string", + "description": "The resource ID to associate with this schedule.", + "x-example": "<RESOURCE_ID>" + }, + "schedule": { + "type": "string", + "description": "Schedule CRON expression.", + "x-example": null + }, + "active": { + "type": "boolean", + "description": "Whether the schedule is active.", + "x-example": false, + "default": false + }, + "data": { + "type": "object", + "description": "Schedule data as a JSON string. Used to store resource-specific context needed for execution.", + "x-example": "{}", + "default": {} + } + }, + "required": [ + "resourceType", + "resourceId", + "schedule" + ] + } } ] } }, - "\/tablesdb\/{databaseId}": { + "\/projects\/{projectId}\/schedules\/{scheduleId}": { "get": { - "summary": "Get database", - "operationId": "tablesDBGet", + "summary": "Get schedule", + "operationId": "projectsGetSchedule", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Get a schedule by its unique ID.", "responses": { "200": { - "description": "Database", + "description": "Schedule", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/schedule" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "tablesdb", - "weight": 764, + "method": "getSchedule", + "group": "schedules", + "weight": 414, "cookies": false, "type": "", - "demo": "tablesdb\/get.md", + "demo": "projects\/get-schedule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "schedules.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-schedule.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<PROJECT_ID>", + "in": "path" + }, + { + "name": "scheduleId", + "description": "Schedule ID.", + "required": true, + "type": "string", + "x-example": "<SCHEDULE_ID>", "in": "path" } ] - }, - "put": { - "summary": "Update database", - "operationId": "tablesDBUpdate", + } + }, + "\/projects\/{projectId}\/status": { + "patch": { + "summary": "Update the status of a project", + "operationId": "projectsUpdateStatus", "consumes": [ "application\/json" ], @@ -58000,53 +55868,48 @@ "application\/json" ], "tags": [ - "tablesDB" + "projects" ], - "description": "Update a database by its unique ID.", + "description": "Update the status of a project. Can be used to archive\/restore projects, and to restore paused projects. When restoring a paused project, the console fingerprint header must be provided and the project must not be blocked for any reason other than inactivity.\n", "responses": { - "200": { - "description": "Database", - "schema": { - "$ref": "#\/definitions\/database" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "tablesdb", - "weight": 765, + "method": "updateStatus", + "group": null, + "weight": 1154, "cookies": false, "type": "", - "demo": "tablesdb\/update.md", - "rate-limit": 0, + "demo": "projects\/update-status.md", + "rate-limit": 10, "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "rate-key": "ip:{ip},userId:{userId}", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/projects\/update-status.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "projectId", + "description": "Project ID", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<PROJECT_ID>", "in": "path" }, { @@ -58055,122 +55918,141 @@ "schema": { "type": "object", "properties": { - "name": { + "status": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "description": "New status for the project", + "x-example": "active", + "enum": [ + "active" + ], + "x-enum-name": null, + "x-enum-keys": [] } - } + }, + "required": [ + "status" + ] } } ] - }, - "delete": { - "summary": "Delete database", - "operationId": "tablesDBDelete", + } + }, + "\/projects\/{projectId}\/team": { + "patch": { + "summary": "Update project team", + "operationId": "projectsUpdateTeam", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "tablesDB" + "projects" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": "Update the team ID of a project allowing for it to be transferred to another team.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "tablesdb", - "weight": 766, + "method": "updateTeam", + "group": "projects", + "weight": 1155, "cookies": false, "type": "", - "demo": "tablesdb\/delete.md", + "demo": "projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "projects.write", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "projectId", + "description": "Project unique ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<PROJECT_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to transfer project to.", + "x-example": "<TEAM_ID>" + } + }, + "required": [ + "teamId" + ] + } } ] } }, - "\/tablesdb\/{databaseId}\/tables": { + "\/proxy\/rules": { "get": { - "summary": "List tables", - "operationId": "tablesDBListTables", + "summary": "List rules", + "operationId": "proxyListRules", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Get a list of all tables that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "Get a list of all the proxy rules. You can use the query params to filter your results.", "responses": { "200": { - "description": "Tables List", + "description": "Rule List", "schema": { - "$ref": "#\/definitions\/tableList" + "$ref": "#\/definitions\/proxyRuleList" } } }, "deprecated": false, "x-appwrite": { - "method": "listTables", - "group": "tables", - "weight": 774, + "method": "listRules", + "group": "rules", + "weight": 1267, "cookies": false, "type": "", - "demo": "tablesdb\/list-tables.md", + "demo": "proxy\/list-rules.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "scope": "rules.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -58182,17 +56064,9 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name, enabled, rowSecurity", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch", "required": false, "type": "array", "collectionFormat": "multi", @@ -58202,15 +56076,6 @@ "default": [], "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -58221,10 +56086,12 @@ "in": "query" } ] - }, + } + }, + "\/proxy\/rules\/api": { "post": { - "summary": "Create table", - "operationId": "tablesDBCreateTable", + "summary": "Create API rule", + "operationId": "proxyCreateAPIRule", "consumes": [ "application\/json" ], @@ -58232,39 +56099,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Create a new Table. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "Create a new proxy rule for serving Appwrite's API on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { "201": { - "description": "Table", + "description": "Rule", "schema": { - "$ref": "#\/definitions\/table" + "$ref": "#\/definitions\/proxyRule" } } }, "deprecated": false, "x-appwrite": { - "method": "createTable", - "group": "tables", - "weight": 770, + "method": "createAPIRule", + "group": "rules", + "weight": 1262, "cookies": false, "type": "", - "demo": "tablesdb\/create-table.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + "demo": "proxy\/create-api-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -58276,124 +56139,66 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "tableId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<TABLE_ID>" - }, - "name": { + "domain": { "type": "string", - "description": "Table name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "rowSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", - "default": true, - "x-example": false - }, - "columns": { - "type": "array", - "description": "Array of column definitions to create. Each column should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } - }, - "indexes": { - "type": "array", - "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of column keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], - "x-example": null, - "items": { - "type": "object" - } + "description": "Domain name.", + "x-example": null } }, "required": [ - "tableId", - "name" + "domain" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}": { - "get": { - "summary": "Get table", - "operationId": "tablesDBGetTable", - "consumes": [], + "\/proxy\/rules\/function": { + "post": { + "summary": "Create function rule", + "operationId": "proxyCreateFunctionRule", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Get a table by its unique ID. This endpoint response returns a JSON object with the table metadata.", + "description": "Create a new proxy rule for executing Appwrite Function on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { - "200": { - "description": "Table", + "201": { + "description": "Rule", "schema": { - "$ref": "#\/definitions\/table" + "$ref": "#\/definitions\/proxyRule" } } }, "deprecated": false, "x-appwrite": { - "method": "getTable", - "group": "tables", - "weight": 771, + "method": "createFunctionRule", + "group": "rules", + "weight": 1264, "cookies": false, "type": "", - "demo": "tablesdb\/get-table.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "demo": "proxy\/create-function-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -58406,66 +56211,77 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - } - ] - }, - "put": { - "summary": "Update table", - "operationId": "tablesDBUpdateTable", - "consumes": [ - "application\/json" - ], - "produces": [ + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": null + }, + "functionId": { + "type": "string", + "description": "ID of function to be executed.", + "x-example": "<FUNCTION_ID>" + }, + "branch": { + "type": "string", + "description": "Name of VCS branch to deploy changes automatically", + "x-example": "<BRANCH>", + "default": "" + } + }, + "required": [ + "domain", + "functionId" + ] + } + } + ] + } + }, + "\/proxy\/rules\/redirect": { + "post": { + "summary": "Create Redirect rule", + "operationId": "proxyCreateRedirectRule", + "consumes": [ + "application\/json" + ], + "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Update a table by its unique ID.", + "description": "Create a new proxy rule for to redirect from custom domain to another domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { - "200": { - "description": "Table", + "201": { + "description": "Rule", "schema": { - "$ref": "#\/definitions\/table" + "$ref": "#\/definitions\/proxyRule" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTable", - "group": "tables", - "weight": 772, + "method": "createRedirectRule", + "group": "rules", + "weight": 1265, "cookies": false, "type": "", - "demo": "tablesdb\/update-table.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + "demo": "proxy\/create-redirect-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -58477,105 +56293,113 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "name": { + "domain": { "type": "string", - "description": "Table name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Domain name.", + "x-example": null }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } + "url": { + "type": "string", + "description": "Target URL of redirection", + "x-example": "https:\/\/example.com", + "format": "url" }, - "rowSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "statusCode": { + "type": "string", + "description": "Status code of redirection", + "x-example": "301", + "enum": [ + "301", + "302", + "307", + "308" + ], + "x-enum-name": null, + "x-enum-keys": [ + "Moved Permanently 301", + "Found 302", + "Temporary Redirect 307", + "Permanent Redirect 308" + ] }, - "enabled": { - "type": "boolean", - "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", - "default": true, - "x-example": false + "resourceId": { + "type": "string", + "description": "ID of parent resource.", + "x-example": "<RESOURCE_ID>" }, - "purge": { - "type": "boolean", - "description": "When true, purge all cached list responses for this table as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "resourceType": { + "type": "string", + "description": "Type of parent resource.", + "x-example": "site", + "enum": [ + "site", + "function" + ], + "x-enum-name": "ProxyResourceType", + "x-enum-keys": [ + "Site", + "Function" + ] } - } + }, + "required": [ + "domain", + "url", + "statusCode", + "resourceId", + "resourceType" + ] } } ] - }, - "delete": { - "summary": "Delete table", - "operationId": "tablesDBDeleteTable", + } + }, + "\/proxy\/rules\/site": { + "post": { + "summary": "Create site rule", + "operationId": "proxyCreateSiteRule", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Delete a table by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Create a new proxy rule for serving Appwrite Site on custom domain.\n\nRule ID is automatically generated as MD5 hash of a rule domain for performance purposes.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Rule", + "schema": { + "$ref": "#\/definitions\/proxyRule" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTable", - "group": "tables", - "weight": 773, + "method": "createSiteRule", + "group": "rules", + "weight": 1263, "cookies": false, "type": "", - "demo": "tablesdb\/delete-table.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write" - ], + "demo": "proxy\/create-site-rule.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "userId:{userId}, url:{url}", + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -58588,68 +56412,75 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": null + }, + "siteId": { + "type": "string", + "description": "ID of site to be executed.", + "x-example": "<SITE_ID>" + }, + "branch": { + "type": "string", + "description": "Name of VCS branch to deploy changes automatically", + "x-example": "<BRANCH>", + "default": "" + } + }, + "required": [ + "domain", + "siteId" + ] + } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns": { + "\/proxy\/rules\/{ruleId}": { "get": { - "summary": "List columns", - "operationId": "tablesDBListColumns", + "summary": "Get rule", + "operationId": "proxyGetRule", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "List columns in the table.", + "description": "Get a proxy rule by its unique ID.", "responses": { "200": { - "description": "Columns List", + "description": "Rule", "schema": { - "$ref": "#\/definitions\/columnList" + "$ref": "#\/definitions\/proxyRule" } } }, "deprecated": false, "x-appwrite": { - "method": "listColumns", - "group": "columns", - "weight": 779, + "method": "getRule", + "group": "rules", + "weight": 1266, "cookies": false, "type": "", - "demo": "tablesdb\/list-columns.md", + "demo": "proxy\/get-rule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "columns.read", - "attributes.read" - ], + "scope": "rules.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -58662,91 +56493,49 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<RULE_ID>", "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, size, required, array, status, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint": { - "post": { - "summary": "Create bigint column", - "operationId": "tablesDBCreateBigIntColumn", + }, + "delete": { + "summary": "Delete rule", + "operationId": "proxyDeleteRule", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "tablesDB" + "proxy" ], - "description": "Create a bigint column. Optionally, minimum and maximum values can be provided.\n", + "description": "Delete a proxy rule by its unique ID.", "responses": { - "202": { - "description": "ColumnBigInt", - "schema": { - "$ref": "#\/definitions\/columnBigint" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createBigIntColumn", - "group": "columns", - "weight": 792, + "method": "deleteRule", + "group": "rules", + "weight": 1268, "cookies": false, "type": "", - "demo": "tablesdb\/create-big-int-column.md", + "demo": "proxy\/delete-rule.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-bigint-column.md", "auth": { "Project": [] } @@ -58759,83 +56548,20 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<RULE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint\/{key}": { + "\/proxy\/rules\/{ruleId}\/status": { "patch": { - "summary": "Update bigint column", - "operationId": "tablesDBUpdateBigIntColumn", + "summary": "Update rule status", + "operationId": "proxyUpdateRuleStatus", "consumes": [ "application\/json" ], @@ -58843,41 +56569,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "proxy" ], - "description": "Update a bigint column. Changing the `default` value will not update already existing rows.\n", + "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", "responses": { "200": { - "description": "ColumnBigInt", + "description": "Rule", "schema": { - "$ref": "#\/definitions\/columnBigint" + "$ref": "#\/definitions\/proxyRule" } } }, "deprecated": false, "x-appwrite": { - "method": "updateBigIntColumn", - "group": "columns", - "weight": 793, + "method": "updateRuleStatus", + "group": "rules", + "weight": 1269, "cookies": false, "type": "", - "demo": "tablesdb\/update-big-int-column.md", + "demo": "proxy\/update-rule-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "rules.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-bigint-column.md", "auth": { "Project": [] } @@ -58890,127 +56610,55 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "ruleId", + "description": "Rule ID.", "required": true, "type": "string", + "x-example": "<RULE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean": { - "post": { - "summary": "Create boolean column", - "operationId": "tablesDBCreateBooleanColumn", - "consumes": [ - "application\/json" - ], + "\/reports": { + "get": { + "summary": "List reports", + "operationId": "advisorListReports", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "advisor" ], - "description": "Create a boolean column.\n", + "description": "Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n", "responses": { - "202": { - "description": "ColumnBoolean", + "200": { + "description": "Reports List", "schema": { - "$ref": "#\/definitions\/columnBoolean" + "$ref": "#\/definitions\/reportList" } } }, "deprecated": false, "x-appwrite": { - "method": "createBooleanColumn", - "group": "columns", - "weight": 780, + "method": "listReports", + "group": "reports", + "weight": 695, "cookies": false, "type": "", - "demo": "tablesdb\/create-boolean-column.md", + "demo": "advisor\/list-reports.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "reports.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-reports.md", "auth": { "Project": [] } @@ -59023,108 +56671,68 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean\/{key}": { - "patch": { - "summary": "Update boolean column", - "operationId": "tablesDBUpdateBooleanColumn", - "consumes": [ - "application\/json" - ], + "\/reports\/{reportId}": { + "get": { + "summary": "Get report", + "operationId": "advisorGetReport", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "advisor" ], - "description": "Update a boolean column. Changing the `default` value will not update already existing rows.", + "description": "Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n", "responses": { "200": { - "description": "ColumnBoolean", + "description": "Report", "schema": { - "$ref": "#\/definitions\/columnBoolean" + "$ref": "#\/definitions\/report" } } }, "deprecated": false, "x-appwrite": { - "method": "updateBooleanColumn", - "group": "columns", - "weight": 781, + "method": "getReport", + "group": "reports", + "weight": 694, "cookies": false, "type": "", - "demo": "tablesdb\/update-boolean-column.md", + "demo": "advisor\/get-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "reports.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-report.md", "auth": { "Project": [] } @@ -59137,110 +56745,111 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Report ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<REPORT_ID>", "in": "path" - }, + } + ] + }, + "delete": { + "summary": "Delete report", + "operationId": "advisorDeleteReport", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "advisor" + ], + "description": "Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteReport", + "group": "reports", + "weight": 696, + "cookies": false, + "type": "", + "demo": "advisor\/delete-report.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{projectId},userId:{userId}", + "scope": "reports.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/delete-report.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, + "Project": [], + "Key": [] + } + ], + "parameters": [ { - "name": "key", - "description": "Column Key.", + "name": "reportId", + "description": "Report ID.", "required": true, "type": "string", + "x-example": "<REPORT_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": false, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime": { - "post": { - "summary": "Create datetime column", - "operationId": "tablesDBCreateDatetimeColumn", - "consumes": [ - "application\/json" - ], + "\/reports\/{reportId}\/insights": { + "get": { + "summary": "List insights", + "operationId": "advisorListInsights", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "advisor" ], - "description": "Create a date time column according to the ISO 8601 standard.", + "description": "List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n", "responses": { - "202": { - "description": "ColumnDatetime", + "200": { + "description": "Insights List", "schema": { - "$ref": "#\/definitions\/columnDatetime" + "$ref": "#\/definitions\/insightList" } } }, "deprecated": false, "x-appwrite": { - "method": "createDatetimeColumn", - "group": "columns", - "weight": 782, + "method": "listInsights", + "group": "insights", + "weight": 698, "cookies": false, "type": "", - "demo": "tablesdb\/create-datetime-column.md", + "demo": "advisor\/list-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-insights.md", "auth": { "Project": [] } @@ -59253,109 +56862,76 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<REPORT_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for the column in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when column is required.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime\/{key}": { - "patch": { - "summary": "Update dateTime column", - "operationId": "tablesDBUpdateDatetimeColumn", - "consumes": [ - "application\/json" - ], + "\/reports\/{reportId}\/insights\/{insightId}": { + "get": { + "summary": "Get insight", + "operationId": "advisorGetInsight", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "advisor" ], - "description": "Update a date time column. Changing the `default` value will not update already existing rows.", + "description": "Get an insight by its unique ID, scoped to its parent report.\n", "responses": { "200": { - "description": "ColumnDatetime", + "description": "Insight", "schema": { - "$ref": "#\/definitions\/columnDatetime" + "$ref": "#\/definitions\/insight" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDatetimeColumn", - "group": "columns", - "weight": 783, + "method": "getInsight", + "group": "insights", + "weight": 697, "cookies": false, "type": "", - "demo": "tablesdb\/update-datetime-column.md", + "demo": "advisor\/get-insight.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-insight.md", "auth": { "Project": [] } @@ -59368,111 +56944,62 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<REPORT_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "insightId", + "description": "Insight ID.", "required": true, "type": "string", + "x-example": "<INSIGHT_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email": { - "post": { - "summary": "Create email column", - "operationId": "tablesDBCreateEmailColumn", - "consumes": [ - "application\/json" - ], + "\/sites": { + "get": { + "summary": "List sites", + "operationId": "sitesList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create an email column.\n", + "description": "Get a list of all the project's sites. You can use the query params to filter your results.", "responses": { - "202": { - "description": "ColumnEmail", + "200": { + "description": "Sites List", "schema": { - "$ref": "#\/definitions\/columnEmail" + "$ref": "#\/definitions\/siteList" } } }, "deprecated": false, "x-appwrite": { - "method": "createEmailColumn", - "group": "columns", - "weight": 784, + "method": "list", + "group": "sites", + "weight": 479, "cookies": false, "type": "", - "demo": "tablesdb\/create-email-column.md", + "demo": "sites\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -59485,67 +57012,40 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, framework, deploymentId, buildCommand, installCommand, outputDirectory, installationId", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email\/{key}": { - "patch": { - "summary": "Update email column", - "operationId": "tablesDBUpdateEmailColumn", + }, + "post": { + "summary": "Create site", + "operationId": "sitesCreate", "consumes": [ "application\/json" ], @@ -59553,41 +57053,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update an email column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a new site.", "responses": { - "200": { - "description": "ColumnEmail", + "201": { + "description": "Site", "schema": { - "$ref": "#\/definitions\/columnEmail" + "$ref": "#\/definitions\/site" } } }, "deprecated": false, "x-appwrite": { - "method": "updateEmailColumn", - "group": "columns", - "weight": 785, + "method": "create", + "group": "sites", + "weight": 972, "cookies": false, "type": "", - "demo": "tablesdb\/update-email-column.md", + "demo": "sites\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -59599,112 +57093,306 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false + "siteId": { + "type": "string", + "description": "Site ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<SITE_ID>" }, - "default": { + "name": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "email@example.com", - "format": "email", - "x-nullable": true + "description": "Site name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "newKey": { + "framework": { "type": "string", - "description": "New Column Key.", - "default": null, + "description": "Sites framework.", + "x-example": "analog", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "enabled": { + "type": "boolean", + "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "logging": { + "type": "boolean", + "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", + "x-example": false, + "default": true + }, + "timeout": { + "type": "integer", + "description": "Maximum request time in seconds.", + "x-example": 1, + "default": 30, + "format": "int32" + }, + "installCommand": { + "type": "string", + "description": "Install Command.", + "x-example": "<INSTALL_COMMAND>", + "default": "" + }, + "buildCommand": { + "type": "string", + "description": "Build Command.", + "x-example": "<BUILD_COMMAND>", + "default": "" + }, + "startCommand": { + "type": "string", + "description": "Custom start command. Leave empty to use default.", + "x-example": "<START_COMMAND>", + "default": "" + }, + "outputDirectory": { + "type": "string", + "description": "Output Directory for site.", + "x-example": "<OUTPUT_DIRECTORY>", + "default": "" + }, + "buildRuntime": { + "type": "string", + "description": "Runtime to use during build step.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "adapter": { + "type": "string", + "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", + "x-example": "static", + "enum": [ + "static", + "ssr" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>", + "default": "" + }, + "fallbackFile": { + "type": "string", + "description": "Fallback file for single page application sites.", + "x-example": "<FALLBACK_FILE>", + "default": "" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the site.", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the site.", + "x-example": "<PROVIDER_BRANCH>", + "default": "" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false, + "default": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to site code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the site deployments.", "x-example": null, - "x-nullable": true + "default": {} + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the SSR executions.", + "x-example": null, + "default": {} + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "default": 0, + "format": "int32" } }, "required": [ - "required", - "default" + "siteId", + "name", + "framework", + "buildRuntime" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum": { - "post": { - "summary": "Create enum column", - "operationId": "tablesDBCreateEnumColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/frameworks": { + "get": { + "summary": "List frameworks", + "operationId": "sitesListFrameworks", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create an enumeration column. The `elements` param acts as a white-list of accepted values for this column.", + "description": "Get a list of all frameworks that are currently available on the server instance.", "responses": { - "202": { - "description": "ColumnEnum", + "200": { + "description": "Frameworks List", "schema": { - "$ref": "#\/definitions\/columnEnum" + "$ref": "#\/definitions\/frameworkList" } } }, "deprecated": false, "x-appwrite": { - "method": "createEnumColumn", - "group": "columns", - "weight": 786, + "method": "listFrameworks", + "group": "frameworks", + "weight": 482, "cookies": false, "type": "", - "demo": "tablesdb\/create-enum-column.md", + "demo": "sites\/list-frameworks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "public", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -59714,121 +57402,47 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "elements": { - "type": "array", - "description": "Array of enum values.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "elements", - "required" - ] - } - } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum\/{key}": { - "patch": { - "summary": "Update enum column", - "operationId": "tablesDBUpdateEnumColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/specifications": { + "get": { + "summary": "List specifications", + "operationId": "sitesListSpecifications", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update an enum column. Changing the `default` value will not update already existing rows.\n", + "description": "List allowed site specifications for this instance.", "responses": { "200": { - "description": "ColumnEnum", + "description": "Specifications List", "schema": { - "$ref": "#\/definitions\/columnEnum" + "$ref": "#\/definitions\/specificationList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateEnumColumn", - "group": "columns", - "weight": 787, + "method": "listSpecifications", + "group": "frameworks", + "weight": 505, "cookies": false, "type": "", - "demo": "tablesdb\/update-enum-column.md", + "demo": "sites\/list-specifications.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ - "console", - "server" + "server", + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -59838,518 +57452,301 @@ "Project": [], "Key": [] } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "elements": { - "type": "array", - "description": "Updated list of enum values.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "elements", - "required", - "default" - ] - } - } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float": { - "post": { - "summary": "Create float column", - "operationId": "tablesDBCreateFloatColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/templates": { + "get": { + "summary": "List templates", + "operationId": "sitesListTemplates", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a float column. Optionally, minimum and maximum values can be provided.\n", + "description": "List available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "responses": { - "202": { - "description": "ColumnFloat", + "200": { + "description": "Site Templates List", "schema": { - "$ref": "#\/definitions\/columnFloat" + "$ref": "#\/definitions\/templateSiteList" } } }, "deprecated": false, "x-appwrite": { - "method": "createFloatColumn", - "group": "columns", - "weight": 788, + "method": "listTemplates", + "group": "templates", + "weight": 501, "cookies": false, "type": "", - "demo": "tablesdb\/create-float-column.md", + "demo": "sites\/list-templates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "name": "frameworks", + "description": "List of frameworks allowed for filtering site templates. Maximum of 100 frameworks are allowed.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [], + "in": "query" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "useCases", + "description": "List of use cases allowed for filtering site templates. Maximum of 100 use cases are allowed.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "portfolio", + "starter", + "events", + "ecommerce", + "documentation", + "blog", + "ai", + "forms", + "dashboard" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "limit", + "description": "Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 25, + "in": "query" + }, + { + "name": "offset", + "description": "Offset the list of returned templates. Maximum offset is 5000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float\/{key}": { - "patch": { - "summary": "Update float column", - "operationId": "tablesDBUpdateFloatColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/templates\/{templateId}": { + "get": { + "summary": "Get site template", + "operationId": "sitesGetTemplate", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a float column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "responses": { "200": { - "description": "ColumnFloat", + "description": "Template Site", "schema": { - "$ref": "#\/definitions\/columnFloat" + "$ref": "#\/definitions\/templateSite" } } }, "deprecated": false, "x-appwrite": { - "method": "updateFloatColumn", - "group": "columns", - "weight": 789, + "method": "getTemplate", + "group": "templates", + "weight": 502, "cookies": false, "type": "", - "demo": "tablesdb\/update-float-column.md", + "demo": "sites\/get-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "public", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "templateId", + "description": "Template ID.", "required": true, "type": "string", + "x-example": "<TEMPLATE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "number", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "max": { - "type": "number", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "default": { - "type": "number", - "description": "Default value. Cannot be set when required.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer": { - "post": { - "summary": "Create integer column", - "operationId": "tablesDBCreateIntegerColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/usage": { + "get": { + "summary": "Get sites usage", + "operationId": "sitesListUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create an integer column. Optionally, minimum and maximum values can be provided.\n", + "description": "Get usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { - "202": { - "description": "ColumnInteger", + "200": { + "description": "UsageSites", "schema": { - "$ref": "#\/definitions\/columnInteger" + "$ref": "#\/definitions\/usageSites" } } }, "deprecated": false, "x-appwrite": { - "method": "createIntegerColumn", - "group": "columns", - "weight": 790, + "method": "listUsage", + "group": null, + "weight": 503, "cookies": false, "type": "", - "demo": "tablesdb\/create-integer-column.md", + "demo": "sites\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer\/{key}": { - "patch": { - "summary": "Update integer column", - "operationId": "tablesDBUpdateIntegerColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}": { + "get": { + "summary": "Get site", + "operationId": "sitesGet", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update an integer column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a site by its unique ID.", "responses": { "200": { - "description": "ColumnInteger", + "description": "Site", "schema": { - "$ref": "#\/definitions\/columnInteger" + "$ref": "#\/definitions\/site" } } }, "deprecated": false, "x-appwrite": { - "method": "updateIntegerColumn", - "group": "columns", - "weight": 791, + "method": "get", + "group": "sites", + "weight": 478, "cookies": false, "type": "", - "demo": "tablesdb\/update-integer-column.md", + "demo": "sites\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -60362,85 +57759,18 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", + "x-example": "<SITE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "min": { - "type": "integer", - "description": "Minimum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "max": { - "type": "integer", - "description": "Maximum value", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "default": { - "type": "integer", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "format": "int64", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip": { - "post": { - "summary": "Create IP address column", - "operationId": "tablesDBCreateIpColumn", + }, + "put": { + "summary": "Update site", + "operationId": "sitesUpdate", "consumes": [ "application\/json" ], @@ -60448,41 +57778,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create IP address column.\n", + "description": "Update site by its unique ID.", "responses": { - "202": { - "description": "ColumnIP", + "200": { + "description": "Site", "schema": { - "$ref": "#\/definitions\/columnIp" + "$ref": "#\/definitions\/site" } } }, "deprecated": false, "x-appwrite": { - "method": "createIpColumn", - "group": "columns", - "weight": 794, + "method": "update", + "group": "sites", + "weight": 973, "cookies": false, "type": "", - "demo": "tablesdb\/create-ip-column.md", + "demo": "sites\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -60495,19 +57819,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -60516,87 +57832,288 @@ "schema": { "type": "object", "properties": { - "key": { + "name": { "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false + "description": "Site name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "default": { + "framework": { "type": "string", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "x-nullable": true + "description": "Sites framework.", + "x-example": "analog", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, - "array": { + "enabled": { "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false + "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "logging": { + "type": "boolean", + "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", + "x-example": false, + "default": true + }, + "timeout": { + "type": "integer", + "description": "Maximum request time in seconds.", + "x-example": 1, + "default": 30, + "format": "int32" + }, + "installCommand": { + "type": "string", + "description": "Install Command.", + "x-example": "<INSTALL_COMMAND>", + "default": "" + }, + "buildCommand": { + "type": "string", + "description": "Build Command.", + "x-example": "<BUILD_COMMAND>", + "default": "" + }, + "startCommand": { + "type": "string", + "description": "Custom start command. Leave empty to use default.", + "x-example": "<START_COMMAND>", + "default": "" + }, + "outputDirectory": { + "type": "string", + "description": "Output Directory for site.", + "x-example": "<OUTPUT_DIRECTORY>", + "default": "" + }, + "buildRuntime": { + "type": "string", + "description": "Runtime to use during build step.", + "x-example": "node-14.5", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "node-23", + "node-24", + "node-25", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "php-8.4", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "ruby-3.4", + "ruby-4.0", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-3.13", + "python-3.14", + "python-ml-3.11", + "python-ml-3.12", + "python-ml-3.13", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "deno-2.5", + "deno-2.6", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dart-3.10", + "dart-3.11", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "dotnet-10", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "java-25", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "swift-6.2", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "kotlin-2.3", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "bun-1.2", + "bun-1.3", + "go-1.23", + "go-1.24", + "go-1.25", + "go-1.26", + "rust-1.83", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35", + "flutter-3.38", + "flutter-3.41" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "adapter": { + "type": "string", + "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", + "x-example": "static", + "enum": [ + "static", + "ssr" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "fallbackFile": { + "type": "string", + "description": "Fallback file for single page application sites.", + "x-example": "<FALLBACK_FILE>", + "default": "" + }, + "installationId": { + "type": "string", + "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", + "x-example": "<INSTALLATION_ID>", + "default": "" + }, + "providerRepositoryId": { + "type": "string", + "description": "Repository ID of the repo linked to the site.", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" + }, + "providerBranch": { + "type": "string", + "description": "Production branch for the repo linked to the site.", + "x-example": "<PROVIDER_BRANCH>", + "default": "" + }, + "providerSilentMode": { + "type": "boolean", + "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", + "x-example": false, + "default": false + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to site code in the linked repo.", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + }, + "buildSpecification": { + "type": "string", + "description": "Build specification for the site deployments.", + "x-example": null, + "default": {} + }, + "runtimeSpecification": { + "type": "string", + "description": "Runtime specification for the SSR executions.", + "x-example": null, + "default": {} + }, + "deploymentRetention": { + "type": "integer", + "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", + "x-example": 0, + "default": 0, + "format": "int32" } }, "required": [ - "key", - "required" + "name", + "framework" ] } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip\/{key}": { - "patch": { - "summary": "Update IP address column", - "operationId": "tablesDBUpdateIpColumn", + }, + "delete": { + "summary": "Delete site", + "operationId": "sitesDelete", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "tablesDB" + "sites" ], - "description": "Update an ip column. Changing the `default` value will not update already existing rows.\n", + "description": "Delete a site by its unique ID.", "responses": { - "200": { - "description": "ColumnIP", - "schema": { - "$ref": "#\/definitions\/columnIp" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateIpColumn", - "group": "columns", - "weight": 795, + "method": "delete", + "group": "sites", + "weight": 481, "cookies": false, "type": "", - "demo": "tablesdb\/update-ip-column.md", + "demo": "sites\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -60609,68 +58126,20 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", + "x-example": "<SITE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value. Cannot be set when column is required.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line": { - "post": { - "summary": "Create line column", - "operationId": "tablesDBCreateLineColumn", + "\/sites\/{siteId}\/deployment": { + "patch": { + "summary": "Update site's deployment", + "operationId": "sitesUpdateSiteDeployment", "consumes": [ "application\/json" ], @@ -60678,41 +58147,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a geometric line column.", + "description": "Update the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "responses": { - "202": { - "description": "ColumnLine", + "200": { + "description": "Site", "schema": { - "$ref": "#\/definitions\/columnLine" + "$ref": "#\/definitions\/site" } } }, "deprecated": false, "x-appwrite": { - "method": "createLineColumn", - "group": "columns", - "weight": 796, + "method": "updateSiteDeployment", + "group": "sites", + "weight": 488, "cookies": false, "type": "", - "demo": "tablesdb\/create-line-column.md", + "demo": "sites\/update-site-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -60725,19 +58188,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -60746,81 +58201,58 @@ "schema": { "type": "object", "properties": { - "key": { + "deploymentId": { "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "default": null, - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "x-nullable": true + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" } }, "required": [ - "key", - "required" + "deploymentId" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line\/{key}": { - "patch": { - "summary": "Update line column", - "operationId": "tablesDBUpdateLineColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/deployments": { + "get": { + "summary": "List deployments", + "operationId": "sitesListDeployments", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a line column. Changing the `default` value will not update already existing rows.", + "description": "Get a list of all the site's code deployments. You can use the query params to filter your results.", "responses": { "200": { - "description": "ColumnLine", + "description": "Deployments List", "schema": { - "$ref": "#\/definitions\/columnLine" + "$ref": "#\/definitions\/deploymentList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateLineColumn", - "group": "columns", - "weight": 797, + "method": "listDeployments", + "group": "deployments", + "weight": 487, "cookies": false, "type": "", - "demo": "tablesdb\/update-line-column.md", + "demo": "sites\/list-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -60833,109 +58265,84 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "key", - "description": "Column Key.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "default": null, - "x-example": "[[1, 2], [3, 4], [5, 6]]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext": { + }, "post": { - "summary": "Create longtext column", - "operationId": "tablesDBCreateLongtextColumn", + "summary": "Create deployment", + "operationId": "sitesCreateDeployment", "consumes": [ - "application\/json" + "multipart\/form-data" ], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a longtext column.\n", + "description": "Create a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "responses": { "202": { - "description": "ColumnLongtext", + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnLongtext" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "createLongtextColumn", - "group": "columns", - "weight": 814, + "method": "createDeployment", + "group": "deployments", + "weight": 483, "cookies": false, - "type": "", - "demo": "tablesdb\/create-longtext-column.md", + "type": "upload", + "demo": "sites\/create-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], - "packaging": false, + "packaging": true, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-longtext-column.md", "auth": { "Project": [] } @@ -60948,72 +58355,60 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "installCommand", + "description": "Install Commands.", + "required": false, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "x-example": "<INSTALL_COMMAND>", + "in": "formData" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "name": "buildCommand", + "description": "Build Commands.", + "required": false, + "type": "string", + "x-example": "<BUILD_COMMAND>", + "in": "formData" + }, + { + "name": "outputDirectory", + "description": "Output Directory.", + "required": false, + "type": "string", + "x-example": "<OUTPUT_DIRECTORY>", + "in": "formData" + }, + { + "name": "code", + "description": "Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.", + "required": true, + "type": "file", + "in": "formData" + }, + { + "name": "activate", + "description": "Automatically activate the deployment when it is finished building.", + "required": false, + "type": "boolean", + "x-example": false, + "default": false, + "in": "formData" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext\/{key}": { - "patch": { - "summary": "Update longtext column", - "operationId": "tablesDBUpdateLongtextColumn", + "\/sites\/{siteId}\/deployments\/duplicate": { + "post": { + "summary": "Create duplicate deployment", + "operationId": "sitesCreateDuplicateDeployment", "consumes": [ "application\/json" ], @@ -61021,41 +58416,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a longtext column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "responses": { - "200": { - "description": "ColumnLongtext", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnLongtext" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "updateLongtextColumn", - "group": "columns", - "weight": 815, + "method": "createDuplicateDeployment", + "group": "deployments", + "weight": 491, "cookies": false, "type": "", - "demo": "tablesdb\/update-longtext-column.md", + "demo": "sites\/create-duplicate-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-longtext-column.md", "auth": { "Project": [] } @@ -61068,26 +58457,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -61096,40 +58470,24 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { + "deploymentId": { "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true + "description": "Deployment ID.", + "x-example": "<DEPLOYMENT_ID>" } }, "required": [ - "required", - "default" + "deploymentId" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext": { + "\/sites\/{siteId}\/deployments\/template": { "post": { - "summary": "Create mediumtext column", - "operationId": "tablesDBCreateMediumtextColumn", + "summary": "Create template deployment", + "operationId": "sitesCreateTemplateDeployment", "consumes": [ "application\/json" ], @@ -61137,41 +58495,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a mediumtext column.\n", + "description": "Create a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "responses": { "202": { - "description": "ColumnMediumtext", + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnMediumtext" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "createMediumtextColumn", - "group": "columns", - "weight": 812, + "method": "createTemplateDeployment", + "group": "deployments", + "weight": 484, "cookies": false, "type": "", - "demo": "tablesdb\/create-mediumtext-column.md", + "demo": "sites\/create-template-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-mediumtext-column.md", "auth": { "Project": [] } @@ -61184,19 +58536,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -61205,51 +58549,61 @@ "schema": { "type": "object", "properties": { - "key": { + "repository": { "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null + "description": "Repository name of the template.", + "x-example": "<REPOSITORY>" }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false + "owner": { + "type": "string", + "description": "The name of the owner of the template.", + "x-example": "<OWNER>" }, - "default": { + "rootDirectory": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Path to site code in the template repo.", + "x-example": "<ROOT_DIRECTORY>" }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false + "type": { + "type": "string", + "description": "Type for the reference provided. Can be commit, branch, or tag", + "x-example": "branch", + "enum": [ + "branch", + "commit", + "tag" + ], + "x-enum-name": "TemplateReferenceType", + "x-enum-keys": [] }, - "encrypt": { + "reference": { + "type": "string", + "description": "Reference value, can be a commit hash, branch name, or release tag", + "x-example": "<REFERENCE>" + }, + "activate": { "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false, + "default": false } }, "required": [ - "key", - "required" + "repository", + "owner", + "rootDirectory", + "type", + "reference" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext\/{key}": { - "patch": { - "summary": "Update mediumtext column", - "operationId": "tablesDBUpdateMediumtextColumn", + "\/sites\/{siteId}\/deployments\/vcs": { + "post": { + "summary": "Create VCS deployment", + "operationId": "sitesCreateVcsDeployment", "consumes": [ "application\/json" ], @@ -61257,41 +58611,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a mediumtext column. Changing the `default` value will not update already existing rows.\n", + "description": "Create a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "responses": { - "200": { - "description": "ColumnMediumtext", + "202": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnMediumtext" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMediumtextColumn", - "group": "columns", - "weight": 813, + "method": "createVcsDeployment", + "group": "deployments", + "weight": 485, "cookies": false, "type": "", - "demo": "tablesdb\/update-mediumtext-column.md", + "demo": "sites\/create-vcs-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-mediumtext-column.md", "auth": { "Project": [] } @@ -61304,26 +58652,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -61332,82 +58665,77 @@ "schema": { "type": "object", "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { + "type": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true + "description": "Type of reference passed. Allowed values are: branch, commit", + "x-example": "branch", + "enum": [ + "branch", + "commit", + "tag" + ], + "x-enum-name": "VCSReferenceType", + "x-enum-keys": [] }, - "newKey": { + "reference": { "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true + "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", + "x-example": "<REFERENCE>" + }, + "activate": { + "type": "boolean", + "description": "Automatically activate the deployment when it is finished building.", + "x-example": false, + "default": false } }, "required": [ - "required", - "default" + "type", + "reference" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point": { - "post": { - "summary": "Create point column", - "operationId": "tablesDBCreatePointColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/deployments\/{deploymentId}": { + "get": { + "summary": "Get deployment", + "operationId": "sitesGetDeployment", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a geometric point column.", + "description": "Get a site deployment by its unique ID.", "responses": { - "202": { - "description": "ColumnPoint", + "200": { + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnPoint" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "createPointColumn", - "group": "columns", - "weight": 798, + "method": "getDeployment", + "group": "deployments", + "weight": 486, "cookies": false, "type": "", - "demo": "tablesdb\/create-point-column.md", + "demo": "sites\/get-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -61420,102 +58748,57 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<DEPLOYMENT_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "default": null, - "x-example": "[1, 2]", - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point\/{key}": { - "patch": { - "summary": "Update point column", - "operationId": "tablesDBUpdatePointColumn", + }, + "delete": { + "summary": "Delete deployment", + "operationId": "sitesDeleteDeployment", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a point column. Changing the `default` value will not update already existing rows.", + "description": "Delete a site deployment by its unique ID.", "responses": { - "200": { - "description": "ColumnPoint", - "schema": { - "$ref": "#\/definitions\/columnPoint" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updatePointColumn", - "group": "columns", - "weight": 799, + "method": "deleteDeployment", + "group": "deployments", + "weight": 489, "cookies": false, "type": "", - "demo": "tablesdb\/update-point-column.md", + "demo": "sites\/delete-deployment.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -61528,109 +58811,62 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "type": "string", + "x-example": "<DEPLOYMENT_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "default": null, - "x-example": "[1, 2]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon": { - "post": { - "summary": "Create polygon column", - "operationId": "tablesDBCreatePolygonColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/deployments\/{deploymentId}\/download": { + "get": { + "summary": "Get deployment download", + "operationId": "sitesGetDeploymentDownload", + "consumes": [], "produces": [ - "application\/json" + "*\/*" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a geometric polygon column.", + "description": "Get a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { - "202": { - "description": "ColumnPolygon", - "schema": { - "$ref": "#\/definitions\/columnPolygon" + "200": { + "description": "File", + "schema": { + "type": "file" } } }, "deprecated": false, "x-appwrite": { - "method": "createPolygonColumn", - "group": "columns", - "weight": 800, + "method": "getDeploymentDownload", + "group": "deployments", + "weight": 490, "cookies": false, - "type": "", - "demo": "tablesdb\/create-polygon-column.md", + "type": "location", + "demo": "sites\/get-deployment-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -61638,65 +58874,49 @@ "security": [ { "Project": [], - "Key": [] + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<DEPLOYMENT_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "default": null, - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "x-nullable": true - } - }, - "required": [ - "key", - "required" - ] - } + "name": "type", + "description": "Deployment file to download. Can be: \"source\", \"output\".", + "required": false, + "type": "string", + "x-example": "source", + "enum": [ + "source", + "output" + ], + "x-enum-name": "DeploymentDownloadType", + "x-enum-keys": [], + "default": "source", + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon\/{key}": { + "\/sites\/{siteId}\/deployments\/{deploymentId}\/status": { "patch": { - "summary": "Update polygon column", - "operationId": "tablesDBUpdatePolygonColumn", + "summary": "Update deployment status", + "operationId": "sitesUpdateDeploymentStatus", "consumes": [ "application\/json" ], @@ -61704,41 +58924,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a polygon column. Changing the `default` value will not update already existing rows.", + "description": "Cancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "responses": { "200": { - "description": "ColumnPolygon", + "description": "Deployment", "schema": { - "$ref": "#\/definitions\/columnPolygon" + "$ref": "#\/definitions\/deployment" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePolygonColumn", - "group": "columns", - "weight": 801, + "method": "updateDeploymentStatus", + "group": "deployments", + "weight": 492, "cookies": false, "type": "", - "demo": "tablesdb\/update-polygon-column.md", + "demo": "sites\/update-deployment-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -61751,109 +58965,62 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "deploymentId", + "description": "Deployment ID.", "required": true, "type": "string", + "x-example": "<DEPLOYMENT_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "array", - "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "default": null, - "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/relationship": { - "post": { - "summary": "Create relationship column", - "operationId": "tablesDBCreateRelationshipColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/logs": { + "get": { + "summary": "List logs", + "operationId": "sitesListLogs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", + "description": "Get a list of all site logs. You can use the query params to filter your results.", "responses": { - "202": { - "description": "ColumnRelationship", + "200": { + "description": "Executions List", "schema": { - "$ref": "#\/definitions\/columnRelationship" + "$ref": "#\/definitions\/executionList" } } }, "deprecated": false, "x-appwrite": { - "method": "createRelationshipColumn", - "group": "columns", - "weight": 802, + "method": "listLogs", + "group": "logs", + "weight": 494, "cookies": false, "type": "", - "demo": "tablesdb\/create-relationship-column.md", + "demo": "sites\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -61866,140 +59033,75 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "relatedTableId": { - "type": "string", - "description": "Related Table ID.", - "default": null, - "x-example": "<RELATED_TABLE_ID>" - }, - "type": { - "type": "string", - "description": "Relation type", - "default": null, - "x-example": "oneToOne", - "enum": [ - "oneToOne", - "manyToOne", - "manyToMany", - "oneToMany" - ], - "x-enum-name": "RelationshipType", - "x-enum-keys": [] - }, - "twoWay": { - "type": "boolean", - "description": "Is Two Way?", - "default": false, - "x-example": false - }, - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "twoWayKey": { - "type": "string", - "description": "Two Way Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - }, - "onDelete": { - "type": "string", - "description": "Constraints option", - "default": "restrict", - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [] - } - }, - "required": [ - "relatedTableId", - "type" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string": { - "post": { - "summary": "Create string column", - "operationId": "tablesDBCreateStringColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/logs\/{logId}": { + "get": { + "summary": "Get log", + "operationId": "sitesGetLog", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a string column.\n", + "description": "Get a site request log by its unique ID.", "responses": { - "202": { - "description": "ColumnString", + "200": { + "description": "Execution", "schema": { - "$ref": "#\/definitions\/columnString" + "$ref": "#\/definitions\/execution" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createStringColumn", - "group": "columns", - "weight": 804, + "method": "getLog", + "group": "logs", + "weight": 493, "cookies": false, "type": "", - "demo": "tablesdb\/create-string-column.md", + "demo": "sites\/get-log.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", - "deprecated": { - "since": "1.9.0", - "replaceWith": "tablesDB.createTextColumn" - }, "auth": { "Project": [] } @@ -62012,80 +59114,26 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "logId", + "description": "Log ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<LOG_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "size": { - "type": "integer", - "description": "Column size for text columns, in number of characters.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "size", - "required" - ] - } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string\/{key}": { - "patch": { - "summary": "Update string column", - "operationId": "tablesDBUpdateStringColumn", + }, + "delete": { + "summary": "Delete log", + "operationId": "sitesDeleteLog", "consumes": [ "application\/json" ], @@ -62093,45 +59141,32 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a string column. Changing the `default` value will not update already existing rows.\n", + "description": "Delete a site log by its unique ID.", "responses": { - "200": { - "description": "ColumnString", - "schema": { - "$ref": "#\/definitions\/columnString" - } + "204": { + "description": "No content" } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateStringColumn", - "group": "columns", - "weight": 805, + "method": "deleteLog", + "group": "logs", + "weight": 495, "cookies": false, "type": "", - "demo": "tablesdb\/update-string-column.md", + "demo": "sites\/delete-log.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "log.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "tablesDB.updateTextColumn" - }, "auth": { "Project": [] } @@ -62144,238 +59179,140 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "logId", + "description": "Log ID.", "required": true, "type": "string", + "x-example": "<LOG_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the string column.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text": { - "post": { - "summary": "Create text column", - "operationId": "tablesDBCreateTextColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/usage": { + "get": { + "summary": "Get site usage", + "operationId": "sitesGetUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a text column.\n", + "description": "Get usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "responses": { - "202": { - "description": "ColumnText", + "200": { + "description": "UsageSite", "schema": { - "$ref": "#\/definitions\/columnText" + "$ref": "#\/definitions\/usageSite" } } }, "deprecated": false, "x-appwrite": { - "method": "createTextColumn", - "group": "columns", - "weight": 810, + "method": "getUsage", + "group": null, + "weight": 504, "cookies": false, "type": "", - "demo": "tablesdb\/create-text-column.md", + "demo": "sites\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-text-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - }, - "encrypt": { - "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false - } - }, - "required": [ - "key", - "required" - ] - } + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text\/{key}": { - "patch": { - "summary": "Update text column", - "operationId": "tablesDBUpdateTextColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/variables": { + "get": { + "summary": "List variables", + "operationId": "sitesListVariables", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a text column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a list of all variables of a specific site.", "responses": { "200": { - "description": "ColumnText", + "description": "Variables List", "schema": { - "$ref": "#\/definitions\/columnText" + "$ref": "#\/definitions\/variableList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTextColumn", - "group": "columns", - "weight": 811, + "method": "listVariables", + "group": "variables", + "weight": 498, "cookies": false, "type": "", - "demo": "tablesdb\/update-text-column.md", + "demo": "sites\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-text-column.md", "auth": { "Project": [] } @@ -62388,68 +59325,39 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, resourceType, resourceId, secret", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url": { + }, "post": { - "summary": "Create URL column", - "operationId": "tablesDBCreateUrlColumn", + "summary": "Create variable", + "operationId": "sitesCreateVariable", "consumes": [ "application\/json" ], @@ -62457,41 +59365,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a URL column.\n", + "description": "Create a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "responses": { - "202": { - "description": "ColumnURL", + "201": { + "description": "Variable", "schema": { - "$ref": "#\/definitions\/columnUrl" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "createUrlColumn", - "group": "columns", - "weight": 806, + "method": "createVariable", + "group": "variables", + "weight": 974, "cookies": false, "type": "", - "demo": "tablesdb\/create-url-column.md", + "demo": "sites\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -62504,19 +59406,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { @@ -62525,88 +59419,76 @@ "schema": { "type": "object", "properties": { - "key": { + "variableId": { "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null + "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<VARIABLE_ID>" }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false + "key": { + "type": "string", + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>" }, - "default": { + "value": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>" }, - "array": { + "secret": { "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false + "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "x-example": false, + "default": true } }, "required": [ + "variableId", "key", - "required" + "value" ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url\/{key}": { - "patch": { - "summary": "Update URL column", - "operationId": "tablesDBUpdateUrlColumn", - "consumes": [ - "application\/json" - ], + "\/sites\/{siteId}\/variables\/{variableId}": { + "get": { + "summary": "Get variable", + "operationId": "sitesGetVariable", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Update an url column. Changing the `default` value will not update already existing rows.\n", + "description": "Get a variable by its unique ID.", "responses": { "200": { - "description": "ColumnURL", + "description": "Variable", "schema": { - "$ref": "#\/definitions\/columnUrl" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "updateUrlColumn", - "group": "columns", - "weight": 807, + "method": "getVariable", + "group": "variables", + "weight": 497, "cookies": false, "type": "", - "demo": "tablesdb\/update-url-column.md", + "demo": "sites\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -62619,69 +59501,26 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", + "x-example": "<VARIABLE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "https:\/\/example.com", - "format": "url", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar": { - "post": { - "summary": "Create varchar column", - "operationId": "tablesDBCreateVarcharColumn", + }, + "put": { + "summary": "Update variable", + "operationId": "sitesUpdateVariable", "consumes": [ "application\/json" ], @@ -62689,41 +59528,35 @@ "application\/json" ], "tags": [ - "tablesDB" + "sites" ], - "description": "Create a varchar column.\n", + "description": "Update variable by its unique ID.", "responses": { - "202": { - "description": "ColumnVarchar", + "200": { + "description": "Variable", "schema": { - "$ref": "#\/definitions\/columnVarchar" + "$ref": "#\/definitions\/variable" } } }, "deprecated": false, "x-appwrite": { - "method": "createVarcharColumn", - "group": "columns", - "weight": 808, + "method": "updateVariable", + "group": "variables", + "weight": 499, "cookies": false, "type": "", - "demo": "tablesdb\/create-varchar-column.md", + "demo": "sites\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-varchar-column.md", "auth": { "Project": [] } @@ -62736,19 +59569,19 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "siteId", + "description": "Site unique ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<VARIABLE_ID>", "in": "path" }, { @@ -62759,99 +59592,61 @@ "properties": { "key": { "type": "string", - "description": "Column Key.", - "default": null, - "x-example": null - }, - "size": { - "type": "integer", - "description": "Column size for varchar columns, in number of characters. Maximum size is 16381.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false + "description": "Variable key. Max length: 255 chars.", + "x-example": "<KEY>", + "x-nullable": true }, - "default": { + "value": { "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", + "description": "Variable value. Max length: 8192 chars.", + "x-example": "<VALUE>", "x-nullable": true }, - "array": { - "type": "boolean", - "description": "Is column an array?", - "default": false, - "x-example": false - }, - "encrypt": { + "secret": { "type": "boolean", - "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", + "x-example": false, + "x-nullable": true } - }, - "required": [ - "key", - "size", - "required" - ] + } } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar\/{key}": { - "patch": { - "summary": "Update varchar column", - "operationId": "tablesDBUpdateVarcharColumn", + }, + "delete": { + "summary": "Delete variable", + "operationId": "sitesDeleteVariable", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "tablesDB" + "sites" ], - "description": "Update a varchar column. Changing the `default` value will not update already existing rows.\n", + "description": "Delete a variable by its unique ID.", "responses": { - "200": { - "description": "ColumnVarchar", - "schema": { - "$ref": "#\/definitions\/columnVarchar" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateVarcharColumn", - "group": "columns", - "weight": 809, + "method": "deleteVariable", + "group": "variables", + "weight": 500, "cookies": false, "type": "", - "demo": "tablesdb\/update-varchar-column.md", + "demo": "sites\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "sites.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-varchar-column.md", "auth": { "Project": [] } @@ -62864,198 +59659,63 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "siteId", + "description": "Site unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<SITE_ID>", "in": "path" }, { - "name": "key", - "description": "Column Key.", + "name": "variableId", + "description": "Variable unique ID.", "required": true, "type": "string", + "x-example": "<VARIABLE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "required": { - "type": "boolean", - "description": "Is column required?", - "default": null, - "x-example": false - }, - "default": { - "type": "string", - "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, - "x-example": "<DEFAULT>", - "x-nullable": true - }, - "size": { - "type": "integer", - "description": "Maximum size of the varchar column.", - "default": null, - "x-example": 1, - "format": "int32", - "x-nullable": true - }, - "newKey": { - "type": "string", - "description": "New Column Key.", - "default": null, - "x-example": null, - "x-nullable": true - } - }, - "required": [ - "required", - "default" - ] - } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}": { + "\/storage\/buckets": { "get": { - "summary": "Get column", - "operationId": "tablesDBGetColumn", + "summary": "List buckets", + "operationId": "storageListBuckets", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Get column by ID.", + "description": "Get a list of all the storage buckets. You can use the query params to filter your results.", "responses": { "200": { - "description": "ColumnBoolean, or ColumnInteger, or ColumnFloat, or ColumnEmail, or ColumnEnum, or ColumnURL, or ColumnIP, or ColumnDatetime, or ColumnRelationship, or ColumnString", + "description": "Buckets List", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/columnBoolean" - }, - { - "$ref": "#\/definitions\/columnInteger" - }, - { - "$ref": "#\/definitions\/columnFloat" - }, - { - "$ref": "#\/definitions\/columnEmail" - }, - { - "$ref": "#\/definitions\/columnEnum" - }, - { - "$ref": "#\/definitions\/columnUrl" - }, - { - "$ref": "#\/definitions\/columnIp" - }, - { - "$ref": "#\/definitions\/columnDatetime" - }, - { - "$ref": "#\/definitions\/columnRelationship" - }, - { - "$ref": "#\/definitions\/columnString" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "boolean": "#\/definitions\/columnBoolean", - "integer": "#\/definitions\/columnInteger", - "double": "#\/definitions\/columnFloat", - "string": "#\/definitions\/columnString", - "datetime": "#\/definitions\/columnDatetime", - "relationship": "#\/definitions\/columnRelationship" - }, - "x-propertyNames": [ - "type", - "format" - ], - "x-mapping": { - "#\/definitions\/columnBoolean": { - "type": "boolean" - }, - "#\/definitions\/columnInteger": { - "type": "integer" - }, - "#\/definitions\/columnFloat": { - "type": "double" - }, - "#\/definitions\/columnEmail": { - "type": "string", - "format": "email" - }, - "#\/definitions\/columnEnum": { - "type": "string", - "format": "enum" - }, - "#\/definitions\/columnUrl": { - "type": "string", - "format": "url" - }, - "#\/definitions\/columnIp": { - "type": "string", - "format": "ip" - }, - "#\/definitions\/columnDatetime": { - "type": "datetime" - }, - "#\/definitions\/columnRelationship": { - "type": "relationship" - }, - "#\/definitions\/columnString": { - "type": "string" - } - } - } + "$ref": "#\/definitions\/bucketList" } } }, "deprecated": false, "x-appwrite": { - "method": "getColumn", - "group": "columns", - "weight": 777, + "method": "listBuckets", + "group": "buckets", + "weight": 550, "cookies": false, "type": "", - "demo": "tablesdb\/get-column.md", + "demo": "storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "columns.read", - "attributes.read" - ], + "scope": "buckets.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -63068,111 +59728,40 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus, transformations", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "tableId", - "description": "Table ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "delete": { - "summary": "Delete column", - "operationId": "tablesDBDeleteColumn", - "consumes": [ - "application\/json" - ], - "produces": [], - "tags": [ - "tablesDB" - ], - "description": "Deletes a column.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteColumn", - "group": "columns", - "weight": 778, - "cookies": false, - "type": "", - "demo": "tablesdb\/delete-column.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" - } - ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}\/relationship": { - "patch": { - "summary": "Update relationship column", - "operationId": "tablesDBUpdateRelationshipColumn", + "post": { + "summary": "Create bucket", + "operationId": "storageCreateBucket", "consumes": [ "application\/json" ], @@ -63180,41 +59769,36 @@ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Update relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", + "description": "Create a new storage bucket.", "responses": { - "200": { - "description": "ColumnRelationship", + "201": { + "description": "Bucket", "schema": { - "$ref": "#\/definitions\/columnRelationship" + "$ref": "#\/definitions\/bucket" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRelationshipColumn", - "group": "columns", - "weight": 803, + "method": "createBucket", + "group": "buckets", + "weight": 548, "cookies": false, "type": "", - "demo": "tablesdb\/update-relationship-column.md", + "demo": "storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "columns.write", - "attributes.write" - ], + "scope": "buckets.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -63226,105 +59810,139 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Column Key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "onDelete": { + "bucketId": { "type": "string", - "description": "Constraints option", - "default": null, - "x-example": "cascade", - "enum": [ - "cascade", - "restrict", - "setNull" - ], - "x-enum-name": "RelationMutate", - "x-enum-keys": [], - "x-nullable": true + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<BUCKET_ID>" }, - "newKey": { + "name": { "type": "string", - "description": "New Column Key.", - "default": null, + "description": "Bucket name", + "x-example": "<NAME>" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "fileSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", + "x-example": false, + "default": true + }, + "maximumFileSize": { + "type": "integer", + "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", + "x-example": 1, + "default": {}, + "format": "int32" + }, + "allowedFileExtensions": { + "type": "array", + "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", "x-example": null, - "x-nullable": true + "default": [], + "items": { + "type": "string" + } + }, + "compression": { + "type": "string", + "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", + "x-example": "none", + "default": "none", + "enum": [ + "none", + "gzip", + "zstd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "encryption": { + "type": "boolean", + "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", + "x-example": false, + "default": true + }, + "antivirus": { + "type": "boolean", + "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", + "x-example": false, + "default": true + }, + "transformations": { + "type": "boolean", + "description": "Are image transformations enabled?", + "x-example": false, + "default": true } - } + }, + "required": [ + "bucketId", + "name" + ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes": { + "\/storage\/buckets\/{bucketId}": { "get": { - "summary": "List indexes", - "operationId": "tablesDBListIndexes", + "summary": "Get bucket", + "operationId": "storageGetBucket", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "List indexes on the table.", + "description": "Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.", "responses": { "200": { - "description": "Column Indexes List", + "description": "Bucket", "schema": { - "$ref": "#\/definitions\/columnIndexList" + "$ref": "#\/definitions\/bucket" } } }, "deprecated": false, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 819, + "method": "getBucket", + "group": "buckets", + "weight": 549, "cookies": false, "type": "", - "demo": "tablesdb\/list-indexes.md", + "demo": "storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "indexes.read" - ], + "scope": "buckets.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -63337,47 +59955,18 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, status, attributes, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" } ] }, - "post": { - "summary": "Create index", - "operationId": "tablesDBCreateIndex", + "put": { + "summary": "Update bucket", + "operationId": "storageUpdateBucket", "consumes": [ "application\/json" ], @@ -63385,40 +59974,36 @@ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Creates an index on the columns listed. Your index should include all the columns you will query in a single request.\nType can be `key`, `fulltext`, or `unique`.", + "description": "Update a storage bucket by its unique ID.", "responses": { - "202": { - "description": "Index", + "200": { + "description": "Bucket", "schema": { - "$ref": "#\/definitions\/columnIndex" + "$ref": "#\/definitions\/bucket" } } }, "deprecated": false, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 816, + "method": "updateBucket", + "group": "buckets", + "weight": 551, "cookies": false, "type": "", - "demo": "tablesdb\/create-index.md", + "demo": "storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "indexes.write" - ], + "scope": "buckets.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -63431,19 +60016,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { @@ -63452,113 +60029,122 @@ "schema": { "type": "object", "properties": { - "key": { + "name": { "type": "string", - "description": "Index Key.", - "default": null, - "x-example": null + "description": "Bucket name", + "x-example": "<NAME>" }, - "type": { - "type": "string", - "description": "Index type.", - "default": null, - "x-example": "key", - "enum": [ - "key", - "fulltext", - "unique", - "spatial" - ], - "x-enum-name": "TablesDBIndexType", - "x-enum-keys": [] - }, - "columns": { + "permissions": { "type": "array", - "description": "Array of columns to index. Maximum of 100 columns are allowed, each 32 characters long.", - "default": null, - "x-example": null, + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } + "fileSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false }, - "lengths": { + "enabled": { + "type": "boolean", + "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", + "x-example": false, + "default": true + }, + "maximumFileSize": { + "type": "integer", + "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", + "x-example": 1, + "default": {}, + "format": "int32" + }, + "allowedFileExtensions": { "type": "array", - "description": "Length of index. Maximum of 100", - "default": [], + "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", "x-example": null, + "default": [], "items": { - "type": "integer" + "type": "string" } + }, + "compression": { + "type": "string", + "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", + "x-example": "none", + "default": "none", + "enum": [ + "none", + "gzip", + "zstd" + ], + "x-enum-name": null, + "x-enum-keys": [] + }, + "encryption": { + "type": "boolean", + "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", + "x-example": false, + "default": true + }, + "antivirus": { + "type": "boolean", + "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", + "x-example": false, + "default": true + }, + "transformations": { + "type": "boolean", + "description": "Are image transformations enabled?", + "x-example": false, + "default": true } }, "required": [ - "key", - "type", - "columns" + "name" ] } } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes\/{key}": { - "get": { - "summary": "Get index", - "operationId": "tablesDBGetIndex", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete bucket", + "operationId": "storageDeleteBucket", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ - "tablesDB" + "storage" ], - "description": "Get index by ID.", + "description": "Delete a storage bucket by its unique ID.", "responses": { - "200": { - "description": "Index", - "schema": { - "$ref": "#\/definitions\/columnIndex" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 817, + "method": "deleteBucket", + "group": "buckets", + "weight": 552, "cookies": false, "type": "", - "demo": "tablesdb\/get-index.md", + "demo": "storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read", - "indexes.read" - ], + "scope": "buckets.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -63571,69 +60157,56 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "type": "string", + "x-example": "<BUCKET_ID>", "in": "path" } ] - }, - "delete": { - "summary": "Delete index", - "operationId": "tablesDBDeleteIndex", - "consumes": [ + } + }, + "\/storage\/buckets\/{bucketId}\/files": { + "get": { + "summary": "List files", + "operationId": "storageListFiles", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "tablesDB" + "storage" ], - "description": "Delete an index.", + "description": "Get a list of all the user files. You can use the query params to filter your results.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Files List", + "schema": { + "$ref": "#\/definitions\/fileList" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 818, + "method": "listFiles", + "group": "files", + "weight": 555, "cookies": false, "type": "", - "demo": "tablesdb\/delete-index.md", + "demo": "storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.write", - "collections.write", - "indexes.write" - ], + "scope": "files.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -63641,153 +60214,177 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "key", - "description": "Index Key.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/logs": { - "get": { - "summary": "List table logs", - "operationId": "tablesDBListTableLogs", - "consumes": [], + }, + "post": { + "summary": "Create file", + "operationId": "storageCreateFile", + "consumes": [ + "multipart\/form-data" + ], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Get the table activity logs list by its unique ID.", + "description": "Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/storage#storageCreateBucket) API or directly from your Appwrite console.\n\nLarger files should be uploaded using multiple requests with the [content-range](https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Headers\/Content-Range) header to send a partial request with a maximum supported chunk of `5MB`. The `content-range` header values should always be in bytes.\n\nWhen the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in `x-appwrite-id` header to allow the server to know that the partial upload is for the existing file and not for a new one.\n\nIf you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.\n", "responses": { - "200": { - "description": "Logs List", + "201": { + "description": "File", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/file" } } }, "deprecated": false, "x-appwrite": { - "method": "listTableLogs", - "group": "tables", - "weight": 775, + "method": "createFile", + "group": "files", + "weight": 1260, "cookies": false, - "type": "", - "demo": "tablesdb\/list-table-logs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "tables.read", - "collections.read" - ], + "type": "upload", + "demo": "storage\/create-file.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", + "scope": "files.write", "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "fileId", + "description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", "required": true, + "x-upload-id": true, "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "x-example": "<FILE_ID>", + "in": "formData" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "name": "file", + "description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https:\/\/appwrite.io\/docs\/products\/storage\/upload-download#input-file).", + "required": true, + "type": "file", + "in": "formData" + }, + { + "name": "permissions", + "description": "An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "required": false, "type": "array", "collectionFormat": "multi", "items": { "type": "string" }, - "default": [], - "in": "query" + "x-example": "[\"read(\"any\")\"]", + "in": "formData" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows": { + "\/storage\/buckets\/{bucketId}\/files\/{fileId}": { "get": { - "summary": "List rows", - "operationId": "tablesDBListRows", + "summary": "Get file", + "operationId": "storageGetFile", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Get a list of all the user's rows in a given table. You can use the query params to filter your results.", + "description": "Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata.", "responses": { "200": { - "description": "Rows List", + "description": "File", "schema": { - "$ref": "#\/definitions\/rowList" + "$ref": "#\/definitions\/file" } } }, "deprecated": false, "x-appwrite": { - "method": "listRows", - "group": "rows", - "weight": 907, + "method": "getFile", + "group": "files", + "weight": 554, "cookies": false, "type": "", - "demo": "tablesdb\/list-rows.md", + "demo": "storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "rows.read", - "documents.read" - ], + "scope": "files.read", "platforms": [ "console", "client", @@ -63795,7 +60392,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -63810,65 +60407,26 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/products\/databases\/tables#create-table).", + "name": "fileId", + "description": "File ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<FILE_ID>", "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, table, schema version (columns and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; row writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" } ] }, - "post": { - "summary": "Create row", - "operationId": "tablesDBCreateRow", + "put": { + "summary": "Update file", + "operationId": "storageUpdateFile", "consumes": [ "application\/json" ], @@ -63876,32 +60434,29 @@ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "Update a file by its unique ID. Only users with write permissions have access to update this resource.", "responses": { - "201": { - "description": "Row", + "200": { + "description": "File", "schema": { - "$ref": "#\/definitions\/row" + "$ref": "#\/definitions\/file" } } }, "deprecated": false, "x-appwrite": { - "method": "createRow", - "group": "rows", - "weight": 820, + "method": "updateFile", + "group": "files", + "weight": 556, "cookies": false, "type": "", - "demo": "tablesdb\/create-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "demo": "storage\/update-file.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.write", "platforms": [ "console", "client", @@ -63909,68 +60464,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", - "methods": [ - { - "name": "createRow", - "namespace": "tablesDB", - "desc": "Create row", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rowId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rowId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/row" - } - ], - "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/create-row.md", - "public": true - }, - { - "name": "createRows", - "namespace": "tablesDB", - "desc": "Create rows", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rows", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rows" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/rowList" - } - ], - "description": "Create new Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/create-rows.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -63985,19 +60479,19 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Bucket unique ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable). Make sure to define columns before creating rows.", + "name": "fileId", + "description": "File ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { @@ -64006,122 +60500,61 @@ "schema": { "type": "object", "properties": { - "rowId": { + "name": { "type": "string", - "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<ROW_ID>" - }, - "data": { - "type": "object", - "description": "Row data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "description": "File name.", + "x-example": "<NAME>" }, "permissions": { "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { "type": "string" } - }, - "rows": { - "type": "array", - "description": "Array of rows data as JSON objects.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true } } } } ] }, - "put": { - "summary": "Upsert rows", - "operationId": "tablesDBUpsertRows", + "delete": { + "summary": "Delete file", + "operationId": "storageDeleteFile", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "tablesDB" + "storage" ], - "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", + "description": "Delete a file by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { - "201": { - "description": "Rows List", - "schema": { - "$ref": "#\/definitions\/rowList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "upsertRows", - "group": "rows", - "weight": 825, + "method": "deleteFile", + "group": "files", + "weight": 557, "cookies": false, "type": "", - "demo": "tablesdb\/upsert-rows.md", - "rate-limit": 120, + "demo": "storage\/delete-file.md", + "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "scope": "files.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", - "methods": [ - { - "name": "upsertRows", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rows", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rows" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/rowList" - } - ], - "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", - "demo": "tablesdb\/upsert-rows.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -64129,99 +60562,71 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "fileId", + "description": "File ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<FILE_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "rows": { - "type": "array", - "description": "Array of row data as JSON objects. May contain partial rows.", - "default": null, - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - }, - "required": [ - "rows" - ] - } } ] - }, - "patch": { - "summary": "Update rows", - "operationId": "tablesDBUpdateRows", - "consumes": [ - "application\/json" - ], + } + }, + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/download": { + "get": { + "summary": "Get file for download", + "operationId": "storageGetFileDownload", + "consumes": [], "produces": [ - "application\/json" + "*\/*" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Update all rows that match your queries, if no queries are submitted then all rows are updated. You can pass only specific fields to be updated.", + "description": "Get a file content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "responses": { "200": { - "description": "Rows List", + "description": "File", "schema": { - "$ref": "#\/definitions\/rowList" + "type": "file" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRows", - "group": "rows", - "weight": 823, + "method": "getFileDownload", + "group": "files", + "weight": 559, "cookies": false, - "type": "", - "demo": "tablesdb\/update-rows.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "type": "location", + "demo": "storage\/get-file-download.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -64229,102 +60634,80 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID.", + "name": "fileId", + "description": "File ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include only column and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } + "name": "token", + "description": "File token for accessing this file.", + "required": false, + "type": "string", + "x-example": "<TOKEN>", + "default": "", + "in": "query" } ] - }, - "delete": { - "summary": "Delete rows", - "operationId": "tablesDBDeleteRows", - "consumes": [ - "application\/json" - ], + } + }, + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/preview": { + "get": { + "summary": "Get file preview", + "operationId": "storageGetFilePreview", + "consumes": [], "produces": [ - "application\/json" + "image\/*" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Bulk delete rows using queries, if no queries are passed then all rows are deleted.", + "description": "Get a file preview image. Currently, this method supports preview for image files (jpg, png, and gif), other supported formats, like pdf, docs, slides, and spreadsheets, will return the file icon image. You can also pass query string arguments for cutting and resizing your preview image. Preview is supported only for image files smaller than 10MB.", "responses": { "200": { - "description": "Rows List", + "description": "Image", "schema": { - "$ref": "#\/definitions\/rowList" + "type": "file" } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRows", - "group": "rows", - "weight": 827, + "method": "getFilePreview", + "group": "files", + "weight": 558, "cookies": false, - "type": "", - "demo": "tablesdb\/delete-rows.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "type": "location", + "demo": "storage\/get-file-preview.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -64332,89 +60715,199 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "fileId", + "description": "File ID", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } + "name": "width", + "description": "Resize preview image width, Pass an integer between 0 to 4000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + }, + { + "name": "height", + "description": "Resize preview image height, Pass an integer between 0 to 4000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + }, + { + "name": "gravity", + "description": "Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right", + "required": false, + "type": "string", + "x-example": "center", + "enum": [ + "center", + "top-left", + "top", + "top-right", + "left", + "right", + "bottom-left", + "bottom", + "bottom-right" + ], + "x-enum-name": "ImageGravity", + "x-enum-keys": [], + "default": "center", + "in": "query" + }, + { + "name": "quality", + "description": "Preview image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": -1, + "default": -1, + "in": "query" + }, + { + "name": "borderWidth", + "description": "Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + }, + { + "name": "borderColor", + "description": "Preview image border color. Use a valid HEX color, no # is needed for prefix.", + "required": false, + "type": "string", + "default": "", + "in": "query" + }, + { + "name": "borderRadius", + "description": "Preview image border radius in pixels. Pass an integer between 0 to 4000.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + }, + { + "name": "opacity", + "description": "Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.", + "required": false, + "type": "number", + "format": "float", + "x-example": 0, + "default": 1, + "in": "query" + }, + { + "name": "rotation", + "description": "Preview image rotation in degrees. Pass an integer between -360 and 360.", + "required": false, + "type": "integer", + "format": "int32", + "x-example": -360, + "default": 0, + "in": "query" + }, + { + "name": "background", + "description": "Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.", + "required": false, + "type": "string", + "default": "", + "in": "query" + }, + { + "name": "output", + "description": "Output format type (jpeg, jpg, png, gif and webp).", + "required": false, + "type": "string", + "x-example": "jpg", + "enum": [ + "jpg", + "jpeg", + "png", + "webp", + "heic", + "avif", + "gif" + ], + "x-enum-name": "ImageFormat", + "x-enum-keys": [], + "in": "query" + }, + { + "name": "token", + "description": "File token for accessing this file.", + "required": false, + "type": "string", + "x-example": "<TOKEN>", + "default": "", + "in": "query" } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}": { + "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/view": { "get": { - "summary": "Get row", - "operationId": "tablesDBGetRow", + "summary": "Get file for view", + "operationId": "storageGetFileView", "consumes": [], "produces": [ - "application\/json" + "*\/*" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Get a row by its unique ID. This endpoint response returns a JSON object with the row data.", + "description": "Get a file content by its unique ID. This endpoint is similar to the download method but returns with no 'Content-Disposition: attachment' header.", "responses": { "200": { - "description": "Row", + "description": "File", "schema": { - "$ref": "#\/definitions\/row" + "type": "file" } } }, "deprecated": false, "x-appwrite": { - "method": "getRow", - "group": "rows", - "weight": 821, + "method": "getFileView", + "group": "files", + "weight": 560, "cookies": false, - "type": "", - "demo": "tablesdb\/get-row.md", + "type": "location", + "demo": "storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": [ - "rows.read", - "documents.read" - ], + "scope": "files.read", "platforms": [ "console", "client", @@ -64422,7 +60915,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -64437,242 +60930,222 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "rowId", - "description": "Row ID.", + "name": "fileId", + "description": "File ID.", "required": true, "type": "string", - "x-example": "<ROW_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "name": "token", + "description": "File token for accessing this file.", "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], + "type": "string", + "x-example": "<TOKEN>", + "default": "", "in": "query" - }, + } + ] + } + }, + "\/storage\/usage": { + "get": { + "summary": "Get storage usage stats", + "operationId": "storageGetUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "storage" + ], + "description": "Get usage metrics and statistics for all buckets in the project. You can view the total number of buckets, files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "responses": { + "200": { + "description": "StorageUsage", + "schema": { + "$ref": "#\/definitions\/usageStorage" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getUsage", + "group": null, + "weight": 562, + "cookies": false, + "type": "", + "demo": "storage\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", "required": false, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", "in": "query" } ] - }, - "put": { - "summary": "Upsert a row", - "operationId": "tablesDBUpsertRow", - "consumes": [ - "application\/json" - ], + } + }, + "\/storage\/{bucketId}\/usage": { + "get": { + "summary": "Get bucket usage stats", + "operationId": "storageGetBucketUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "tablesDB" + "storage" ], - "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "description": "Get usage metrics and statistics a specific bucket in the project. You can view the total number of files, storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", "responses": { - "201": { - "description": "Row", + "200": { + "description": "UsageBuckets", "schema": { - "$ref": "#\/definitions\/row" + "$ref": "#\/definitions\/usageBuckets" } } }, "deprecated": false, "x-appwrite": { - "method": "upsertRow", - "group": "rows", - "weight": 824, + "method": "getBucketUsage", + "group": null, + "weight": 563, "cookies": false, "type": "", - "demo": "tablesdb\/upsert-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "demo": "storage\/get-bucket-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "files.read", "platforms": [ - "console", - "client", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", - "methods": [ - { - "name": "upsertRow", - "namespace": "tablesDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "tableId", - "rowId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "tableId", - "rowId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/row" - } - ], - "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", - "demo": "tablesdb\/upsert-row.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "bucketId", + "description": "Bucket ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "rowId", - "description": "Row ID.", - "required": true, + "name": "range", + "description": "Date range.", + "required": false, "type": "string", - "x-example": "<ROW_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] - }, - "patch": { - "summary": "Update row", - "operationId": "tablesDBUpdateRow", - "consumes": [ - "application\/json" - ], + } + }, + "\/tablesdb": { + "get": { + "summary": "List databases", + "operationId": "tablesDBList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "tablesDB" ], - "description": "Update a row by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "Row", + "description": "Databases List", "schema": { - "$ref": "#\/definitions\/row" + "$ref": "#\/definitions\/databaseList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRow", - "group": "rows", - "weight": 822, + "method": "list", + "group": "tablesdb", + "weight": 780, "cookies": false, "type": "", - "demo": "tablesdb\/update-row.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "demo": "tablesdb\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -64680,109 +61153,82 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "rowId", - "description": "Row ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<ROW_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Row data as JSON object. Include only columns and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true - } - } - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "delete": { - "summary": "Delete row", - "operationId": "tablesDBDeleteRow", + "post": { + "summary": "Create database", + "operationId": "tablesDBCreate", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ "tablesDB" ], - "description": "Delete a row by its unique ID.", + "description": "Create a new Database.\n", "responses": { - "204": { - "description": "No content" + "201": { + "description": "Database", + "schema": { + "$ref": "#\/definitions\/database" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteRow", - "group": "rows", - "weight": 826, + "method": "create", + "group": "tablesdb", + "weight": 776, "cookies": false, "type": "", - "demo": "tablesdb\/delete-row.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": [ - "rows.write", - "documents.write" - ], + "demo": "tablesdb\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -64790,59 +61236,46 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "type": "string", - "x-example": "<ROW_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "transactionId": { + "databaseId": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true } - } + }, + "required": [ + "databaseId", + "name" + ] } } ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/logs": { + "\/tablesdb\/transactions": { "get": { - "summary": "List row logs", - "operationId": "tablesDBListRowLogs", + "summary": "List transactions", + "operationId": "tablesDBListTransactions", "consumes": [], "produces": [ "application\/json" @@ -64850,73 +61283,54 @@ "tags": [ "tablesDB" ], - "description": "Get the row activity logs list by its unique ID.", + "description": "List transactions across all databases.", "responses": { "200": { - "description": "Logs List", + "description": "Transaction List", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/transactionList" } } }, "deprecated": false, "x-appwrite": { - "method": "listRowLogs", - "group": "logs", - "weight": 829, + "method": "listTransactions", + "group": "transactions", + "weight": 849, "cookies": false, "type": "", - "demo": "tablesdb\/list-row-logs.md", + "demo": "tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.read", - "documents.read" + "documents.read", + "rows.read" ], "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "type": "string", - "x-example": "<ROW_ID>", - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", "required": false, "type": "array", "collectionFormat": "multi", @@ -64927,12 +61341,10 @@ "in": "query" } ] - } - }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/decrement": { - "patch": { - "summary": "Decrement row column", - "operationId": "tablesDBDecrementRowColumn", + }, + "post": { + "summary": "Create transaction", + "operationId": "tablesDBCreateTransaction", "consumes": [ "application\/json" ], @@ -64942,38 +61354,38 @@ "tags": [ "tablesDB" ], - "description": "Decrement a specific column of a row by a given value.", + "description": "Create a new transaction.", "responses": { - "200": { - "description": "Row", + "201": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/row" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "decrementRowColumn", - "group": "rows", - "weight": 831, + "method": "createTransaction", + "group": "transactions", + "weight": 845, "cookies": false, "type": "", - "demo": "tablesdb\/decrement-row-column.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/create-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "documents.write", + "rows.write" ], "platforms": [ - "client", + "console", "server", - "console" + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -64981,70 +61393,24 @@ "security": [ { "Project": [], + "Key": [], "Session": [], - "JWT": [], - "Key": [] + "JWT": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" - }, - { - "name": "rowId", - "description": "Row ID.", - "required": true, - "type": "string", - "x-example": "<ROW_ID>", - "in": "path" - }, - { - "name": "column", - "description": "Column key.", - "required": true, - "type": "string", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the column by. The value must be a number.", - "default": 1, - "x-example": null, - "format": "float" - }, - "min": { - "type": "number", - "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "default": 300, + "format": "int32" } } } @@ -65052,51 +61418,49 @@ ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/increment": { - "patch": { - "summary": "Increment row column", - "operationId": "tablesDBIncrementRowColumn", - "consumes": [ - "application\/json" - ], + "\/tablesdb\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "tablesDBGetTransaction", + "consumes": [], "produces": [ "application\/json" ], "tags": [ "tablesDB" ], - "description": "Increment a specific column of a row by a given value.", + "description": "Get a transaction by its unique ID.", "responses": { "200": { - "description": "Row", + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/row" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "incrementRowColumn", - "group": "rows", - "weight": 830, + "method": "getTransaction", + "group": "transactions", + "weight": 846, "cookies": false, "type": "", - "demo": "tablesdb\/increment-row-column.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "demo": "tablesdb\/get-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", "scope": [ - "rows.write", - "documents.write" + "documents.read", + "rows.read" ], "platforms": [ - "client", + "console", "server", - "console" + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -65104,41 +61468,85 @@ "security": [ { "Project": [], + "Key": [], "Session": [], - "JWT": [], - "Key": [] + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "tableId", - "description": "Table ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<TABLE_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" - }, + } + ] + }, + "patch": { + "summary": "Update transaction", + "operationId": "tablesDBUpdateTransaction", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "tablesDB" + ], + "description": "Update a transaction, to either commit or roll back its operations.", + "responses": { + "200": { + "description": "Transaction", + "schema": { + "$ref": "#\/definitions\/transaction" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateTransaction", + "group": "transactions", + "weight": 847, + "cookies": false, + "type": "", + "demo": "tablesdb\/update-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "documents.write", + "rows.write" + ], + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ { - "name": "rowId", - "description": "Row ID.", - "required": true, - "type": "string", - "x-example": "<ROW_ID>", - "in": "path" - }, + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ { - "name": "column", - "description": "Column key.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", + "x-example": "<TRANSACTION_ID>", "in": "path" }, { @@ -65147,128 +61555,177 @@ "schema": { "type": "object", "properties": { - "value": { - "type": "number", - "description": "Value to increment the column by. The value must be a number.", - "default": 1, - "x-example": null, - "format": "float" - }, - "max": { - "type": "number", - "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "default": null, - "x-example": null, - "format": "float", - "x-nullable": true + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false, + "default": false }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>", - "x-nullable": true + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false, + "default": false } } } } ] + }, + "delete": { + "summary": "Delete transaction", + "operationId": "tablesDBDeleteTransaction", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "tablesDB" + ], + "description": "Delete a transaction by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteTransaction", + "group": "transactions", + "weight": 848, + "cookies": false, + "type": "", + "demo": "tablesdb\/delete-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "documents.write", + "rows.write" + ], + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "path" + } + ] } }, - "\/tablesdb\/{databaseId}\/tables\/{tableId}\/usage": { - "get": { - "summary": "Get table usage stats", - "operationId": "tablesDBGetTableUsage", - "consumes": [], + "\/tablesdb\/transactions\/{transactionId}\/operations": { + "post": { + "summary": "Create operations", + "operationId": "tablesDBCreateOperations", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ "tablesDB" ], - "description": "Get usage metrics and statistics for a table. Returning the total number of rows. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create multiple operations in a single transaction.", "responses": { - "200": { - "description": "UsageTable", + "201": { + "description": "Transaction", "schema": { - "$ref": "#\/definitions\/usageTable" + "$ref": "#\/definitions\/transaction" } } }, "deprecated": false, "x-appwrite": { - "method": "getTableUsage", - "group": null, - "weight": 776, + "method": "createOperations", + "group": "transactions", + "weight": 850, "cookies": false, "type": "", - "demo": "tablesdb\/get-table-usage.md", + "demo": "tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "tables.read", - "collections.read" + "documents.write", + "rows.write" ], "platforms": [ - "console" + "console", + "server", + "client" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [], + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "transactionId", + "description": "Transaction ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TRANSACTION_ID>", "in": "path" }, { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - }, - { - "name": "tableId", - "description": "Table ID.", - "required": true, - "type": "string", - "x-example": "<TABLE_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], + "items": { + "type": "object" + } + } + } + } } ] } }, - "\/tablesdb\/{databaseId}\/usage": { + "\/tablesdb\/usage": { "get": { "summary": "Get TablesDB usage stats", - "operationId": "tablesDBGetUsage", + "operationId": "tablesDBListUsage", "consumes": [], "produces": [ "application\/json" @@ -65276,23 +61733,23 @@ "tags": [ "tablesDB" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "UsageDatabase", + "description": "UsageDatabases", "schema": { - "$ref": "#\/definitions\/usageDatabase" + "$ref": "#\/definitions\/usageDatabases" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", + "method": "listUsage", "group": null, - "weight": 768, + "weight": 782, "cookies": false, "type": "", - "demo": "tablesdb\/get-usage.md", + "demo": "tablesdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -65305,30 +61762,27 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { - "name": "getUsage", + "name": "listUsage", "namespace": "tablesDB", "desc": "", "auth": { "Project": [] }, "parameters": [ - "databaseId", "range" ], - "required": [ - "databaseId" - ], + "required": [], "responses": [ { "code": 200, - "model": "#\/definitions\/usageDatabase" + "model": "#\/definitions\/usageDatabases" } ], - "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "tablesdb\/get-usage.md", + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "tablesdb\/list-usage.md", "public": true } ], @@ -65342,14 +61796,6 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, { "name": "range", "description": "Date range.", @@ -65373,46 +61819,45 @@ ] } }, - "\/teams": { + "\/tablesdb\/{databaseId}": { "get": { - "summary": "List teams", - "operationId": "teamsList", + "summary": "Get database", + "operationId": "tablesDBGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", "responses": { "200": { - "description": "Teams List", + "description": "Database", "schema": { - "$ref": "#\/definitions\/teamList" + "$ref": "#\/definitions\/database" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "teams", - "weight": 524, + "method": "get", + "group": "tablesdb", + "weight": 777, "cookies": false, "type": "", - "demo": "teams\/list.md", + "demo": "tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": "databases.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -65420,47 +61865,23 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "x-example": "<DATABASE_ID>", + "in": "path" } ] }, - "post": { - "summary": "Create team", - "operationId": "teamsCreate", + "put": { + "summary": "Update database", + "operationId": "tablesDBUpdate", "consumes": [ "application\/json" ], @@ -65468,193 +61889,36 @@ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.", - "responses": { - "201": { - "description": "Team", - "schema": { - "$ref": "#\/definitions\/team" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "create", - "group": "teams", - "weight": 522, - "cookies": false, - "type": "", - "demo": "teams\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "teamId": { - "type": "string", - "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<TEAM_ID>" - }, - "name": { - "type": "string", - "description": "Team name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "roles": { - "type": "array", - "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", - "default": [ - "owner" - ], - "x-example": null, - "items": { - "type": "string" - } - } - }, - "required": [ - "teamId", - "name" - ] - } - } - ] - } - }, - "\/teams\/{teamId}": { - "get": { - "summary": "Get team", - "operationId": "teamsGet", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "teams" - ], - "description": "Get a team by its ID. All team members have read access for this resource.", - "responses": { - "200": { - "description": "Team", - "schema": { - "$ref": "#\/definitions\/team" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "get", - "group": "teams", - "weight": 523, - "cookies": false, - "type": "", - "demo": "teams\/get.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "Key": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "teamId", - "description": "Team ID.", - "required": true, - "type": "string", - "x-example": "<TEAM_ID>", - "in": "path" - } - ] - }, - "put": { - "summary": "Update name", - "operationId": "teamsUpdateName", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "teams" - ], - "description": "Update the team's name by its unique ID.", + "description": "Update a database by its unique ID.", "responses": { "200": { - "description": "Team", + "description": "Database", "schema": { - "$ref": "#\/definitions\/team" + "$ref": "#\/definitions\/database" } } }, "deprecated": false, "x-appwrite": { - "method": "updateName", - "group": "teams", - "weight": 526, + "method": "update", + "group": "tablesdb", + "weight": 778, "cookies": false, "type": "", - "demo": "teams\/update-name.md", + "demo": "tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "databases.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -65662,18 +61926,16 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { @@ -65684,29 +61946,31 @@ "properties": { "name": { "type": "string", - "description": "New team name. Max length: 128 chars.", - "default": null, + "description": "Database name. Max length: 128 chars.", "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true } - }, - "required": [ - "name" - ] + } } } ] }, "delete": { - "summary": "Delete team", - "operationId": "teamsDelete", + "summary": "Delete database", + "operationId": "tablesDBDelete", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "teams" + "tablesDB" ], - "description": "Delete a team using its ID. Only team members with the owner role can delete the team.", + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", "responses": { "204": { "description": "No content" @@ -65715,23 +61979,22 @@ "deprecated": false, "x-appwrite": { "method": "delete", - "group": "teams", - "weight": 525, + "group": "tablesdb", + "weight": 779, "cookies": false, "type": "", - "demo": "teams\/delete.md", + "demo": "tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": "databases.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [] } @@ -65739,143 +62002,63 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" } ] } }, - "\/teams\/{teamId}\/logs": { + "\/tablesdb\/{databaseId}\/tables": { "get": { - "summary": "List team logs", - "operationId": "teamsListLogs", + "summary": "List tables", + "operationId": "tablesDBListTables", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Get the team activity logs list by its unique ID.", + "description": "Get a list of all tables that belong to the provided databaseId. You can use the search parameter to filter your results.", "responses": { "200": { - "description": "Logs List", + "description": "Tables List", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/tableList" } } }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 535, + "method": "listTables", + "group": "tables", + "weight": 787, "cookies": false, "type": "", - "demo": "teams\/list-logs.md", + "demo": "tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", - "platforms": [ - "console" + "scope": [ + "tables.read", + "collections.read" ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "teamId", - "description": "Team ID.", - "required": true, - "type": "string", - "x-example": "<TEAM_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - } - }, - "\/teams\/{teamId}\/memberships": { - "get": { - "summary": "List team memberships", - "operationId": "teamsListMemberships", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "teams" - ], - "description": "Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.", - "responses": { - "200": { - "description": "Memberships List", - "schema": { - "$ref": "#\/definitions\/membershipList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listMemberships", - "group": "memberships", - "weight": 531, - "cookies": false, - "type": "", - "demo": "teams\/list-memberships.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -65883,23 +62066,21 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name, enabled, rowSecurity", "required": false, "type": "array", "collectionFormat": "multi", @@ -65930,8 +62111,8 @@ ] }, "post": { - "summary": "Create team membership", - "operationId": "teamsCreateMembership", + "summary": "Create table", + "operationId": "tablesDBCreateTable", "consumes": [ "application\/json" ], @@ -65939,37 +62120,39 @@ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team.\n\nYou only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters.\n\nUse the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. \n\nPlease note that to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.\n", + "description": "Create a new Table. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { "201": { - "description": "Membership", + "description": "Table", "schema": { - "$ref": "#\/definitions\/membership" + "$ref": "#\/definitions\/table" } } }, "deprecated": false, "x-appwrite": { - "method": "createMembership", - "group": "memberships", - "weight": 529, + "method": "createTable", + "group": "tables", + "weight": 783, "cookies": false, "type": "", - "demo": "teams\/create-membership.md", - "rate-limit": 10, + "demo": "tablesdb\/create-table.md", + "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -65977,18 +62160,16 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { @@ -65997,97 +62178,107 @@ "schema": { "type": "object", "properties": { - "email": { - "type": "string", - "description": "Email of the new team member.", - "default": "", - "x-example": "email@example.com", - "format": "email" - }, - "userId": { + "tableId": { "type": "string", - "description": "ID of the user to be added to a team.", - "default": "", - "x-example": "<USER_ID>" + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TABLE_ID>" }, - "phone": { + "name": { "type": "string", - "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", - "x-example": "+12065550100", - "format": "phone" + "description": "Table name. Max length: 128 chars.", + "x-example": "<NAME>" }, - "roles": { + "permissions": { "type": "array", - "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, - "x-example": null, + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } }, - "url": { - "type": "string", - "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", - "x-example": "https:\/\/example.com", - "format": "url" + "rowSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false }, - "name": { - "type": "string", - "description": "Name of the new team member. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "enabled": { + "type": "boolean", + "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "columns": { + "type": "array", + "description": "Array of column definitions to create. Each column should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "indexes": { + "type": "array", + "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of column keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", + "x-example": null, + "default": [], + "items": { + "type": "object" + } } }, "required": [ - "roles" + "tableId", + "name" ] } } ] } }, - "\/teams\/{teamId}\/memberships\/{membershipId}": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}": { "get": { - "summary": "Get team membership", - "operationId": "teamsGetMembership", + "summary": "Get table", + "operationId": "tablesDBGetTable", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.", + "description": "Get a table by its unique ID. This endpoint response returns a JSON object with the table metadata.", "responses": { "200": { - "description": "Membership", + "description": "Table", "schema": { - "$ref": "#\/definitions\/membership" + "$ref": "#\/definitions\/table" } } }, "deprecated": false, "x-appwrite": { - "method": "getMembership", - "group": "memberships", - "weight": 530, + "method": "getTable", + "group": "tables", + "weight": 784, "cookies": false, "type": "", - "demo": "teams\/get-membership.md", + "demo": "tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -66095,33 +62286,31 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<MEMBERSHIP_ID>", + "x-example": "<TABLE_ID>", "in": "path" } ] }, - "patch": { - "summary": "Update team membership", - "operationId": "teamsUpdateMembership", + "put": { + "summary": "Update table", + "operationId": "tablesDBUpdateTable", "consumes": [ "application\/json" ], @@ -66129,37 +62318,39 @@ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions).\n", + "description": "Update a table by its unique ID.", "responses": { "200": { - "description": "Membership", + "description": "Table", "schema": { - "$ref": "#\/definitions\/membership" + "$ref": "#\/definitions\/table" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMembership", - "group": "memberships", - "weight": 532, + "method": "updateTable", + "group": "tables", + "weight": 785, "cookies": false, "type": "", - "demo": "teams\/update-membership.md", + "demo": "tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -66167,26 +62358,24 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<MEMBERSHIP_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -66195,34 +62384,54 @@ "schema": { "type": "object", "properties": { - "roles": { + "name": { + "type": "string", + "description": "Table name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "permissions": { "type": "array", - "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, - "x-example": null, + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } + }, + "rowSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", + "x-example": false, + "default": true + }, + "purge": { + "type": "boolean", + "description": "When true, purge all cached list responses for this table as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", + "x-example": false, + "default": false } - }, - "required": [ - "roles" - ] + } } } ] }, "delete": { - "summary": "Delete team membership", - "operationId": "teamsDeleteMembership", + "summary": "Delete table", + "operationId": "tablesDBDeleteTable", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "teams" + "tablesDB" ], - "description": "This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.", + "description": "Delete a table by its unique ID. Only users with write permissions have access to delete this resource.", "responses": { "204": { "description": "No content" @@ -66230,24 +62439,26 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteMembership", - "group": "memberships", - "weight": 1196, + "method": "deleteTable", + "group": "tables", + "weight": 786, "cookies": false, "type": "", - "demo": "teams\/delete-membership.md", + "demo": "tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", + "scope": [ + "tables.write", + "collections.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -66255,73 +62466,73 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<MEMBERSHIP_ID>", + "x-example": "<TABLE_ID>", "in": "path" } ] } }, - "\/teams\/{teamId}\/memberships\/{membershipId}\/status": { - "patch": { - "summary": "Update team membership status", - "operationId": "teamsUpdateMembershipStatus", - "consumes": [ - "application\/json" - ], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns": { + "get": { + "summary": "List columns", + "operationId": "tablesDBListColumns", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.\n\nIf the request is successful, a session for the user is automatically created.\n", + "description": "List columns in the table.", "responses": { "200": { - "description": "Membership", + "description": "Columns List", "schema": { - "$ref": "#\/definitions\/membership" + "$ref": "#\/definitions\/columnList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateMembershipStatus", - "group": "memberships", - "weight": 534, + "method": "listColumns", + "group": "columns", + "weight": 792, "cookies": false, "type": "", - "demo": "teams\/update-membership-status.md", + "demo": "tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "public", + "scope": [ + "tables.read", + "collections.read", + "columns.read", + "attributes.read" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -66329,95 +62540,96 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "membershipId", - "description": "Membership ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<MEMBERSHIP_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "User ID.", - "default": null, - "x-example": "<USER_ID>" - }, - "secret": { - "type": "string", - "description": "Secret key.", - "default": null, - "x-example": "<SECRET>" - } - }, - "required": [ - "userId", - "secret" - ] - } + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, size, required, array, status, error", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/teams\/{teamId}\/prefs": { - "get": { - "summary": "Get team preferences", - "operationId": "teamsGetPrefs", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint": { + "post": { + "summary": "Create bigint column", + "operationId": "tablesDBCreateBigIntColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "teams" + "tablesDB" ], - "description": "Get the team's shared preferences by its unique ID. If a preference doesn't need to be shared by all team members, prefer storing them in [user preferences](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#getPrefs).", + "description": "Create a bigint column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Preferences", + "202": { + "description": "ColumnBigInt", "schema": { - "$ref": "#\/definitions\/preferences" + "$ref": "#\/definitions\/columnBigint" } } }, "deprecated": false, "x-appwrite": { - "method": "getPrefs", - "group": "teams", - "weight": 527, + "method": "createBigIntColumn", + "group": "columns", + "weight": 805, "cookies": false, "type": "", - "demo": "teams\/get-prefs.md", + "demo": "tablesdb\/create-big-int-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "teams.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-bigint-column.md", "auth": { "Project": [] } @@ -66425,80 +62637,24 @@ "security": [ { "Project": [], - "Session": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "teamId", - "description": "Team ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<DATABASE_ID>", "in": "path" - } - ] - }, - "put": { - "summary": "Update team preferences", - "operationId": "teamsUpdatePrefs", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "teams" - ], - "description": "Update the team's preferences by its unique ID. The object you pass is stored as is and replaces any previous value. The maximum allowed prefs size is 64kB and throws an error if exceeded.", - "responses": { - "200": { - "description": "Preferences", - "schema": { - "$ref": "#\/definitions\/preferences" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updatePrefs", - "group": "teams", - "weight": 528, - "cookies": false, - "type": "", - "demo": "teams\/update-prefs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "teams.write", - "platforms": [ - "console", - "client", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Session": [], - "JWT": [] - } - ], - "parameters": [ + }, { - "name": "teamId", - "description": "Team ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<TEAM_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -66507,59 +62663,99 @@ "schema": { "type": "object", "properties": { - "prefs": { - "type": "object", - "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{}" + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } }, "required": [ - "prefs" + "key", + "required" ] } } ] } }, - "\/tokens\/buckets\/{bucketId}\/files\/{fileId}": { - "get": { - "summary": "List tokens", - "operationId": "tokensList", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/bigint\/{key}": { + "patch": { + "summary": "Update bigint column", + "operationId": "tablesDBUpdateBigIntColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "tokens" + "tablesDB" ], - "description": "List all the tokens created for a specific file or bucket. You can use the query params to filter your results.", + "description": "Update a bigint column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Resource Tokens List", + "description": "ColumnBigInt", "schema": { - "$ref": "#\/definitions\/resourceTokenList" + "$ref": "#\/definitions\/columnBigint" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "files", - "weight": 538, + "method": "updateBigIntColumn", + "group": "columns", + "weight": 806, "cookies": false, "type": "", - "demo": "tokens\/list.md", + "demo": "tablesdb\/update-big-int-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "tokens.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-bigint-column.md", "auth": { "Project": [] } @@ -66572,47 +62768,80 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "fileId", - "description": "File unique ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<FILE_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] - }, + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean": { "post": { - "summary": "Create file token", - "operationId": "tokensCreateFileToken", + "summary": "Create boolean column", + "operationId": "tablesDBCreateBooleanColumn", "consumes": [ "application\/json" ], @@ -66620,35 +62849,41 @@ "application\/json" ], "tags": [ - "tokens" + "tablesDB" ], - "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", + "description": "Create a boolean column.\n", "responses": { - "201": { - "description": "ResourceToken", + "202": { + "description": "ColumnBoolean", "schema": { - "$ref": "#\/definitions\/resourceToken" + "$ref": "#\/definitions\/columnBoolean" } } }, "deprecated": false, "x-appwrite": { - "method": "createFileToken", - "group": "files", - "weight": 536, + "method": "createBooleanColumn", + "group": "columns", + "weight": 793, "cookies": false, "type": "", - "demo": "tokens\/create-file-token.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/create-boolean-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -66661,19 +62896,19 @@ ], "parameters": [ { - "name": "bucketId", - "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<BUCKET_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "fileId", - "description": "File unique ID.", + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "type": "string", - "x-example": "<FILE_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -66682,58 +62917,84 @@ "schema": { "type": "object", "properties": { - "expire": { + "key": { "type": "string", - "description": "Token expiry date", - "default": null, - "x-example": "2020-10-15T06:38:00.000+00:00", - "format": "datetime", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "boolean", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": false, "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] } }, - "\/tokens\/{tokenId}": { - "get": { - "summary": "Get token", - "operationId": "tokensGet", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/boolean\/{key}": { + "patch": { + "summary": "Update boolean column", + "operationId": "tablesDBUpdateBooleanColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "tokens" + "tablesDB" ], - "description": "Get a token by its unique ID.", + "description": "Update a boolean column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "ResourceToken", + "description": "ColumnBoolean", "schema": { - "$ref": "#\/definitions\/resourceToken" + "$ref": "#\/definitions\/columnBoolean" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "tokens", - "weight": 537, + "method": "updateBooleanColumn", + "group": "columns", + "weight": 794, "cookies": false, "type": "", - "demo": "tokens\/get.md", + "demo": "tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "tokens.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -66746,18 +63007,65 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<TOKEN_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "boolean", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": false, + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] - }, - "patch": { - "summary": "Update token", - "operationId": "tokensUpdate", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime": { + "post": { + "summary": "Create datetime column", + "operationId": "tablesDBCreateDatetimeColumn", "consumes": [ "application\/json" ], @@ -66765,35 +63073,41 @@ "application\/json" ], "tags": [ - "tokens" + "tablesDB" ], - "description": "Update a token by its unique ID. Use this endpoint to update a token's expiry date.", + "description": "Create a date time column according to the ISO 8601 standard.", "responses": { - "200": { - "description": "ResourceToken", + "202": { + "description": "ColumnDatetime", "schema": { - "$ref": "#\/definitions\/resourceToken" + "$ref": "#\/definitions\/columnDatetime" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "tokens", - "weight": 539, + "method": "createDatetimeColumn", + "group": "columns", + "weight": 795, "cookies": false, "type": "", - "demo": "tokens\/update.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/create-datetime-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -66806,11 +63120,19 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token unique ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<TOKEN_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -66819,53 +63141,85 @@ "schema": { "type": "object", "properties": { - "expire": { + "key": { "type": "string", - "description": "File token expiry date", - "default": null, + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for the column in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when column is required.", "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } - } + }, + "required": [ + "key", + "required" + ] } } ] - }, - "delete": { - "summary": "Delete token", - "operationId": "tokensDelete", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/datetime\/{key}": { + "patch": { + "summary": "Update dateTime column", + "operationId": "tablesDBUpdateDatetimeColumn", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "tokens" + "tablesDB" ], - "description": "Delete a token by its unique ID.", + "description": "Update a date time column. Changing the `default` value will not update already existing rows.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "ColumnDatetime", + "schema": { + "$ref": "#\/definitions\/columnDatetime" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "tokens", - "weight": 540, + "method": "updateDatetimeColumn", + "group": "columns", + "weight": 796, "cookies": false, "type": "", - "demo": "tokens\/delete.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "tokens.write", + "demo": "tablesdb\/update-datetime-column.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -66878,55 +63232,108 @@ ], "parameters": [ { - "name": "tokenId", - "description": "Token ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<TOKEN_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/users": { - "get": { - "summary": "List users", - "operationId": "usersList", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email": { + "post": { + "summary": "Create email column", + "operationId": "tablesDBCreateEmailColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get a list of all the project's users. You can use the query params to filter your results.", + "description": "Create an email column.\n", "responses": { - "200": { - "description": "Users List", + "202": { + "description": "ColumnEmail", "schema": { - "$ref": "#\/definitions\/userList" + "$ref": "#\/definitions\/columnEmail" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "users", - "weight": 71, + "method": "createEmailColumn", + "group": "columns", + "weight": 797, "cookies": false, "type": "", - "demo": "users\/list.md", + "demo": "tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -66939,40 +63346,64 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] - }, - "post": { - "summary": "Create user", - "operationId": "usersCreate", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/email\/{key}": { + "patch": { + "summary": "Update email column", + "operationId": "tablesDBUpdateEmailColumn", "consumes": [ "application\/json" ], @@ -66980,36 +63411,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user.", + "description": "Update an email column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnEmail", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnEmail" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "users", - "weight": 62, + "method": "updateEmailColumn", + "group": "columns", + "weight": 798, "cookies": false, "type": "", - "demo": "users\/create.md", + "demo": "tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -67021,59 +63457,67 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "email": { + "default": { "type": "string", - "description": "User email.", - "default": null, + "description": "Default value for column when not provided. Cannot be set when column is required.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, - "phone": { + "newKey": { "type": "string", - "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, - "x-example": "+12065550100", - "format": "phone", + "description": "New Column Key.", + "x-example": null, "x-nullable": true - }, - "password": { - "type": "string", - "description": "Plain text user password. Must be at least 8 chars.", - "default": "", - "x-example": null - }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" } }, "required": [ - "userId" + "required", + "default" ] } } ] } }, - "\/users\/argon2": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum": { "post": { - "summary": "Create user with Argon2 password", - "operationId": "usersCreateArgon2User", + "summary": "Create enum column", + "operationId": "tablesDBCreateEnumColumn", "consumes": [ "application\/json" ], @@ -67081,36 +63525,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Argon2](https:\/\/en.wikipedia.org\/wiki\/Argon2) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create an enumeration column. The `elements` param acts as a white-list of accepted values for this column.", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnEnum", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnEnum" } } }, "deprecated": false, "x-appwrite": { - "method": "createArgon2User", - "group": "users", - "weight": 65, + "method": "createEnumColumn", + "group": "columns", + "weight": 799, "cookies": false, "type": "", - "demo": "users\/create-argon-2-user.md", + "demo": "tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -67122,53 +63571,73 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { + "key": { "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" + "description": "Column Key.", + "x-example": null }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "elements": { + "type": "array", + "description": "Array of enum values.", + "x-example": null, + "items": { + "type": "string" + } }, - "password": { - "type": "string", - "description": "User password hashed using Argon2.", - "default": null, - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "name": { + "default": { "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } }, "required": [ - "userId", - "email", - "password" + "key", + "elements", + "required" ] } } ] } }, - "\/users\/bcrypt": { - "post": { - "summary": "Create user with bcrypt password", - "operationId": "usersCreateBcryptUser", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/enum\/{key}": { + "patch": { + "summary": "Update enum column", + "operationId": "tablesDBUpdateEnumColumn", "consumes": [ "application\/json" ], @@ -67176,36 +63645,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Bcrypt](https:\/\/en.wikipedia.org\/wiki\/Bcrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update an enum column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnEnum", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnEnum" } } }, "deprecated": false, "x-appwrite": { - "method": "createBcryptUser", - "group": "users", - "weight": 63, + "method": "updateEnumColumn", + "group": "columns", + "weight": 800, "cookies": false, "type": "", - "demo": "users\/create-bcrypt-user.md", + "demo": "tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -67217,88 +63691,117 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" + "elements": { + "type": "array", + "description": "Updated list of enum values.", + "x-example": null, + "items": { + "type": "string" + } }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "password": { + "default": { "type": "string", - "description": "User password hashed using Bcrypt.", - "default": null, - "x-example": "password", - "format": "password" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "elements", + "required", + "default" ] } } ] } }, - "\/users\/identities": { - "get": { - "summary": "List identities", - "operationId": "usersListIdentities", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float": { + "post": { + "summary": "Create float column", + "operationId": "tablesDBCreateFloatColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get identities for all users.", + "description": "Create a float column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "200": { - "description": "Identities List", + "202": { + "description": "ColumnFloat", "schema": { - "$ref": "#\/definitions\/identityList" + "$ref": "#\/definitions\/columnFloat" } } }, "deprecated": false, "x-appwrite": { - "method": "listIdentities", - "group": "identities", - "weight": 79, + "method": "createFloatColumn", + "group": "columns", + "weight": 801, "cookies": false, "type": "", - "demo": "users\/list-identities.md", + "demo": "tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -67311,74 +63814,120 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] } }, - "\/users\/identities\/{identityId}": { - "delete": { - "summary": "Delete identity", - "operationId": "usersDeleteIdentity", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/float\/{key}": { + "patch": { + "summary": "Update float column", + "operationId": "tablesDBUpdateFloatColumn", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "users" + "tablesDB" ], - "description": "Delete an identity by its unique ID.", + "description": "Update a float column. Changing the `default` value will not update already existing rows.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "ColumnFloat", + "schema": { + "$ref": "#\/definitions\/columnFloat" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteIdentity", - "group": "identities", - "weight": 103, + "method": "updateFloatColumn", + "group": "columns", + "weight": 802, "cookies": false, "type": "", - "demo": "users\/delete-identity.md", + "demo": "tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -67391,20 +63940,80 @@ ], "parameters": [ { - "name": "identityId", - "description": "Identity ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<IDENTITY_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "min": { + "type": "number", + "description": "Minimum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "max": { + "type": "number", + "description": "Maximum value", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "default": { + "type": "number", + "description": "Default value. Cannot be set when required.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/users\/md5": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer": { "post": { - "summary": "Create user with MD5 password", - "operationId": "usersCreateMD5User", + "summary": "Create integer column", + "operationId": "tablesDBCreateIntegerColumn", "consumes": [ "application\/json" ], @@ -67412,36 +64021,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [MD5](https:\/\/en.wikipedia.org\/wiki\/MD5) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create an integer column. Optionally, minimum and maximum values can be provided.\n", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnInteger", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnInteger" } } }, "deprecated": false, "x-appwrite": { - "method": "createMD5User", - "group": "users", - "weight": 64, + "method": "createIntegerColumn", + "group": "columns", + "weight": 803, "cookies": false, "type": "", - "demo": "users\/create-md-5-user.md", + "demo": "tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -67453,53 +64067,79 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { + "key": { "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" + "description": "Column Key.", + "x-example": null }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "password": { - "type": "string", - "description": "User password hashed using MD5.", - "default": null, - "x-example": "password", - "format": "password" + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } }, "required": [ - "userId", - "email", - "password" + "key", + "required" ] } } ] } }, - "\/users\/phpass": { - "post": { - "summary": "Create user with PHPass password", - "operationId": "usersCreatePHPassUser", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/integer\/{key}": { + "patch": { + "summary": "Update integer column", + "operationId": "tablesDBUpdateIntegerColumn", "consumes": [ "application\/json" ], @@ -67507,36 +64147,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [PHPass](https:\/\/www.openwall.com\/phpass\/) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update an integer column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnInteger", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnInteger" } } }, "deprecated": false, "x-appwrite": { - "method": "createPHPassUser", - "group": "users", - "weight": 67, + "method": "updateIntegerColumn", + "group": "columns", + "weight": 804, "cookies": false, "type": "", - "demo": "users\/create-ph-pass-user.md", + "demo": "tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -67548,53 +64193,81 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "min": { + "type": "integer", + "description": "Minimum value", + "x-example": null, + "format": "int64", + "x-nullable": true }, - "password": { - "type": "string", - "description": "User password hashed using PHPass.", - "default": null, - "x-example": "password", - "format": "password" + "max": { + "type": "integer", + "description": "Maximum value", + "x-example": null, + "format": "int64", + "x-nullable": true }, - "name": { + "default": { + "type": "integer", + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "format": "int64", + "x-nullable": true + }, + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "required", + "default" ] } } ] } }, - "\/users\/scrypt": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip": { "post": { - "summary": "Create user with Scrypt password", - "operationId": "usersCreateScryptUser", + "summary": "Create IP address column", + "operationId": "tablesDBCreateIpColumn", "consumes": [ "application\/json" ], @@ -67602,36 +64275,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Scrypt](https:\/\/github.com\/Tarsnap\/scrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create IP address column.\n", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnIP", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnIp" } } }, "deprecated": false, "x-appwrite": { - "method": "createScryptUser", - "group": "users", - "weight": 68, + "method": "createIpColumn", + "group": "columns", + "weight": 807, "cookies": false, "type": "", - "demo": "users\/create-scrypt-user.md", + "demo": "tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -67643,92 +64321,64 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" - }, - "email": { + "key": { "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "description": "Column Key.", + "x-example": null }, - "password": { - "type": "string", - "description": "User password hashed using Scrypt.", - "default": null, - "x-example": "password", - "format": "password" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "passwordSalt": { + "default": { "type": "string", - "description": "Optional salt used to hash password.", - "default": null, - "x-example": "<PASSWORD_SALT>" - }, - "passwordCpu": { - "type": "integer", - "description": "Optional CPU cost used to hash password.", - "default": null, - "x-example": null, - "format": "int32" - }, - "passwordMemory": { - "type": "integer", - "description": "Optional memory cost used to hash password.", - "default": null, - "x-example": null, - "format": "int32" - }, - "passwordParallel": { - "type": "integer", - "description": "Optional parallelization cost used to hash password.", - "default": null, - "x-example": null, - "format": "int32" - }, - "passwordLength": { - "type": "integer", - "description": "Optional hash length used to hash password.", - "default": null, + "description": "Default value. Cannot be set when column is required.", "x-example": null, - "format": "int32" + "x-nullable": true }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } }, "required": [ - "userId", - "email", - "password", - "passwordSalt", - "passwordCpu", - "passwordMemory", - "passwordParallel", - "passwordLength" + "key", + "required" ] } } ] } }, - "\/users\/scrypt-modified": { - "post": { - "summary": "Create user with Scrypt modified password", - "operationId": "usersCreateScryptModifiedUser", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/ip\/{key}": { + "patch": { + "summary": "Update IP address column", + "operationId": "tablesDBUpdateIpColumn", "consumes": [ "application\/json" ], @@ -67736,36 +64386,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [Scrypt Modified](https:\/\/gist.github.com\/Meldiron\/eecf84a0225eccb5a378d45bb27462cc) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Update an ip column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "User", + "200": { + "description": "ColumnIP", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnIp" } } }, "deprecated": false, "x-appwrite": { - "method": "createScryptModifiedUser", - "group": "users", - "weight": 69, + "method": "updateIpColumn", + "group": "columns", + "weight": 808, "cookies": false, "type": "", - "demo": "users\/create-scrypt-modified-user.md", + "demo": "tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -67777,74 +64432,66 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" - }, - "password": { - "type": "string", - "description": "User password hashed using Scrypt Modified.", - "default": null, - "x-example": "password", - "format": "password" - }, - "passwordSalt": { - "type": "string", - "description": "Salt used to hash password.", - "default": null, - "x-example": "<PASSWORD_SALT>" - }, - "passwordSaltSeparator": { - "type": "string", - "description": "Salt separator used to hash password.", - "default": null, - "x-example": "<PASSWORD_SALT_SEPARATOR>" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "passwordSignerKey": { + "default": { "type": "string", - "description": "Signer key used to hash password.", - "default": null, - "x-example": "<PASSWORD_SIGNER_KEY>" + "description": "Default value. Cannot be set when column is required.", + "x-example": null, + "x-nullable": true }, - "name": { + "newKey": { "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "userId", - "email", - "password", - "passwordSalt", - "passwordSaltSeparator", - "passwordSignerKey" + "required", + "default" ] } } ] } }, - "\/users\/sha": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line": { "post": { - "summary": "Create user with SHA password", - "operationId": "usersCreateSHAUser", + "summary": "Create line column", + "operationId": "tablesDBCreateLineColumn", "consumes": [ "application\/json" ], @@ -67852,36 +64499,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a new user. Password provided must be hashed with the [SHA](https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithm) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", + "description": "Create a geometric line column.", "responses": { - "201": { - "description": "User", + "202": { + "description": "ColumnLine", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnLine" } } }, "deprecated": false, "x-appwrite": { - "method": "createSHAUser", - "group": "users", - "weight": 66, + "method": "createLineColumn", + "group": "columns", + "weight": 809, "cookies": false, "type": "", - "demo": "users\/create-sha-user.md", + "demo": "tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -67893,236 +64545,212 @@ } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "userId": { - "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<USER_ID>" - }, - "email": { - "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" - }, - "password": { + "key": { "type": "string", - "description": "User password hashed using SHA.", - "default": null, - "x-example": "password", - "format": "password" + "description": "Column Key.", + "x-example": null }, - "passwordVersion": { - "type": "string", - "description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512\/224', 'sha512\/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'", - "default": "", - "x-example": "sha1", - "enum": [ - "sha1", - "sha224", - "sha256", - "sha384", - "sha512\/224", - "sha512\/256", - "sha512", - "sha3-224", - "sha3-256", - "sha3-384", - "sha3-512" - ], - "x-enum-name": "PasswordHash", - "x-enum-keys": [] + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false }, - "name": { - "type": "string", - "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "default": { + "type": "array", + "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "x-nullable": true } }, "required": [ - "userId", - "email", - "password" + "key", + "required" ] } } ] } }, - "\/users\/usage": { - "get": { - "summary": "Get users usage stats", - "operationId": "usersGetUsage", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/line\/{key}": { + "patch": { + "summary": "Update line column", + "operationId": "tablesDBUpdateLineColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get usage metrics and statistics for all users in the project. You can view the total number of users and sessions. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "description": "Update a line column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "UsageUsers", + "description": "ColumnLine", "schema": { - "$ref": "#\/definitions\/usageUsers" + "$ref": "#\/definitions\/columnLine" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 105, + "method": "updateLineColumn", + "group": "columns", + "weight": 810, "cookies": false, "type": "", - "demo": "users\/get-usage.md", + "demo": "tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "databaseId", + "description": "Database ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - } - ] - } - }, - "\/users\/{userId}": { - "get": { - "summary": "Get user", - "operationId": "usersGet", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "users" - ], - "description": "Get a user by its unique ID.", - "responses": { - "200": { - "description": "User", - "schema": { - "$ref": "#\/definitions\/user" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "get", - "group": "users", - "weight": 72, - "cookies": false, - "type": "", - "demo": "users\/get.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", - "auth": { - "Project": [] - } - }, - "security": [ + "x-example": "<DATABASE_ID>", + "in": "path" + }, { - "Project": [], - "Key": [] - } - ], - "parameters": [ + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { - "name": "userId", - "description": "User ID.", + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", + "x-example": "[[1, 2], [3, 4], [5, 6]]", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } } ] - }, - "delete": { - "summary": "Delete user", - "operationId": "usersDelete", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext": { + "post": { + "summary": "Create longtext column", + "operationId": "tablesDBCreateLongtextColumn", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "users" + "tablesDB" ], - "description": "Delete a user by its unique ID, thereby releasing it's ID. Since ID is released and can be reused, all user-related resources like documents or storage files should be deleted before user deletion. If you want to keep ID reserved, use the [updateStatus](https:\/\/appwrite.io\/docs\/server\/users#usersUpdateStatus) endpoint instead.", + "description": "Create a longtext column.\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "ColumnLongtext", + "schema": { + "$ref": "#\/definitions\/columnLongtext" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "users", - "weight": 101, + "method": "createLongtextColumn", + "group": "columns", + "weight": 827, "cookies": false, "type": "", - "demo": "users\/delete.md", + "demo": "tablesdb\/create-longtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-longtext-column.md", "auth": { "Project": [] } @@ -68135,20 +64763,69 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] } }, - "\/users\/{userId}\/email": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/longtext\/{key}": { "patch": { - "summary": "Update email", - "operationId": "usersUpdateEmail", + "summary": "Update longtext column", + "operationId": "tablesDBUpdateLongtextColumn", "consumes": [ "application\/json" ], @@ -68156,36 +64833,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user email by its unique ID.", + "description": "Update a longtext column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "User", + "description": "ColumnLongtext", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnLongtext" } } }, "deprecated": false, "x-appwrite": { - "method": "updateEmail", - "group": "users", - "weight": 86, + "method": "updateLongtextColumn", + "group": "columns", + "weight": 828, "cookies": false, "type": "", - "demo": "users\/update-email.md", + "demo": "tablesdb\/update-longtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-longtext-column.md", "auth": { "Project": [] } @@ -68198,11 +64880,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -68211,26 +64908,37 @@ "schema": { "type": "object", "properties": { - "email": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "email" + "required", + "default" ] } } ] } }, - "\/users\/{userId}\/impersonator": { - "patch": { - "summary": "Update user impersonator capability", - "operationId": "usersUpdateImpersonator", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext": { + "post": { + "summary": "Create mediumtext column", + "operationId": "tablesDBCreateMediumtextColumn", "consumes": [ "application\/json" ], @@ -68238,36 +64946,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Enable or disable whether a user can impersonate other users. When impersonation headers are used, the request runs as the target user for API behavior, while internal audit logs still attribute the action to the original impersonator and store the impersonated target details only in internal audit payload data.\n", + "description": "Create a mediumtext column.\n", "responses": { - "200": { - "description": "User", + "202": { + "description": "ColumnMediumtext", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnMediumtext" } } }, "deprecated": false, "x-appwrite": { - "method": "updateImpersonator", - "group": "users", - "weight": 82, + "method": "createMediumtextColumn", + "group": "columns", + "weight": 825, "cookies": false, "type": "", - "demo": "users\/update-impersonator.md", + "demo": "tablesdb\/create-mediumtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-impersonator.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-mediumtext-column.md", "auth": { "Project": [] } @@ -68280,11 +64993,19 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -68293,25 +65014,48 @@ "schema": { "type": "object", "properties": { - "impersonator": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { "type": "boolean", - "description": "Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.", - "default": null, + "description": "Is column required?", "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false, + "default": false } }, "required": [ - "impersonator" + "key", + "required" ] } } ] } }, - "\/users\/{userId}\/jwts": { - "post": { - "summary": "Create user JWT", - "operationId": "usersCreateJWT", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/mediumtext\/{key}": { + "patch": { + "summary": "Update mediumtext column", + "operationId": "tablesDBUpdateMediumtextColumn", "consumes": [ "application\/json" ], @@ -68319,36 +65063,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Use this endpoint to create a JSON Web Token for user by its unique ID. You can use the resulting JWT to authenticate on behalf of the user. The JWT secret will become invalid if the session it uses gets deleted.", + "description": "Update a mediumtext column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "JWT", + "200": { + "description": "ColumnMediumtext", "schema": { - "$ref": "#\/definitions\/jwt" + "$ref": "#\/definitions\/columnMediumtext" } } }, "deprecated": false, "x-appwrite": { - "method": "createJWT", - "group": "sessions", - "weight": 104, + "method": "updateMediumtextColumn", + "group": "columns", + "weight": 826, "cookies": false, "type": "", - "demo": "users\/create-jwt.md", + "demo": "tablesdb\/update-mediumtext-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-mediumtext-column.md", "auth": { "Project": [] } @@ -68361,11 +65110,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -68374,29 +65138,37 @@ "schema": { "type": "object", "properties": { - "sessionId": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "Session ID. Use the string 'recent' to use the most recent session. Defaults to the most recent session.", - "default": "", - "x-example": "<SESSION_ID>" + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true }, - "duration": { - "type": "integer", - "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "default": 900, - "x-example": 0, - "format": "int32" + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } - } + }, + "required": [ + "required", + "default" + ] } } ] } }, - "\/users\/{userId}\/labels": { - "put": { - "summary": "Update user labels", - "operationId": "usersUpdateLabels", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point": { + "post": { + "summary": "Create point column", + "operationId": "tablesDBCreatePointColumn", "consumes": [ "application\/json" ], @@ -68404,36 +65176,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user labels by its unique ID. \n\nLabels can be used to grant access to resources. While teams are a way for user's to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https:\/\/appwrite.io\/docs\/permissions) for more info.", + "description": "Create a geometric point column.", "responses": { - "200": { - "description": "User", + "202": { + "description": "ColumnPoint", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnPoint" } } }, "deprecated": false, "x-appwrite": { - "method": "updateLabels", - "group": "users", - "weight": 81, + "method": "createPointColumn", + "group": "columns", + "weight": 811, "cookies": false, "type": "", - "demo": "users\/update-labels.md", + "demo": "tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -68446,11 +65223,19 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -68459,63 +65244,78 @@ "schema": { "type": "object", "properties": { - "labels": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "array", - "description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } + "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", + "x-example": "[1, 2]", + "x-nullable": true } }, "required": [ - "labels" + "key", + "required" ] } } ] } }, - "\/users\/{userId}\/logs": { - "get": { - "summary": "List user logs", - "operationId": "usersListLogs", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/point\/{key}": { + "patch": { + "summary": "Update point column", + "operationId": "tablesDBUpdatePointColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get the user activity logs list by its unique ID.", + "description": "Update a point column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "Logs List", + "description": "ColumnPoint", "schema": { - "$ref": "#\/definitions\/logList" + "$ref": "#\/definitions\/columnPoint" } } }, "deprecated": false, "x-appwrite": { - "method": "listLogs", - "group": "logs", - "weight": 77, + "method": "updatePointColumn", + "group": "columns", + "weight": 812, "cookies": false, "type": "", - "demo": "users\/list-logs.md", + "demo": "tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", - "platforms": [ + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], + "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -68528,76 +65328,106 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", + "x-example": "[1, 2]", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required" + ] + } } ] } }, - "\/users\/{userId}\/memberships": { - "get": { - "summary": "List user memberships", - "operationId": "usersListMemberships", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon": { + "post": { + "summary": "Create polygon column", + "operationId": "tablesDBCreatePolygonColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get the user membership list by its unique ID.", + "description": "Create a geometric polygon column.", "responses": { - "200": { - "description": "Memberships List", + "202": { + "description": "ColumnPolygon", "schema": { - "$ref": "#\/definitions\/membershipList" + "$ref": "#\/definitions\/columnPolygon" } } }, "deprecated": false, "x-appwrite": { - "method": "listMemberships", - "group": "memberships", - "weight": 76, + "method": "createPolygonColumn", + "group": "columns", + "weight": 813, "cookies": false, "type": "", - "demo": "users\/list-memberships.md", + "demo": "tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -68610,50 +65440,57 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "x-nullable": true + } + }, + "required": [ + "key", + "required" + ] + } } ] } }, - "\/users\/{userId}\/mfa": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/polygon\/{key}": { "patch": { - "summary": "Update MFA", - "operationId": "usersUpdateMfa", + "summary": "Update polygon column", + "operationId": "tablesDBUpdatePolygonColumn", "consumes": [ "application\/json" ], @@ -68661,96 +65498,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Enable or disable MFA on a user account.", + "description": "Update a polygon column. Changing the `default` value will not update already existing rows.", "responses": { "200": { - "description": "User", + "description": "ColumnPolygon", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnPolygon" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateMfa", - "group": "users", - "weight": 91, + "method": "updatePolygonColumn", + "group": "columns", + "weight": 814, "cookies": false, "type": "", - "demo": "users\/update-mfa.md", + "demo": "tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFA" - }, - "methods": [ - { - "name": "updateMfa", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "mfa" - ], - "required": [ - "userId", - "mfa" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/user" - } - ], - "description": "Enable or disable MFA on a user account.", - "demo": "users\/update-mfa.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFA" - } - }, - { - "name": "updateMFA", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "mfa" - ], - "required": [ - "userId", - "mfa" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/user" - } - ], - "description": "Enable or disable MFA on a user account.", - "demo": "users\/update-mfa.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -68763,11 +65545,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -68776,115 +65573,78 @@ "schema": { "type": "object", "properties": { - "mfa": { + "required": { "type": "boolean", - "description": "Enable or disable MFA.", - "default": null, + "description": "Is column required?", "x-example": false + }, + "default": { + "type": "array", + "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", + "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "mfa" + "required" ] } } ] } }, - "\/users\/{userId}\/mfa\/authenticators\/{type}": { - "delete": { - "summary": "Delete authenticator", - "operationId": "usersDeleteMfaAuthenticator", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/relationship": { + "post": { + "summary": "Create relationship column", + "operationId": "tablesDBCreateRelationshipColumn", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "users" + "tablesDB" ], - "description": "Delete an authenticator app.", + "description": "Create relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", "responses": { - "204": { - "description": "No content" + "202": { + "description": "ColumnRelationship", + "schema": { + "$ref": "#\/definitions\/columnRelationship" + } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "deleteMfaAuthenticator", - "group": "mfa", - "weight": 96, + "method": "createRelationshipColumn", + "group": "columns", + "weight": 815, "cookies": false, "type": "", - "demo": "users\/delete-mfa-authenticator.md", + "demo": "tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.deleteMFAAuthenticator" - }, - "methods": [ - { - "name": "deleteMfaAuthenticator", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "type" - ], - "required": [ - "userId", - "type" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete an authenticator app.", - "demo": "users\/delete-mfa-authenticator.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.deleteMFAAuthenticator" - } - }, - { - "name": "deleteMFAAuthenticator", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId", - "type" - ], - "required": [ - "userId", - "type" - ], - "responses": [ - { - "code": 204 - } - ], - "description": "Delete an authenticator app.", - "demo": "users\/delete-mfa-authenticator.md", - "public": true - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -68897,124 +65657,136 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "type", - "description": "Type of authenticator.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "totp", - "enum": [ - "totp" - ], - "x-enum-name": "AuthenticatorType", - "x-enum-keys": [], + "x-example": "<TABLE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "relatedTableId": { + "type": "string", + "description": "Related Table ID.", + "x-example": "<RELATED_TABLE_ID>" + }, + "type": { + "type": "string", + "description": "Relation type", + "x-example": "oneToOne", + "enum": [ + "oneToOne", + "manyToOne", + "manyToMany", + "oneToMany" + ], + "x-enum-name": "RelationshipType", + "x-enum-keys": [] + }, + "twoWay": { + "type": "boolean", + "description": "Is Two Way?", + "x-example": false, + "default": false + }, + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null, + "x-nullable": true + }, + "twoWayKey": { + "type": "string", + "description": "Two Way Column Key.", + "x-example": null, + "x-nullable": true + }, + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "default": "restrict", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [] + } + }, + "required": [ + "relatedTableId", + "type" + ] + } } ] } }, - "\/users\/{userId}\/mfa\/factors": { - "get": { - "summary": "List factors", - "operationId": "usersListMfaFactors", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string": { + "post": { + "summary": "Create string column", + "operationId": "tablesDBCreateStringColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "List the factors available on the account to be used as a MFA challange.", + "description": "Create a string column.\n", "responses": { - "200": { - "description": "MFAFactors", + "202": { + "description": "ColumnString", "schema": { - "$ref": "#\/definitions\/mfaFactors" + "$ref": "#\/definitions\/columnString" } } }, "deprecated": true, "x-appwrite": { - "method": "listMfaFactors", - "group": "mfa", - "weight": 92, + "method": "createStringColumn", + "group": "columns", + "weight": 817, "cookies": false, "type": "", - "demo": "users\/list-mfa-factors.md", + "demo": "tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "deprecated": { - "since": "1.8.0", - "replaceWith": "users.listMFAFactors" + "since": "1.9.0", + "replaceWith": "tablesDB.createTextColumn" }, - "methods": [ - { - "name": "listMfaFactors", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaFactors" - } - ], - "description": "List the factors available on the account to be used as a MFA challange.", - "demo": "users\/list-mfa-factors.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.listMFAFactors" - } - }, - { - "name": "listMFAFactors", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaFactors" - } - ], - "description": "List the factors available on the account to be used as a MFA challange.", - "demo": "users\/list-mfa-factors.md", - "public": true - } - ], "auth": { "Project": [] } @@ -69027,111 +65799,122 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "size": { + "type": "integer", + "description": "Column size for text columns, in number of characters.", + "x-example": 1, + "format": "int32" + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "size", + "required" + ] + } } ] } }, - "\/users\/{userId}\/mfa\/recovery-codes": { - "get": { - "summary": "Get MFA recovery codes", - "operationId": "usersGetMfaRecoveryCodes", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/string\/{key}": { + "patch": { + "summary": "Update string column", + "operationId": "tablesDBUpdateStringColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "description": "Update a string column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "MFA Recovery Codes", + "description": "ColumnString", "schema": { - "$ref": "#\/definitions\/mfaRecoveryCodes" + "$ref": "#\/definitions\/columnString" } } }, "deprecated": true, "x-appwrite": { - "method": "getMfaRecoveryCodes", - "group": "mfa", - "weight": 93, + "method": "updateStringColumn", + "group": "columns", + "weight": 818, "cookies": false, "type": "", - "demo": "users\/get-mfa-recovery-codes.md", + "demo": "tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "deprecated": { "since": "1.8.0", - "replaceWith": "users.getMFARecoveryCodes" + "replaceWith": "tablesDB.updateTextColumn" }, - "methods": [ - { - "name": "getMfaRecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/get-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.getMFARecoveryCodes" - } - }, - { - "name": "getMFARecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/get-mfa-recovery-codes.md", - "public": true - } - ], "auth": { "Project": [] } @@ -69144,18 +65927,72 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" + }, + { + "name": "key", + "description": "Column Key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "size": { + "type": "integer", + "description": "Maximum size of the string column.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] - }, - "put": { - "summary": "Update MFA recovery codes (regenerate)", - "operationId": "usersUpdateMfaRecoveryCodes", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text": { + "post": { + "summary": "Create text column", + "operationId": "tablesDBCreateTextColumn", "consumes": [ "application\/json" ], @@ -69163,92 +66000,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "description": "Create a text column.\n", "responses": { - "200": { - "description": "MFA Recovery Codes", + "202": { + "description": "ColumnText", "schema": { - "$ref": "#\/definitions\/mfaRecoveryCodes" + "$ref": "#\/definitions\/columnText" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "updateMfaRecoveryCodes", - "group": "mfa", - "weight": 95, + "method": "createTextColumn", + "group": "columns", + "weight": 823, "cookies": false, "type": "", - "demo": "users\/update-mfa-recovery-codes.md", + "demo": "tablesdb\/create-text-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFARecoveryCodes" - }, - "methods": [ - { - "name": "updateMfaRecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/update-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.updateMFARecoveryCodes" - } - }, - { - "name": "updateMFARecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", - "demo": "users\/update-mfa-recovery-codes.md", - "public": false - } - ], + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-text-column.md", "auth": { "Project": [] } @@ -69261,18 +66047,69 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false, + "default": false + } + }, + "required": [ + "key", + "required" + ] + } } ] - }, + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/text\/{key}": { "patch": { - "summary": "Create MFA recovery codes", - "operationId": "usersCreateMfaRecoveryCodes", + "summary": "Update text column", + "operationId": "tablesDBUpdateTextColumn", "consumes": [ "application\/json" ], @@ -69280,118 +66117,112 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "description": "Update a text column. Changing the `default` value will not update already existing rows.\n", "responses": { - "201": { - "description": "MFA Recovery Codes", + "200": { + "description": "ColumnText", "schema": { - "$ref": "#\/definitions\/mfaRecoveryCodes" + "$ref": "#\/definitions\/columnText" } } }, - "deprecated": true, + "deprecated": false, "x-appwrite": { - "method": "createMfaRecoveryCodes", - "group": "mfa", - "weight": 94, + "method": "updateTextColumn", + "group": "columns", + "weight": 824, "cookies": false, "type": "", - "demo": "users\/create-mfa-recovery-codes.md", + "demo": "tablesdb\/update-text-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, - "public": false, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.createMFARecoveryCodes" + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-text-column.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, - "methods": [ - { - "name": "createMfaRecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", - "demo": "users\/create-mfa-recovery-codes.md", - "public": false, - "deprecated": { - "since": "1.8.0", - "replaceWith": "users.createMFARecoveryCodes" - } - }, - { - "name": "createMFARecoveryCodes", - "namespace": "users", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "userId" - ], - "required": [ - "userId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/mfaRecoveryCodes" - } - ], - "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", - "demo": "users\/create-mfa-recovery-codes.md", - "public": true - } - ], - "auth": { - "Project": [] - } - }, - "security": [ { - "Project": [], - "Key": [] - } - ], - "parameters": [ + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { - "name": "userId", - "description": "User ID.", + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true + } + }, + "required": [ + "required", + "default" + ] + } } ] } }, - "\/users\/{userId}\/name": { - "patch": { - "summary": "Update name", - "operationId": "usersUpdateName", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url": { + "post": { + "summary": "Create URL column", + "operationId": "tablesDBCreateUrlColumn", "consumes": [ "application\/json" ], @@ -69399,36 +66230,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user name by its unique ID.", + "description": "Create a URL column.\n", "responses": { - "200": { - "description": "User", + "202": { + "description": "ColumnURL", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnUrl" } } }, "deprecated": false, "x-appwrite": { - "method": "updateName", - "group": "users", - "weight": 84, + "method": "createUrlColumn", + "group": "columns", + "weight": 819, "cookies": false, "type": "", - "demo": "users\/update-name.md", + "demo": "tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -69441,11 +66277,19 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -69454,25 +66298,43 @@ "schema": { "type": "object", "properties": { - "name": { + "key": { "type": "string", - "description": "User name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Column Key.", + "x-example": null + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false } }, "required": [ - "name" + "key", + "required" ] } } ] } }, - "\/users\/{userId}\/password": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/url\/{key}": { "patch": { - "summary": "Update password", - "operationId": "usersUpdatePassword", + "summary": "Update URL column", + "operationId": "tablesDBUpdateUrlColumn", "consumes": [ "application\/json" ], @@ -69480,36 +66342,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user password by its unique ID.", + "description": "Update an url column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "User", + "description": "ColumnURL", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnUrl" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePassword", - "group": "users", - "weight": 85, + "method": "updateUrlColumn", + "group": "columns", + "weight": 820, "cookies": false, "type": "", - "demo": "users\/update-password.md", + "demo": "tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -69522,11 +66389,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -69535,25 +66417,38 @@ "schema": { "type": "object", "properties": { - "password": { + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { "type": "string", - "description": "New user password. Must be at least 8 chars.", - "default": null, - "x-example": null + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "https:\/\/example.com", + "format": "url", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "password" + "required", + "default" ] } } ] } }, - "\/users\/{userId}\/phone": { - "patch": { - "summary": "Update phone", - "operationId": "usersUpdatePhone", + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar": { + "post": { + "summary": "Create varchar column", + "operationId": "tablesDBCreateVarcharColumn", "consumes": [ "application\/json" ], @@ -69561,36 +66456,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user phone by its unique ID.", + "description": "Create a varchar column.\n", "responses": { - "200": { - "description": "User", + "202": { + "description": "ColumnVarchar", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnVarchar" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePhone", - "group": "users", - "weight": 87, + "method": "createVarcharColumn", + "group": "columns", + "weight": 821, "cookies": false, "type": "", - "demo": "users\/update-phone.md", + "demo": "tablesdb\/create-varchar-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-varchar-column.md", "auth": { "Project": [] } @@ -69603,11 +66503,19 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -69616,61 +66524,97 @@ "schema": { "type": "object", "properties": { - "number": { + "key": { "type": "string", - "description": "User phone number.", - "default": null, - "x-example": "+12065550100", - "format": "phone" + "description": "Column Key.", + "x-example": null + }, + "size": { + "type": "integer", + "description": "Column size for varchar columns, in number of characters. Maximum size is 16381.", + "x-example": 1, + "format": "int32" + }, + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "array": { + "type": "boolean", + "description": "Is column an array?", + "x-example": false, + "default": false + }, + "encrypt": { + "type": "boolean", + "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", + "x-example": false, + "default": false } }, "required": [ - "number" + "key", + "size", + "required" ] } } ] } }, - "\/users\/{userId}\/prefs": { - "get": { - "summary": "Get user preferences", - "operationId": "usersGetPrefs", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/varchar\/{key}": { + "patch": { + "summary": "Update varchar column", + "operationId": "tablesDBUpdateVarcharColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get the user preferences by its unique ID.", + "description": "Update a varchar column. Changing the `default` value will not update already existing rows.\n", "responses": { "200": { - "description": "Preferences", + "description": "ColumnVarchar", "schema": { - "$ref": "#\/definitions\/preferences" + "$ref": "#\/definitions\/columnVarchar" } } }, "deprecated": false, "x-appwrite": { - "method": "getPrefs", - "group": "users", - "weight": 73, + "method": "updateVarcharColumn", + "group": "columns", + "weight": 822, "cookies": false, "type": "", - "demo": "users\/get-prefs.md", + "demo": "tablesdb\/update-varchar-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.read", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-varchar-column.md", "auth": { "Project": [] } @@ -69683,72 +66627,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" - } - ] - }, - "patch": { - "summary": "Update user preferences", - "operationId": "usersUpdatePrefs", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "users" - ], - "description": "Update the user preferences by its unique ID. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.", - "responses": { - "200": { - "description": "Preferences", - "schema": { - "$ref": "#\/definitions\/preferences" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "updatePrefs", - "group": "users", - "weight": 89, - "cookies": false, - "type": "", - "demo": "users\/update-prefs.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", - "auth": { - "Project": [] - } - }, - "security": [ + }, { - "Project": [], - "Key": [] - } - ], - "parameters": [ + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { - "name": "userId", - "description": "User ID.", + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -69757,128 +66655,158 @@ "schema": { "type": "object", "properties": { - "prefs": { - "type": "object", - "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{}" + "required": { + "type": "boolean", + "description": "Is column required?", + "x-example": false + }, + "default": { + "type": "string", + "description": "Default value for column when not provided. Cannot be set when column is required.", + "x-example": "<DEFAULT>", + "x-nullable": true + }, + "size": { + "type": "integer", + "description": "Maximum size of the varchar column.", + "x-example": 1, + "format": "int32", + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } }, "required": [ - "prefs" + "required", + "default" ] } } ] } }, - "\/users\/{userId}\/sessions": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}": { "get": { - "summary": "List user sessions", - "operationId": "usersListSessions", + "summary": "Get column", + "operationId": "tablesDBGetColumn", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get the user sessions list by its unique ID.", + "description": "Get column by ID.", "responses": { "200": { - "description": "Sessions List", + "description": "ColumnBoolean, or ColumnInteger, or ColumnFloat, or ColumnEmail, or ColumnEnum, or ColumnURL, or ColumnIP, or ColumnDatetime, or ColumnRelationship, or ColumnString", "schema": { - "$ref": "#\/definitions\/sessionList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listSessions", - "group": "sessions", - "weight": 75, - "cookies": false, - "type": "", - "demo": "users\/list-sessions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "users.read", - "sessions.read" - ], - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "userId", - "description": "User ID.", - "required": true, - "type": "string", - "x-example": "<USER_ID>", - "in": "path" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" - } - ] - }, - "post": { - "summary": "Create session", - "operationId": "usersCreateSession", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "users" - ], - "description": "Creates a session for a user. Returns an immediately usable session object.\n\nIf you want to generate a token for a custom authentication flow, use the [POST \/users\/{userId}\/tokens](https:\/\/appwrite.io\/docs\/server\/users#createToken) endpoint.", - "responses": { - "201": { - "description": "Session", - "schema": { - "$ref": "#\/definitions\/session" + "x-oneOf": [ + { + "$ref": "#\/definitions\/columnBoolean" + }, + { + "$ref": "#\/definitions\/columnInteger" + }, + { + "$ref": "#\/definitions\/columnFloat" + }, + { + "$ref": "#\/definitions\/columnEmail" + }, + { + "$ref": "#\/definitions\/columnEnum" + }, + { + "$ref": "#\/definitions\/columnUrl" + }, + { + "$ref": "#\/definitions\/columnIp" + }, + { + "$ref": "#\/definitions\/columnDatetime" + }, + { + "$ref": "#\/definitions\/columnRelationship" + }, + { + "$ref": "#\/definitions\/columnString" + } + ], + "x-discriminator": { + "propertyName": "type", + "mapping": { + "boolean": "#\/definitions\/columnBoolean", + "integer": "#\/definitions\/columnInteger", + "double": "#\/definitions\/columnFloat", + "string": "#\/definitions\/columnString", + "datetime": "#\/definitions\/columnDatetime", + "relationship": "#\/definitions\/columnRelationship" + }, + "x-propertyNames": [ + "type", + "format" + ], + "x-mapping": { + "#\/definitions\/columnBoolean": { + "type": "boolean" + }, + "#\/definitions\/columnInteger": { + "type": "integer" + }, + "#\/definitions\/columnFloat": { + "type": "double" + }, + "#\/definitions\/columnEmail": { + "type": "string", + "format": "email" + }, + "#\/definitions\/columnEnum": { + "type": "string", + "format": "enum" + }, + "#\/definitions\/columnUrl": { + "type": "string", + "format": "url" + }, + "#\/definitions\/columnIp": { + "type": "string", + "format": "ip" + }, + "#\/definitions\/columnDatetime": { + "type": "datetime" + }, + "#\/definitions\/columnRelationship": { + "type": "relationship" + }, + "#\/definitions\/columnString": { + "type": "string" + } + } + } } } }, "deprecated": false, "x-appwrite": { - "method": "createSession", - "group": "sessions", - "weight": 97, + "method": "getColumn", + "group": "columns", + "weight": 790, "cookies": false, "type": "", - "demo": "users\/create-session.md", + "demo": "tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "users.write", - "sessions.write" + "tables.read", + "collections.read", + "columns.read", + "attributes.read" ], "platforms": [ "console", @@ -69886,7 +66814,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -69899,87 +66827,41 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" - } - ] - }, - "delete": { - "summary": "Delete user sessions", - "operationId": "usersDeleteSessions", - "consumes": [ - "application\/json" - ], - "produces": [], - "tags": [ - "users" - ], - "description": "Delete all user's sessions by using the user's unique ID.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteSessions", - "group": "sessions", - "weight": 100, - "cookies": false, - "type": "", - "demo": "users\/delete-sessions.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": [ - "users.write", - "sessions.write" - ], - "platforms": [ - "console", - "server" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", - "auth": { - "Project": [] - } - }, - "security": [ + }, { - "Project": [], - "Key": [] - } - ], - "parameters": [ + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { - "name": "userId", - "description": "User ID.", + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" } ] - } - }, - "\/users\/{userId}\/sessions\/{sessionId}": { + }, "delete": { - "summary": "Delete user session", - "operationId": "usersDeleteSession", + "summary": "Delete column", + "operationId": "tablesDBDeleteColumn", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "users" + "tablesDB" ], - "description": "Delete a user sessions by its unique ID.", + "description": "Deletes a column.", "responses": { "204": { "description": "No content" @@ -69987,18 +66869,20 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteSession", - "group": "sessions", - "weight": 99, + "method": "deleteColumn", + "group": "columns", + "weight": 791, "cookies": false, "type": "", - "demo": "users\/delete-session.md", + "demo": "tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", "scope": [ - "users.write", - "sessions.write" + "tables.write", + "collections.write", + "columns.write", + "attributes.write" ], "platforms": [ "console", @@ -70006,7 +66890,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -70019,28 +66903,35 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "sessionId", - "description": "Session ID.", + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<SESSION_ID>", "in": "path" } ] } }, - "\/users\/{userId}\/status": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/columns\/{key}\/relationship": { "patch": { - "summary": "Update user status", - "operationId": "usersUpdateStatus", + "summary": "Update relationship column", + "operationId": "tablesDBUpdateRelationshipColumn", "consumes": [ "application\/json" ], @@ -70048,36 +66939,41 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user status by its unique ID. Use this endpoint as an alternative to deleting a user if you want to keep user's ID reserved.", + "description": "Update relationship column. [Learn more about relationship columns](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-columns).\n", "responses": { "200": { - "description": "User", + "description": "ColumnRelationship", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/columnRelationship" } } }, "deprecated": false, "x-appwrite": { - "method": "updateStatus", - "group": "users", - "weight": 80, + "method": "updateRelationshipColumn", + "group": "columns", + "weight": 816, "cookies": false, "type": "", - "demo": "users\/update-status.md", + "demo": "tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "tables.write", + "collections.write", + "columns.write", + "attributes.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -70090,11 +66986,26 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Column Key.", "required": true, "type": "string", - "x-example": "<USER_ID>", "in": "path" }, { @@ -70103,60 +67014,74 @@ "schema": { "type": "object", "properties": { - "status": { - "type": "boolean", - "description": "User Status. To activate the user pass `true` and to block the user pass `false`.", - "default": null, - "x-example": false + "onDelete": { + "type": "string", + "description": "Constraints option", + "x-example": "cascade", + "enum": [ + "cascade", + "restrict", + "setNull" + ], + "x-enum-name": "RelationMutate", + "x-enum-keys": [], + "x-nullable": true + }, + "newKey": { + "type": "string", + "description": "New Column Key.", + "x-example": null, + "x-nullable": true } - }, - "required": [ - "status" - ] + } } } ] } }, - "\/users\/{userId}\/targets": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes": { "get": { - "summary": "List user targets", - "operationId": "usersListTargets", + "summary": "List indexes", + "operationId": "tablesDBListIndexes", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "List the messaging targets that are associated with a user.", + "description": "List indexes on the table.", "responses": { "200": { - "description": "Target list", + "description": "Column Indexes List", "schema": { - "$ref": "#\/definitions\/targetList" + "$ref": "#\/definitions\/columnIndexList" } } }, "deprecated": false, "x-appwrite": { - "method": "listTargets", - "group": "targets", - "weight": 78, + "method": "listIndexes", + "group": "indexes", + "weight": 832, "cookies": false, "type": "", - "demo": "users\/list-targets.md", + "demo": "tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.read", + "scope": [ + "tables.read", + "collections.read", + "indexes.read" + ], "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -70169,16 +67094,24 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: key, type, status, attributes, error", "required": false, "type": "array", "collectionFormat": "multi", @@ -70200,8 +67133,8 @@ ] }, "post": { - "summary": "Create user target", - "operationId": "usersCreateTarget", + "summary": "Create index", + "operationId": "tablesDBCreateIndex", "consumes": [ "application\/json" ], @@ -70209,36 +67142,40 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Create a messaging target.", + "description": "Creates an index on the columns listed. Your index should include all the columns you will query in a single request.\nType can be `key`, `fulltext`, or `unique`.", "responses": { - "201": { - "description": "Target", + "202": { + "description": "Index", "schema": { - "$ref": "#\/definitions\/target" + "$ref": "#\/definitions\/columnIndex" } } }, "deprecated": false, "x-appwrite": { - "method": "createTarget", - "group": "targets", - "weight": 70, + "method": "createIndex", + "group": "indexes", + "weight": 829, "cookies": false, "type": "", - "demo": "users\/create-target.md", + "demo": "tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": [ + "tables.write", + "collections.write", + "indexes.write" + ], "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -70251,11 +67188,19 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -70264,93 +67209,110 @@ "schema": { "type": "object", "properties": { - "targetId": { + "key": { "type": "string", - "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<TARGET_ID>" + "description": "Index Key.", + "x-example": null }, - "providerType": { + "type": { "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "default": null, - "x-example": "email", + "description": "Index type.", + "x-example": "key", "enum": [ - "email", - "sms", - "push" + "key", + "fulltext", + "unique", + "spatial" ], - "x-enum-name": "MessagingProviderType", + "x-enum-name": "TablesDBIndexType", "x-enum-keys": [] }, - "identifier": { - "type": "string", - "description": "The target identifier (token, email, phone etc.)", - "default": null, - "x-example": "<IDENTIFIER>" + "columns": { + "type": "array", + "description": "Array of columns to index. Maximum of 100 columns are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } }, - "providerId": { - "type": "string", - "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } }, - "name": { - "type": "string", - "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", - "default": "", - "x-example": "<NAME>" + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "default": [], + "items": { + "type": "integer" + } } }, "required": [ - "targetId", - "providerType", - "identifier" + "key", + "type", + "columns" ] } } ] } }, - "\/users\/{userId}\/targets\/{targetId}": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/indexes\/{key}": { "get": { - "summary": "Get user target", - "operationId": "usersGetTarget", + "summary": "Get index", + "operationId": "tablesDBGetIndex", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Get a user's push notification target by ID.", + "description": "Get index by ID.", "responses": { "200": { - "description": "Target", + "description": "Index", "schema": { - "$ref": "#\/definitions\/target" + "$ref": "#\/definitions\/columnIndex" } } }, "deprecated": false, "x-appwrite": { - "method": "getTarget", - "group": "targets", - "weight": 74, + "method": "getIndex", + "group": "indexes", + "weight": 830, "cookies": false, "type": "", - "demo": "users\/get-target.md", + "demo": "tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.read", + "scope": [ + "tables.read", + "collections.read", + "indexes.read" + ], "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -70363,63 +67325,69 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "targetId", - "description": "Target ID.", + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", "required": true, "type": "string", - "x-example": "<TARGET_ID>", "in": "path" } ] }, - "patch": { - "summary": "Update user target", - "operationId": "usersUpdateTarget", + "delete": { + "summary": "Delete index", + "operationId": "tablesDBDeleteIndex", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "users" + "tablesDB" ], - "description": "Update a messaging target.", + "description": "Delete an index.", "responses": { - "200": { - "description": "Target", - "schema": { - "$ref": "#\/definitions\/target" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "updateTarget", - "group": "targets", - "weight": 90, + "method": "deleteIndex", + "group": "indexes", + "weight": 831, "cookies": false, "type": "", - "demo": "users\/update-target.md", + "demo": "tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": [ + "tables.write", + "collections.write", + "indexes.write" + ], "platforms": [ - "server", - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -70432,156 +67400,156 @@ ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "targetId", - "description": "Target ID.", + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "type": "string", - "x-example": "<TARGET_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "description": "The target identifier (token, email, phone etc.)", - "default": "", - "x-example": "<IDENTIFIER>" - }, - "providerId": { - "type": "string", - "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" - }, - "name": { - "type": "string", - "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", - "default": "", - "x-example": "<NAME>" - } - } - } + "name": "key", + "description": "Index Key.", + "required": true, + "type": "string", + "in": "path" } ] - }, - "delete": { - "summary": "Delete user target", - "operationId": "usersDeleteTarget", - "consumes": [ + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/logs": { + "get": { + "summary": "List table logs", + "operationId": "tablesDBListTableLogs", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "users" + "tablesDB" ], - "description": "Delete a messaging target.", + "description": "Get the table activity logs list by its unique ID.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Logs List", + "schema": { + "$ref": "#\/definitions\/logList" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteTarget", - "group": "targets", - "weight": 102, + "method": "listTableLogs", + "group": "tables", + "weight": 788, "cookies": false, "type": "", - "demo": "users\/delete-target.md", + "demo": "tablesdb\/list-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "targets.write", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ - "server", "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "auth": { "Project": [] } }, "security": [ { - "Project": [], - "Key": [] + "Project": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "targetId", - "description": "Target ID.", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<TARGET_ID>", + "x-example": "<TABLE_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] } }, - "\/users\/{userId}\/tokens": { - "post": { - "summary": "Create token", - "operationId": "usersCreateToken", - "consumes": [ - "application\/json" - ], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows": { + "get": { + "summary": "List rows", + "operationId": "tablesDBListRows", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Returns a token with a secret key for creating a session. Use the user ID and secret and submit a request to the [PUT \/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process.\n", + "description": "Get a list of all the user's rows in a given table. You can use the query params to filter your results.", "responses": { - "201": { - "description": "Token", + "200": { + "description": "Rows List", "schema": { - "$ref": "#\/definitions\/token" + "$ref": "#\/definitions\/rowList" } } }, "deprecated": false, "x-appwrite": { - "method": "createToken", - "group": "sessions", - "weight": 98, + "method": "listRows", + "group": "rows", + "weight": 919, "cookies": false, "type": "", - "demo": "users\/create-token.md", + "demo": "tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "scope": [ + "rows.read", + "documents.read" + ], "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -70589,48 +67557,72 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "length": { - "type": "integer", - "description": "Token length in characters. The default length is 6 characters", - "default": 6, - "x-example": 4, - "format": "int32" - }, - "expire": { - "type": "integer", - "description": "Token expiration period in seconds. The default expiration is 15 minutes.", - "default": 900, - "x-example": 60, - "format": "int32" - } - } - } + "name": "tableId", + "description": "Table ID. You can create a new table using the TablesDB service [server integration](https:\/\/appwrite.io\/docs\/products\/databases\/tables#create-table).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, table, schema version (columns and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; row writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" } ] - } - }, - "\/users\/{userId}\/verification": { - "patch": { - "summary": "Update email verification", - "operationId": "usersUpdateEmailVerification", + }, + "post": { + "summary": "Create row", + "operationId": "tablesDBCreateRow", "consumes": [ "application\/json" ], @@ -70638,36 +67630,101 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user email verification status by its unique ID.", + "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { - "200": { - "description": "User", + "201": { + "description": "Row", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/row" } } }, "deprecated": false, "x-appwrite": { - "method": "updateEmailVerification", - "group": "users", - "weight": 88, + "method": "createRow", + "group": "rows", + "weight": 833, "cookies": false, "type": "", - "demo": "users\/update-email-verification.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/create-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", + "methods": [ + { + "name": "createRow", + "namespace": "tablesDB", + "desc": "Create row", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "tableId", + "rowId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "tableId", + "rowId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/row" + } + ], + "description": "Create a new Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/create-row.md", + "public": true + }, + { + "name": "createRows", + "namespace": "tablesDB", + "desc": "Create rows", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "tableId", + "rows", + "transactionId" + ], + "required": [ + "databaseId", + "tableId", + "rows" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/rowList" + } + ], + "description": "Create new Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/create-rows.md", + "public": true + } + ], "auth": { "Project": [] } @@ -70675,16 +67732,26 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "userId", - "description": "User ID.", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<USER_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable). Make sure to define columns before creating rows.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -70693,25 +67760,50 @@ "schema": { "type": "object", "properties": { - "emailVerification": { - "type": "boolean", - "description": "User email verification status.", - "default": null, - "x-example": false + "rowId": { + "type": "string", + "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<ROW_ID>", + "default": "" + }, + "data": { + "type": "object", + "description": "Row data as JSON object.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "rows": { + "type": "array", + "description": "Array of rows data as JSON objects.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "emailVerification" - ] + } } } ] - } - }, - "\/users\/{userId}\/verification\/phone": { - "patch": { - "summary": "Update phone verification", - "operationId": "usersUpdatePhoneVerification", + }, + "put": { + "summary": "Upsert rows", + "operationId": "tablesDBUpsertRows", "consumes": [ "application\/json" ], @@ -70719,146 +67811,94 @@ "application\/json" ], "tags": [ - "users" + "tablesDB" ], - "description": "Update the user phone verification status by its unique ID.", + "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", "responses": { - "200": { - "description": "User", + "201": { + "description": "Rows List", "schema": { - "$ref": "#\/definitions\/user" + "$ref": "#\/definitions\/rowList" } } }, "deprecated": false, "x-appwrite": { - "method": "updatePhoneVerification", - "group": "users", - "weight": 83, + "method": "upsertRows", + "group": "rows", + "weight": 838, "cookies": false, "type": "", - "demo": "users\/update-phone-verification.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "users.write", + "demo": "tablesdb\/upsert-rows.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], - "Key": [] - } - ], - "parameters": [ - { - "name": "userId", - "description": "User ID.", - "required": true, - "type": "string", - "x-example": "<USER_ID>", - "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "phoneVerification": { - "type": "boolean", - "description": "User phone verification status.", - "default": null, - "x-example": false - } + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", + "methods": [ + { + "name": "upsertRows", + "namespace": "tablesDB", + "desc": "", + "auth": { + "Project": [] }, + "parameters": [ + "databaseId", + "tableId", + "rows", + "transactionId" + ], "required": [ - "phoneVerification" - ] - } - } - ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/detections": { - "post": { - "summary": "Create repository detection", - "operationId": "vcsCreateRepositoryDetection", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "vcs" - ], - "description": "Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", - "responses": { - "200": { - "description": "DetectionRuntime, or DetectionFramework", - "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/detectionRuntime" - }, + "databaseId", + "tableId", + "rows" + ], + "responses": [ { - "$ref": "#\/definitions\/detectionFramework" + "code": 201, + "model": "#\/definitions\/rowList" } ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "runtime": "#\/definitions\/detectionRuntime", - "framework": "#\/definitions\/detectionFramework" - } - } + "description": "Create or update Rows. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.\n", + "demo": "tablesdb\/upsert-rows.md", + "public": true } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createRepositoryDetection", - "group": "repositories", - "weight": 568, - "cookies": false, - "type": "", - "demo": "vcs\/create-repository-detection.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", - "platforms": [ - "console" ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -70867,150 +67907,133 @@ "schema": { "type": "object", "properties": { - "providerRepositoryId": { - "type": "string", - "description": "Repository Id", - "default": null, - "x-example": "<PROVIDER_REPOSITORY_ID>" - }, - "type": { - "type": "string", - "description": "Detector type. Must be one of the following: runtime, framework", - "default": null, - "x-example": "runtime", - "enum": [ - "runtime", - "framework" - ], - "x-enum-name": "VCSDetectionType", - "x-enum-keys": [] + "rows": { + "type": "array", + "description": "Array of row data as JSON objects. May contain partial rows.", + "x-example": null, + "items": { + "type": "object" + } }, - "providerRootDirectory": { + "transactionId": { "type": "string", - "description": "Path to Root Directory", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ - "providerRepositoryId", - "type" + "rows" ] } } ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories": { - "get": { - "summary": "List repositories", - "operationId": "vcsListRepositories", - "consumes": [], + }, + "patch": { + "summary": "Update rows", + "operationId": "tablesDBUpdateRows", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.", + "description": "Update all rows that match your queries, if no queries are submitted then all rows are updated. You can pass only specific fields to be updated.", "responses": { "200": { - "description": "Runtime Provider Repositories List, or Framework Provider Repositories List", + "description": "Rows List", "schema": { - "x-oneOf": [ - { - "$ref": "#\/definitions\/providerRepositoryRuntimeList" - }, - { - "$ref": "#\/definitions\/providerRepositoryFrameworkList" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "runtime": "#\/definitions\/providerRepositoryRuntimeList", - "framework": "#\/definitions\/providerRepositoryFrameworkList" - } - } + "$ref": "#\/definitions\/rowList" } } }, "deprecated": false, "x-appwrite": { - "method": "listRepositories", - "group": "repositories", - "weight": 565, + "method": "updateRows", + "group": "rows", + "weight": 836, "cookies": false, "type": "", - "demo": "vcs\/list-repositories.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "demo": "tablesdb\/update-rows.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "type", - "description": "Detector type. Must be one of the following: runtime, framework", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "runtime", - "enum": [ - "runtime", - "framework" - ], - "x-enum-name": "VCSDetectionType", - "x-enum-keys": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Row data as JSON object. Include only column and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] }, - "post": { - "summary": "Create repository", - "operationId": "vcsCreateRepository", + "delete": { + "summary": "Delete rows", + "operationId": "tablesDBDeleteRows", "consumes": [ "application\/json" ], @@ -71018,51 +68041,64 @@ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.", + "description": "Bulk delete rows using queries, if no queries are passed then all rows are deleted.", "responses": { "200": { - "description": "ProviderRepository", + "description": "Rows List", "schema": { - "$ref": "#\/definitions\/providerRepository" + "$ref": "#\/definitions\/rowList" } } }, "deprecated": false, "x-appwrite": { - "method": "createRepository", - "group": "repositories", - "weight": 563, + "method": "deleteRows", + "group": "rows", + "weight": 840, "cookies": false, "type": "", - "demo": "vcs\/create-repository.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", + "demo": "tablesdb\/delete-rows.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", "in": "path" }, { @@ -71071,171 +68107,110 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Repository name (slug)", - "default": null, - "x-example": "<NAME>" + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } }, - "private": { - "type": "boolean", - "description": "Mark repository public or private", - "default": null, - "x-example": false + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "name", - "private" - ] + } } } ] } }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}": { "get": { - "summary": "Get repository", - "operationId": "vcsGetRepository", + "summary": "Get row", + "operationId": "tablesDBGetRow", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.", + "description": "Get a row by its unique ID. This endpoint response returns a JSON object with the row data.", "responses": { "200": { - "description": "ProviderRepository", + "description": "Row", "schema": { - "$ref": "#\/definitions\/providerRepository" + "$ref": "#\/definitions\/row" } } }, "deprecated": false, "x-appwrite": { - "method": "getRepository", - "group": "repositories", - "weight": 564, + "method": "getRow", + "group": "rows", + "weight": 834, "cookies": false, "type": "", - "demo": "vcs\/get-repository.md", + "demo": "tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": [ + "rows.read", + "documents.read" + ], "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", - "required": true, - "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>", - "in": "path" - } - ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/branches": { - "get": { - "summary": "List repository branches", - "operationId": "vcsListRepositoryBranches", - "consumes": [], - "produces": [ - "application\/json" - ], - "tags": [ - "vcs" - ], - "description": "Get a list of branches from a GitHub repository in your installation. This endpoint supports filtering by a search term and pagination using query strings such as `Query.limit()`, `Query.offset()`, `Query.cursorAfter()`, and `Query.cursorBefore()`. It returns branch names along with the total number of matches. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.\n", - "responses": { - "200": { - "description": "Branches List", - "schema": { - "$ref": "#\/definitions\/branchList" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "listRepositoryBranches", - "group": "repositories", - "weight": 566, - "cookies": false, - "type": "", - "demo": "vcs\/list-repository-branches.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [] - } - ], - "parameters": [ - { - "name": "installationId", - "description": "Installation Id", + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", + "name": "rowId", + "description": "Row ID.", "required": true, "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>", + "x-example": "<ROW_ID>", "in": "path" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit, offset, cursorAfter, and cursorBefore", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", "required": false, "type": "array", "collectionFormat": "multi", @@ -71244,99 +68219,165 @@ }, "default": [], "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" } ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/contents": { - "get": { - "summary": "Get files and directories of a VCS repository", - "operationId": "vcsGetRepositoryContents", - "consumes": [], + }, + "put": { + "summary": "Upsert a row", + "operationId": "tablesDBUpsertRow", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", "responses": { - "200": { - "description": "VCS Content List", + "201": { + "description": "Row", "schema": { - "$ref": "#\/definitions\/vcsContentList" + "$ref": "#\/definitions\/row" } } }, "deprecated": false, "x-appwrite": { - "method": "getRepositoryContents", - "group": "repositories", - "weight": 567, + "method": "upsertRow", + "group": "rows", + "weight": 837, "cookies": false, "type": "", - "demo": "vcs\/get-repository-contents.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "demo": "tablesdb\/upsert-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", + "methods": [ + { + "name": "upsertRow", + "namespace": "tablesDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "tableId", + "rowId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "tableId", + "rowId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/row" + } + ], + "description": "Create or update a Row. Before using this route, you should create a new table resource using either a [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable) API or directly from your database console.", + "demo": "tablesdb\/upsert-row.md", + "public": true + } + ], "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "providerRepositoryId", - "description": "Repository Id", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<PROVIDER_REPOSITORY_ID>", + "x-example": "<TABLE_ID>", "in": "path" }, { - "name": "providerRootDirectory", - "description": "Path to get contents of nested directory", - "required": false, + "name": "rowId", + "description": "Row ID.", + "required": true, "type": "string", - "x-example": "<PROVIDER_ROOT_DIRECTORY>", - "default": "", - "in": "query" + "x-example": "<ROW_ID>", + "in": "path" }, { - "name": "providerReference", - "description": "Git reference (branch, tag, commit) to get contents from", - "required": false, - "type": "string", - "x-example": "<PROVIDER_REFERENCE>", - "default": "", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] - } - }, - "\/vcs\/github\/installations\/{installationId}\/repositories\/{repositoryId}": { + }, "patch": { - "summary": "Update external deployment (authorize)", - "operationId": "vcsUpdateExternalDeployments", + "summary": "Update row", + "operationId": "tablesDBUpdateRow", "consumes": [ "application\/json" ], @@ -71344,56 +68385,75 @@ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.", + "description": "Update a row by its unique ID. Using the patch method you can pass only specific fields that will get updated.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Row", + "schema": { + "$ref": "#\/definitions\/row" + } } }, "deprecated": false, "x-appwrite": { - "method": "updateExternalDeployments", - "group": "repositories", - "weight": 1206, + "method": "updateRow", + "group": "rows", + "weight": 835, "cookies": false, "type": "", - "demo": "vcs\/update-external-deployments.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", + "demo": "tablesdb\/update-row.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" }, { - "name": "repositoryId", - "description": "VCS Repository Id", + "name": "tableId", + "description": "Table ID.", "required": true, "type": "string", - "x-example": "<REPOSITORY_ID>", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "type": "string", + "x-example": "<ROW_ID>", "in": "path" }, { @@ -71402,140 +68462,167 @@ "schema": { "type": "object", "properties": { - "providerPullRequestId": { + "data": { + "type": "object", + "description": "Row data as JSON object. Include only columns and value pairs to be updated.", + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "transactionId": { "type": "string", - "description": "GitHub Pull Request Id", - "default": null, - "x-example": "<PROVIDER_PULL_REQUEST_ID>" + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "providerPullRequestId" - ] + } } } ] - } - }, - "\/vcs\/installations": { - "get": { - "summary": "List installations", - "operationId": "vcsListInstallations", - "consumes": [], - "produces": [ + }, + "delete": { + "summary": "Delete row", + "operationId": "tablesDBDeleteRow", + "consumes": [ "application\/json" ], + "produces": [], "tags": [ - "vcs" + "tablesDB" ], - "description": "List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.\n", + "description": "Delete a row by its unique ID.", "responses": { - "200": { - "description": "Installations List", - "schema": { - "$ref": "#\/definitions\/installationList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "listInstallations", - "group": "installations", - "weight": 561, + "method": "deleteRow", + "group": "rows", + "weight": 839, "cookies": false, "type": "", - "demo": "vcs\/list-installations.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "demo": "tablesdb\/delete-row.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console" + "console", + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: provider, organization", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID. You can create a new table using the Database service [server integration](https:\/\/appwrite.io\/docs\/references\/cloud\/server-dart\/tablesDB#createTable).", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "rowId", + "description": "Row ID.", + "required": true, + "type": "string", + "x-example": "<ROW_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] } }, - "\/vcs\/installations\/{installationId}": { + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/logs": { "get": { - "summary": "Get installation", - "operationId": "vcsGetInstallation", + "summary": "List row logs", + "operationId": "tablesDBListRowLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vcs" + "tablesDB" ], - "description": "Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. ", + "description": "Get the row activity logs list by its unique ID.", "responses": { "200": { - "description": "Installation", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/installation" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "getInstallation", - "group": "installations", - "weight": 560, + "method": "listRowLogs", + "group": "logs", + "weight": 842, "cookies": false, "type": "", - "demo": "vcs\/get-installation.md", + "demo": "tablesdb\/list-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.read", + "scope": [ + "rows.read", + "documents.read" + ], "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } @@ -71547,109 +68634,89 @@ ], "parameters": [ { - "name": "installationId", - "description": "Installation Id", + "name": "databaseId", + "description": "Database ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<DATABASE_ID>", "in": "path" - } - ] - }, - "delete": { - "summary": "Delete installation", - "operationId": "vcsDeleteInstallation", - "consumes": [ - "application\/json" - ], - "produces": [], - "tags": [ - "vcs" - ], - "description": "Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.", - "responses": { - "204": { - "description": "No content" - } - }, - "deprecated": false, - "x-appwrite": { - "method": "deleteInstallation", - "group": "installations", - "weight": 562, - "cookies": false, - "type": "", - "demo": "vcs\/delete-installation.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "vcs.write", - "platforms": [ - "console" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", - "auth": { - "Project": [] - } - }, - "security": [ + }, { - "Project": [] - } - ], - "parameters": [ + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, { - "name": "installationId", - "description": "Installation Id", + "name": "rowId", + "description": "Row ID.", "required": true, "type": "string", - "x-example": "<INSTALLATION_ID>", + "x-example": "<ROW_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" } ] } }, - "\/vectorsdb": { - "get": { - "summary": "List databases", - "operationId": "vectorsDBList", - "consumes": [], + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/decrement": { + "patch": { + "summary": "Decrement row column", + "operationId": "tablesDBDecrementRowColumn", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "tablesDB" ], - "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "description": "Decrement a specific column of a row by a given value.", "responses": { "200": { - "description": "Databases List", + "description": "Row", "schema": { - "$ref": "#\/definitions\/databaseList" + "$ref": "#\/definitions\/row" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": "vectorsdb", - "weight": 876, + "method": "decrementRowColumn", + "group": "rows", + "weight": 844, "cookies": false, "type": "", - "demo": "vectorsdb\/list.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "demo": "tablesdb\/decrement-row-column.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console", - "server" + "client", + "server", + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -71657,45 +68724,79 @@ "security": [ { "Project": [], + "Session": [], + "JWT": [], "Key": [] } ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" }, { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "tableId", + "description": "Table ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<TABLE_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "rowId", + "description": "Row ID.", + "required": true, + "type": "string", + "x-example": "<ROW_ID>", + "in": "path" + }, + { + "name": "column", + "description": "Column key.", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "Value to increment the column by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" + }, + "min": { + "type": "number", + "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true + } + } + } } ] - }, - "post": { - "summary": "Create database", - "operationId": "vectorsDBCreate", + } + }, + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/rows\/{rowId}\/{column}\/increment": { + "patch": { + "summary": "Increment row column", + "operationId": "tablesDBIncrementRowColumn", "consumes": [ "application\/json" ], @@ -71703,36 +68804,40 @@ "application\/json" ], "tags": [ - "vectorsDB" + "tablesDB" ], - "description": "Create a new Database.\n", + "description": "Increment a specific column of a row by a given value.", "responses": { - "201": { - "description": "Database", + "200": { + "description": "Row", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/row" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": "vectorsdb", - "weight": 872, + "method": "incrementRowColumn", + "group": "rows", + "weight": 843, "cookies": false, "type": "", - "demo": "vectorsdb\/create.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "demo": "tablesdb\/increment-row-column.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": [ + "rows.write", + "documents.write" + ], "platforms": [ - "console", - "server" + "client", + "server", + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -71740,108 +68845,229 @@ "security": [ { "Project": [], + "Session": [], + "JWT": [], "Key": [] } ], "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + }, + { + "name": "rowId", + "description": "Row ID.", + "required": true, + "type": "string", + "x-example": "<ROW_ID>", + "in": "path" + }, + { + "name": "column", + "description": "Column key.", + "required": true, + "type": "string", + "in": "path" + }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "databaseId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<DATABASE_ID>" + "value": { + "type": "number", + "description": "Value to increment the column by. The value must be a number.", + "x-example": null, + "default": 1, + "format": "float" }, - "name": { - "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "max": { + "type": "number", + "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", + "x-example": null, + "format": "float", + "x-nullable": true }, - "enabled": { - "type": "boolean", - "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } - }, - "required": [ - "databaseId", - "name" - ] + } } } ] } }, - "\/vectorsdb\/embeddings\/text": { - "post": { - "summary": "Create Text Embeddings", - "operationId": "vectorsDBCreateTextEmbeddings", - "consumes": [ + "\/tablesdb\/{databaseId}\/tables\/{tableId}\/usage": { + "get": { + "summary": "Get table usage stats", + "operationId": "tablesDBGetTableUsage", + "consumes": [], + "produces": [ "application\/json" ], + "tags": [ + "tablesDB" + ], + "description": "Get usage metrics and statistics for a table. Returning the total number of rows. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageTable", + "schema": { + "$ref": "#\/definitions\/usageTable" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTableUsage", + "group": null, + "weight": 789, + "cookies": false, + "type": "", + "demo": "tablesdb\/get-table-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.read", + "collections.read" + ], + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + }, + { + "name": "tableId", + "description": "Table ID.", + "required": true, + "type": "string", + "x-example": "<TABLE_ID>", + "in": "path" + } + ] + } + }, + "\/tablesdb\/{databaseId}\/usage": { + "get": { + "summary": "Get TablesDB usage stats", + "operationId": "tablesDBGetUsage", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "tablesDB" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", "responses": { "200": { - "description": "Embedding list", + "description": "UsageDatabase", "schema": { - "$ref": "#\/definitions\/embeddingList" + "$ref": "#\/definitions\/usageDatabase" } } }, "deprecated": false, "x-appwrite": { - "method": "createTextEmbeddings", - "group": "documents", - "weight": 898, + "method": "getUsage", + "group": null, + "weight": 781, "cookies": false, "type": "", - "demo": "vectorsdb\/create-text-embeddings.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "tablesdb\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "tables.read", + "collections.read" + ], "platforms": [ - "console", - "server" + "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "methods": [ { - "name": "createTextEmbeddings", - "namespace": "vectorsDB", - "desc": "Create Text Embedding", + "name": "getUsage", + "namespace": "tablesDB", + "desc": "", "auth": { "Project": [] }, "parameters": [ - "texts", - "model" + "databaseId", + "range" ], "required": [ - "texts" + "databaseId" ], "responses": [ { "code": 200, - "model": "#\/definitions\/embeddingList" + "model": "#\/definitions\/usageDatabase" } ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-text-embeddings.md", + "description": "Get usage metrics and statistics for a database. You can view the total number of tables, rows, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "tablesdb\/get-usage.md", "public": true } ], @@ -71851,87 +69077,81 @@ }, "security": [ { - "Project": [], - "Key": [], - "JWT": [] + "Project": [] } ], "parameters": [ { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "texts": { - "type": "array", - "description": "Array of text to generate embeddings.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "model": { - "type": "string", - "description": "The embedding model to use for generating vector embeddings.", - "default": "embeddinggemma", - "x-example": "embeddinggemma", - "enum": [ - "embeddinggemma" - ], - "x-enum-name": null, - "x-enum-keys": [] - } - }, - "required": [ - "texts" - ] - } + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" } ] } }, - "\/vectorsdb\/transactions": { + "\/teams": { "get": { - "summary": "List transactions", - "operationId": "vectorsDBListTransactions", + "summary": "List teams", + "operationId": "teamsList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "List transactions across all databases.", + "description": "Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results.", "responses": { "200": { - "description": "Transaction List", + "description": "Teams List", "schema": { - "$ref": "#\/definitions\/transactionList" + "$ref": "#\/definitions\/teamList" } } }, "deprecated": false, "x-appwrite": { - "method": "listTransactions", - "group": "transactions", - "weight": 903, + "method": "list", + "group": "teams", + "weight": 531, "cookies": false, "type": "", - "demo": "vectorsdb\/list-transactions.md", + "demo": "teams\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "teams.read", "platforms": [ "console", - "server", - "client" + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-transactions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -71939,15 +69159,15 @@ "security": [ { "Project": [], - "Key": [], "Session": [], + "Key": [], "JWT": [] } ], "parameters": [ { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, total, billingPlan", "required": false, "type": "array", "collectionFormat": "multi", @@ -71956,12 +69176,30 @@ }, "default": [], "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, "post": { - "summary": "Create transaction", - "operationId": "vectorsDBCreateTransaction", + "summary": "Create team", + "operationId": "teamsCreate", "consumes": [ "application\/json" ], @@ -71969,37 +69207,37 @@ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Create a new transaction.", + "description": "Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team.", "responses": { "201": { - "description": "Transaction", + "description": "Team", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/team" } } }, "deprecated": false, "x-appwrite": { - "method": "createTransaction", - "group": "transactions", - "weight": 899, + "method": "create", + "group": "teams", + "weight": 529, "cookies": false, "type": "", - "demo": "vectorsdb\/create-transaction.md", + "demo": "teams\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "teams.write", "platforms": [ "console", - "server", - "client" + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -72007,8 +69245,8 @@ "security": [ { "Project": [], - "Key": [], "Session": [], + "Key": [], "JWT": [] } ], @@ -72019,59 +69257,77 @@ "schema": { "type": "object", "properties": { - "ttl": { - "type": "integer", - "description": "Seconds before the transaction expires.", - "default": 300, - "x-example": 60, - "format": "int32" + "teamId": { + "type": "string", + "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TEAM_ID>" + }, + "name": { + "type": "string", + "description": "Team name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "roles": { + "type": "array", + "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", + "x-example": null, + "default": [ + "owner" + ], + "items": { + "type": "string" + } } - } + }, + "required": [ + "teamId", + "name" + ] } } ] } }, - "\/vectorsdb\/transactions\/{transactionId}": { + "\/teams\/{teamId}": { "get": { - "summary": "Get transaction", - "operationId": "vectorsDBGetTransaction", + "summary": "Get team", + "operationId": "teamsGet", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Get a transaction by its unique ID.", + "description": "Get a team by its ID. All team members have read access for this resource.", "responses": { "200": { - "description": "Transaction", + "description": "Team", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/team" } } }, "deprecated": false, "x-appwrite": { - "method": "getTransaction", - "group": "transactions", - "weight": 900, + "method": "get", + "group": "teams", + "weight": 530, "cookies": false, "type": "", - "demo": "vectorsdb\/get-transaction.md", + "demo": "teams\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "teams.read", "platforms": [ "console", - "server", - "client" + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -72079,25 +69335,25 @@ "security": [ { "Project": [], - "Key": [], "Session": [], + "Key": [], "JWT": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<TEAM_ID>", "in": "path" } ] }, - "patch": { - "summary": "Update transaction", - "operationId": "vectorsDBUpdateTransaction", + "put": { + "summary": "Update name", + "operationId": "teamsUpdateName", "consumes": [ "application\/json" ], @@ -72105,37 +69361,37 @@ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Update a transaction, to either commit or roll back its operations.", + "description": "Update the team's name by its unique ID.", "responses": { "200": { - "description": "Transaction", + "description": "Team", "schema": { - "$ref": "#\/definitions\/transaction" + "$ref": "#\/definitions\/team" } } }, "deprecated": false, "x-appwrite": { - "method": "updateTransaction", - "group": "transactions", - "weight": 901, + "method": "updateName", + "group": "teams", + "weight": 533, "cookies": false, "type": "", - "demo": "vectorsdb\/update-transaction.md", + "demo": "teams\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "teams.write", "platforms": [ "console", - "server", - "client" + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -72143,18 +69399,18 @@ "security": [ { "Project": [], - "Key": [], "Session": [], + "Key": [], "JWT": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { @@ -72163,34 +69419,30 @@ "schema": { "type": "object", "properties": { - "commit": { - "type": "boolean", - "description": "Commit transaction?", - "default": false, - "x-example": false - }, - "rollback": { - "type": "boolean", - "description": "Rollback transaction?", - "default": false, - "x-example": false + "name": { + "type": "string", + "description": "New team name. Max length: 128 chars.", + "x-example": "<NAME>" } - } + }, + "required": [ + "name" + ] } } ] }, "delete": { - "summary": "Delete transaction", - "operationId": "vectorsDBDeleteTransaction", + "summary": "Delete team", + "operationId": "teamsDelete", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "vectorsDB" + "teams" ], - "description": "Delete a transaction by its unique ID.", + "description": "Delete a team using its ID. Only team members with the owner role can delete the team.", "responses": { "204": { "description": "No content" @@ -72198,24 +69450,24 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteTransaction", - "group": "transactions", - "weight": 902, + "method": "delete", + "group": "teams", + "weight": 532, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-transaction.md", + "demo": "teams\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", + "scope": "teams.write", "platforms": [ "console", - "server", - "client" + "client", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -72223,168 +69475,61 @@ "security": [ { "Project": [], - "Key": [], "Session": [], - "JWT": [] - } - ], - "parameters": [ - { - "name": "transactionId", - "description": "Transaction ID.", - "required": true, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "path" - } - ] - } - }, - "\/vectorsdb\/transactions\/{transactionId}\/operations": { - "post": { - "summary": "Create operations", - "operationId": "vectorsDBCreateOperations", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "vectorsDB" - ], - "description": "Create multiple operations in a single transaction.", - "responses": { - "201": { - "description": "Transaction", - "schema": { - "$ref": "#\/definitions\/transaction" - } - } - }, - "deprecated": false, - "x-appwrite": { - "method": "createOperations", - "group": "transactions", - "weight": 904, - "cookies": false, - "type": "", - "demo": "vectorsdb\/create-operations.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.write", - "platforms": [ - "console", - "server", - "client" - ], - "packaging": false, - "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-operations.md", - "auth": { - "Project": [] - } - }, - "security": [ - { - "Project": [], "Key": [], - "Session": [], "JWT": [] } ], "parameters": [ { - "name": "transactionId", - "description": "Transaction ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<TRANSACTION_ID>", + "x-example": "<TEAM_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "operations": { - "type": "array", - "description": "Array of staged operations.", - "default": [], - "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", - "items": { - "type": "object" - } - } - } - } } ] } }, - "\/vectorsdb\/usage": { + "\/teams\/{teamId}\/logs": { "get": { - "summary": "Get VectorsDB usage stats", - "operationId": "vectorsDBListUsage", + "summary": "List team logs", + "operationId": "teamsListLogs", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Get the team activity logs list by its unique ID.", "responses": { "200": { - "description": "UsageVectorsDBs", + "description": "Logs List", "schema": { - "$ref": "#\/definitions\/usageVectorsDBs" + "$ref": "#\/definitions\/logList" } } }, "deprecated": false, "x-appwrite": { - "method": "listUsage", - "group": null, - "weight": 878, + "method": "listLogs", + "group": "logs", + "weight": 542, "cookies": false, "type": "", - "demo": "vectorsdb\/list-usage.md", + "demo": "teams\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "teams.read", "platforms": [ "console" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-usage.md", - "methods": [ - { - "name": "listUsage", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "range" - ], - "required": [], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageVectorsDBs" - } - ], - "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "vectorsdb\/list-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } @@ -72396,67 +69541,77 @@ ], "parameters": [ { - "name": "range", - "description": "Date range.", - "required": false, + "name": "teamId", + "description": "Team ID.", + "required": true, "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", + "x-example": "<TEAM_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] } }, - "\/vectorsdb\/{databaseId}": { + "\/teams\/{teamId}\/memberships": { "get": { - "summary": "Get database", - "operationId": "vectorsDBGet", + "summary": "List team memberships", + "operationId": "teamsListMemberships", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "description": "Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint. Hide sensitive attributes from the response by toggling membership privacy in the Console.", "responses": { "200": { - "description": "Database", + "description": "Memberships List", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/membershipList" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": "vectorsdb", - "weight": 873, + "method": "listMemberships", + "group": "memberships", + "weight": 538, "cookies": false, "type": "", - "demo": "vectorsdb\/get.md", + "demo": "teams\/list-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.read", + "scope": "teams.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -72464,23 +69619,55 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "put": { - "summary": "Update database", - "operationId": "vectorsDBUpdate", + "post": { + "summary": "Create team membership", + "operationId": "teamsCreateMembership", "consumes": [ "application\/json" ], @@ -72488,36 +69675,37 @@ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Update a database by its unique ID.", + "description": "Invite a new member to join your team. Provide an ID for existing users, or invite unregistered users using an email or phone number. If initiated from a Client SDK, Appwrite will send an email or sms with a link to join the team to the invited user, and an account will be created for them if one doesn't exist. If initiated from a Server SDK, the new member will be added automatically to the team.\n\nYou only need to provide one of a user ID, email, or phone number. Appwrite will prioritize accepting the user ID > email > phone number if you provide more than one of these parameters.\n\nUse the `url` parameter to redirect the user from the invitation email to your app. After the user is redirected, use the [Update Team Membership Status](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/teams#updateMembershipStatus) endpoint to allow the user to accept the invitation to the team. \n\nPlease note that to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) Appwrite will accept the only redirect URLs under the domains you have added as a platform on the Appwrite Console.\n", "responses": { - "200": { - "description": "Database", + "201": { + "description": "Membership", "schema": { - "$ref": "#\/definitions\/database" + "$ref": "#\/definitions\/membership" } } }, "deprecated": false, "x-appwrite": { - "method": "update", - "group": "vectorsdb", - "weight": 874, + "method": "createMembership", + "group": "memberships", + "weight": 536, "cookies": false, "type": "", - "demo": "vectorsdb\/update.md", - "rate-limit": 0, + "demo": "teams\/create-membership.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "teams.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -72525,16 +69713,18 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { @@ -72543,61 +69733,96 @@ "schema": { "type": "object", "properties": { - "name": { + "email": { "type": "string", - "description": "Database name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" + "description": "Email of the new team member.", + "x-example": "email@example.com", + "default": "", + "format": "email" }, - "enabled": { - "type": "boolean", - "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "userId": { + "type": "string", + "description": "ID of the user to be added to a team.", + "x-example": "<USER_ID>", + "default": "" + }, + "phone": { + "type": "string", + "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "default": "", + "format": "phone" + }, + "roles": { + "type": "array", + "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "url": { + "type": "string", + "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "x-example": "https:\/\/example.com", + "default": "", + "format": "url" + }, + "name": { + "type": "string", + "description": "Name of the new team member. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" } }, "required": [ - "name" + "roles" ] } } ] - }, - "delete": { - "summary": "Delete database", - "operationId": "vectorsDBDelete", - "consumes": [ + } + }, + "\/teams\/{teamId}\/memberships\/{membershipId}": { + "get": { + "summary": "Get team membership", + "operationId": "teamsGetMembership", + "consumes": [], + "produces": [ "application\/json" ], - "produces": [], "tags": [ - "vectorsDB" + "teams" ], - "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "description": "Get a team member by the membership unique id. All team members have read access for this resource. Hide sensitive attributes from the response by toggling membership privacy in the Console.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Membership", + "schema": { + "$ref": "#\/definitions\/membership" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": "vectorsdb", - "weight": 875, + "method": "getMembership", + "group": "memberships", + "weight": 537, "cookies": false, "type": "", - "demo": "vectorsdb\/delete.md", + "demo": "teams\/get-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "databases.write", + "scope": "teams.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -72605,60 +69830,71 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", + "in": "path" + }, + { + "name": "membershipId", + "description": "Membership ID.", + "required": true, + "type": "string", + "x-example": "<MEMBERSHIP_ID>", "in": "path" } ] - } - }, - "\/vectorsdb\/{databaseId}\/collections": { - "get": { - "summary": "List collections", - "operationId": "vectorsDBListCollections", - "consumes": [], + }, + "patch": { + "summary": "Update team membership", + "operationId": "teamsUpdateMembership", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "description": "Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions).\n", "responses": { "200": { - "description": "VectorsDB Collections List", + "description": "Membership", "schema": { - "$ref": "#\/definitions\/vectorsdbCollectionList" + "$ref": "#\/definitions\/membership" } } }, "deprecated": false, "x-appwrite": { - "method": "listCollections", - "group": "collections", - "weight": 883, + "method": "updateMembership", + "group": "memberships", + "weight": 539, "cookies": false, "type": "", - "demo": "vectorsdb\/list-collections.md", + "demo": "teams\/update-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "teams.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-collections.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -72666,90 +69902,86 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, + "name": "membershipId", + "description": "Membership ID.", + "required": true, "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" + "x-example": "<MEMBERSHIP_ID>", + "in": "path" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", + "x-example": null, + "items": { + "type": "string" + } + } + }, + "required": [ + "roles" + ] + } } ] }, - "post": { - "summary": "Create collection", - "operationId": "vectorsDBCreateCollection", + "delete": { + "summary": "Delete team membership", + "operationId": "teamsDeleteMembership", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "vectorsDB" + "teams" ], - "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted.", "responses": { - "201": { - "description": "VectorsDB Collection", - "schema": { - "$ref": "#\/definitions\/vectorsdbCollection" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "createCollection", - "group": "collections", - "weight": 879, + "method": "deleteMembership", + "group": "memberships", + "weight": 1261, "cookies": false, "type": "", - "demo": "vectorsdb\/create-collection.md", + "demo": "teams\/delete-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -72757,114 +69989,73 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "Key": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "collectionId": { - "type": "string", - "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<COLLECTION_ID>" - }, - "name": { - "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "dimension": { - "type": "integer", - "description": "Embedding dimension.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false - } - }, - "required": [ - "collectionId", - "name", - "dimension" - ] - } + "name": "membershipId", + "description": "Membership ID.", + "required": true, + "type": "string", + "x-example": "<MEMBERSHIP_ID>", + "in": "path" } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}": { - "get": { - "summary": "Get collection", - "operationId": "vectorsDBGetCollection", - "consumes": [], + "\/teams\/{teamId}\/memberships\/{membershipId}\/status": { + "patch": { + "summary": "Update team membership status", + "operationId": "teamsUpdateMembershipStatus", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "description": "Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user.\n\nIf the request is successful, a session for the user is automatically created.\n", "responses": { "200": { - "description": "VectorsDB Collection", + "description": "Membership", "schema": { - "$ref": "#\/definitions\/vectorsdbCollection" + "$ref": "#\/definitions\/membership" } } }, "deprecated": false, "x-appwrite": { - "method": "getCollection", - "group": "collections", - "weight": 880, + "method": "updateMembershipStatus", + "group": "memberships", + "weight": 541, "cookies": false, "type": "", - "demo": "vectorsdb\/get-collection.md", + "demo": "teams\/update-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "public", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -72872,68 +70063,93 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", + "name": "membershipId", + "description": "Membership ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<MEMBERSHIP_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "secret": { + "type": "string", + "description": "Secret key.", + "x-example": "<SECRET>" + } + }, + "required": [ + "userId", + "secret" + ] + } } ] - }, - "put": { - "summary": "Update collection", - "operationId": "vectorsDBUpdateCollection", - "consumes": [ - "application\/json" - ], + } + }, + "\/teams\/{teamId}\/prefs": { + "get": { + "summary": "Get team preferences", + "operationId": "teamsGetPrefs", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Update a collection by its unique ID.", + "description": "Get the team's shared preferences by its unique ID. If a preference doesn't need to be shared by all team members, prefer storing them in [user preferences](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#getPrefs).", "responses": { "200": { - "description": "VectorsDB Collection", + "description": "Preferences", "schema": { - "$ref": "#\/definitions\/vectorsdbCollection" + "$ref": "#\/definitions\/preferences" } } }, "deprecated": false, "x-appwrite": { - "method": "updateCollection", - "group": "collections", - "weight": 881, + "method": "getPrefs", + "group": "teams", + "weight": 534, "cookies": false, "type": "", - "demo": "vectorsdb\/update-collection.md", + "demo": "teams\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.read", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -72941,109 +70157,62 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TEAM_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Collection name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "dimension": { - "type": "integer", - "description": "Embedding dimensions.", - "default": null, - "x-example": 1, - "format": "int32" - }, - "permissions": { - "type": "array", - "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "documentSecurity": { - "type": "boolean", - "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false - }, - "enabled": { - "type": "boolean", - "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false - } - }, - "required": [ - "name" - ] - } } ] }, - "delete": { - "summary": "Delete collection", - "operationId": "vectorsDBDeleteCollection", + "put": { + "summary": "Update team preferences", + "operationId": "teamsUpdatePrefs", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "vectorsDB" + "teams" ], - "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "description": "Update the team's preferences by its unique ID. The object you pass is stored as is and replaces any previous value. The maximum allowed prefs size is 64kB and throws an error if exceeded.", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Preferences", + "schema": { + "$ref": "#\/definitions\/preferences" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteCollection", - "group": "collections", - "weight": 882, + "method": "updatePrefs", + "group": "teams", + "weight": 535, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-collection.md", + "demo": "teams\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "teams.write", "platforms": [ "console", + "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-collection.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } @@ -73051,69 +70220,78 @@ "security": [ { "Project": [], - "Key": [] + "Session": [], + "JWT": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "teamId", + "description": "Team ID.", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<TEAM_ID>", "in": "path" }, { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "prefs": { + "type": "object", + "description": "Prefs key-value JSON object.", + "x-example": "{}", + "default": {} + } + }, + "required": [ + "prefs" + ] + } } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents": { + "\/tokens\/buckets\/{bucketId}\/files\/{fileId}": { "get": { - "summary": "List documents", - "operationId": "vectorsDBListDocuments", + "summary": "List tokens", + "operationId": "tokensList", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "tokens" ], - "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "description": "List all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "responses": { "200": { - "description": "Documents List", + "description": "Resource Tokens List", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/resourceTokenList" } } }, "deprecated": false, "x-appwrite": { - "method": "listDocuments", - "group": "documents", - "weight": 893, + "method": "list", + "group": "files", + "weight": 545, "cookies": false, "type": "", - "demo": "vectorsdb\/list-documents.md", + "demo": "tokens\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "scope": "tokens.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-documents.md", "auth": { "Project": [] } @@ -73121,31 +70299,29 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "fileId", + "description": "File unique ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: expire", "required": false, "type": "array", "collectionFormat": "multi", @@ -73155,14 +70331,6 @@ "default": [], "in": "query" }, - { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", - "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -73171,22 +70339,12 @@ "x-example": false, "default": true, "in": "query" - }, - { - "name": "ttl", - "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 0, - "default": 0, - "in": "query" } ] }, "post": { - "summary": "Create document", - "operationId": "vectorsDBCreateDocument", + "summary": "Create file token", + "operationId": "tokensCreateFileToken", "consumes": [ "application\/json" ], @@ -73194,96 +70352,35 @@ "application\/json" ], "tags": [ - "vectorsDB" + "tokens" ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "responses": { "201": { - "description": "Document", + "description": "ResourceToken", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/resourceToken" } } }, "deprecated": false, "x-appwrite": { - "method": "createDocument", - "group": "documents", - "weight": 889, + "method": "createFileToken", + "group": "files", + "weight": 543, "cookies": false, "type": "", - "demo": "vectorsdb\/create-document.md", - "rate-limit": 120, + "demo": "tokens\/create-file-token.md", + "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "scope": "tokens.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", - "methods": [ - { - "name": "createDocument", - "namespace": "vectorsDB", - "desc": "Create document", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions" - ], - "required": [ - "databaseId", - "collectionId", - "documentId", - "data" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-document.md", - "public": true - }, - { - "name": "createDocuments", - "namespace": "vectorsDB", - "desc": "Create documents", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/documentList" - } - ], - "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/create-documents.md", - "public": true - } - ], "auth": { "Project": [] } @@ -73291,26 +70388,24 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", + "name": "bucketId", + "description": "Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https:\/\/appwrite.io\/docs\/server\/storage#createBucket).", "required": true, "type": "string", - "x-example": "<DATABASE_ID>", + "x-example": "<BUCKET_ID>", "in": "path" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "name": "fileId", + "description": "File unique ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<FILE_ID>", "in": "path" }, { @@ -73319,117 +70414,57 @@ "schema": { "type": "object", "properties": { - "documentId": { - "type": "string", - "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" - }, - "data": { - "type": "object", - "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "documents": { - "type": "array", - "description": "Array of documents data as JSON objects.", - "default": [], - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { + "expire": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "Token expiry date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } } } } ] - }, - "put": { - "summary": "Upsert documents", - "operationId": "vectorsDBUpsertDocuments", - "consumes": [ - "application\/json" - ], + } + }, + "\/tokens\/{tokenId}": { + "get": { + "summary": "Get token", + "operationId": "tokensGet", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "tokens" ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "description": "Get a token by its unique ID.", "responses": { - "201": { - "description": "Documents List", + "200": { + "description": "ResourceToken", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/resourceToken" } } }, "deprecated": false, "x-appwrite": { - "method": "upsertDocuments", - "group": "documents", - "weight": 896, + "method": "get", + "group": "tokens", + "weight": 544, "cookies": false, "type": "", - "demo": "vectorsdb\/upsert-documents.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "tokens\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "tokens.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-documents.md", - "methods": [ - { - "name": "upsertDocuments", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documents", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documents" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/documentList" - } - ], - "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", - "demo": "vectorsdb\/upsert-documents.md", - "public": true - } - ], "auth": { "Project": [] } @@ -73442,53 +70477,18 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "tokenId", + "description": "Token ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TOKEN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "documents": { - "type": "array", - "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, - "x-example": null, - "items": { - "type": "object" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" - } - }, - "required": [ - "documents" - ] - } } ] }, "patch": { - "summary": "Update documents", - "operationId": "vectorsDBUpdateDocuments", + "summary": "Update token", + "operationId": "tokensUpdate", "consumes": [ "application\/json" ], @@ -73496,36 +70496,35 @@ "application\/json" ], "tags": [ - "vectorsDB" + "tokens" ], - "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "description": "Update a token by its unique ID. Use this endpoint to update a token's expiry date.", "responses": { "200": { - "description": "Documents List", + "description": "ResourceToken", "schema": { - "$ref": "#\/definitions\/documentList" + "$ref": "#\/definitions\/resourceToken" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDocuments", - "group": "documents", - "weight": 895, + "method": "update", + "group": "tokens", + "weight": 546, "cookies": false, "type": "", - "demo": "vectorsdb\/update-documents.md", - "rate-limit": 120, + "demo": "tokens\/update.md", + "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "scope": "tokens.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-documents.md", "auth": { "Project": [] } @@ -73538,19 +70537,11 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", + "name": "tokenId", + "description": "Token unique ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TOKEN_ID>", "in": "path" }, { @@ -73559,26 +70550,12 @@ "schema": { "type": "object", "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{}" - }, - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { + "expire": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "File token expiry date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime", + "x-nullable": true } } } @@ -73586,45 +70563,39 @@ ] }, "delete": { - "summary": "Delete documents", - "operationId": "vectorsDBDeleteDocuments", + "summary": "Delete token", + "operationId": "tokensDelete", "consumes": [ "application\/json" ], - "produces": [ - "application\/json" - ], + "produces": [], "tags": [ - "vectorsDB" + "tokens" ], - "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "description": "Delete a token by its unique ID.", "responses": { - "200": { - "description": "Documents List", - "schema": { - "$ref": "#\/definitions\/documentList" - } + "204": { + "description": "No content" } }, "deprecated": false, "x-appwrite": { - "method": "deleteDocuments", - "group": "documents", - "weight": 897, + "method": "delete", + "group": "tokens", + "weight": 547, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-documents.md", + "demo": "tokens\/delete.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "scope": "tokens.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-documents.md", "auth": { "Project": [] } @@ -73637,88 +70608,54 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "name": "tokenId", + "description": "Token ID.", "required": true, "type": "string", - "x-example": "<COLLECTION_ID>", + "x-example": "<TOKEN_ID>", "in": "path" - }, - { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "queries": { - "type": "array", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], - "x-example": null, - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" - } - } - } } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "\/usage\/events": { "get": { - "summary": "Get document", - "operationId": "vectorsDBGetDocument", + "summary": "List usage events", + "operationId": "usageListEvents", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "usage" ], - "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "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.", "responses": { "200": { - "description": "Document", + "description": "Usage events list", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/usageEventList" } } }, "deprecated": false, "x-appwrite": { - "method": "getDocument", - "group": "documents", - "weight": 892, + "method": "listEvents", + "group": "events", + "weight": 1273, "cookies": false, "type": "", - "demo": "vectorsdb\/get-document.md", - "rate-limit": 0, - "rate-time": 3600, - "rate-key": "url:{url},ip:{ip}", - "scope": "documents.read", + "demo": "usage\/list-events.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-document.md", "auth": { "Project": [] } @@ -73726,39 +70663,13 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, { "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "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).", "required": false, "type": "array", "collectionFormat": "multi", @@ -73769,88 +70680,55 @@ "in": "query" }, { - "name": "transactionId", - "description": "Transaction ID to read uncommitted changes within the transaction.", + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", "required": false, - "type": "string", - "x-example": "<TRANSACTION_ID>", + "type": "boolean", + "x-example": false, + "default": true, "in": "query" } ] - }, - "put": { - "summary": "Upsert a document", - "operationId": "vectorsDBUpsertDocument", - "consumes": [ - "application\/json" - ], + } + }, + "\/usage\/gauges": { + "get": { + "summary": "List usage gauges", + "operationId": "usageListGauges", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "usage" ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, and timestamp. 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.", "responses": { - "201": { - "description": "Document", + "200": { + "description": "Usage gauges list", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/usageGaugeList" } } }, "deprecated": false, "x-appwrite": { - "method": "upsertDocument", - "group": "documents", - "weight": 891, + "method": "listGauges", + "group": "gauges", + "weight": 1274, "cookies": false, "type": "", - "demo": "vectorsdb\/upsert-document.md", - "rate-limit": 120, + "demo": "usage\/list-gauges.md", + "rate-limit": 60, "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-document.md", - "methods": [ - { - "name": "upsertDocument", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "collectionId", - "documentId", - "data", - "permissions", - "transactionId" - ], - "required": [ - "databaseId", - "collectionId", - "documentId" - ], - "responses": [ - { - "code": 201, - "model": "#\/definitions\/document" - } - ], - "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", - "demo": "vectorsdb\/upsert-document.md", - "public": true - } - ], "auth": { "Project": [] } @@ -73858,109 +70736,73 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" - } - } - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - }, - "patch": { - "summary": "Update document", - "operationId": "vectorsDBUpdateDocument", - "consumes": [ - "application\/json" - ], + } + }, + "\/users": { + "get": { + "summary": "List users", + "operationId": "usersList", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "description": "Get a list of all the project's users. You can use the query params to filter your results.", "responses": { "200": { - "description": "Document", + "description": "Users List", "schema": { - "$ref": "#\/definitions\/document" + "$ref": "#\/definitions\/userList" } } }, "deprecated": false, "x-appwrite": { - "method": "updateDocument", - "group": "documents", - "weight": 890, + "method": "list", + "group": "users", + "weight": 70, "cookies": false, "type": "", - "demo": "vectorsdb\/update-document.md", - "rate-limit": 120, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -73968,104 +70810,82 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "documentId", - "description": "Document ID.", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "payload", - "in": "body", - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" - }, - "permissions": { - "type": "array", - "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, - "x-example": "[\"read(\"any\")\"]", - "items": { - "type": "string" - } - }, - "transactionId": { - "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" - } - } - } + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] }, - "delete": { - "summary": "Delete document", - "operationId": "vectorsDBDeleteDocument", + "post": { + "summary": "Create user", + "operationId": "usersCreate", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "vectorsDB" + "users" ], - "description": "Delete a document by its unique ID.", + "description": "Create a new user.", "responses": { - "204": { - "description": "No content" + "201": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } } }, "deprecated": false, "x-appwrite": { - "method": "deleteDocument", - "group": "documents", - "weight": 894, + "method": "create", + "group": "users", + "weight": 61, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-document.md", - "rate-limit": 60, - "rate-time": 60, - "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", - "scope": "documents.write", + "demo": "users\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", "platforms": [ "console", - "client", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-document.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -74073,93 +70893,97 @@ "security": [ { "Project": [], - "Session": [], - "Key": [], - "JWT": [] + "Key": [] } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "documentId", - "description": "Document ID.", - "required": true, - "type": "string", - "x-example": "<DOCUMENT_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "transactionId": { + "userId": { "type": "string", - "description": "Transaction ID for staging the operation.", - "default": null, - "x-example": "<TRANSACTION_ID>" + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email", + "x-nullable": true + }, + "phone": { + "type": "string", + "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", + "x-example": "+12065550100", + "format": "phone", + "x-nullable": true + }, + "password": { + "type": "string", + "description": "Plain text user password. Must be at least 8 chars.", + "x-example": null, + "default": "" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" } - } + }, + "required": [ + "userId" + ] } } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { - "get": { - "summary": "List indexes", - "operationId": "vectorsDBListIndexes", - "consumes": [], + "\/users\/argon2": { + "post": { + "summary": "Create user with Argon2 password", + "operationId": "usersCreateArgon2User", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "List indexes in the collection.", + "description": "Create a new user. Password provided must be hashed with the [Argon2](https:\/\/en.wikipedia.org\/wiki\/Argon2) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "Indexes List", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/indexList" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "listIndexes", - "group": "indexes", - "weight": 888, + "method": "createArgon2User", + "group": "users", + "weight": 64, "cookies": false, "type": "", - "demo": "vectorsdb\/list-indexes.md", + "demo": "users\/create-argon-2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-indexes.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } @@ -74172,47 +70996,49 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using Argon2.", + "x-example": "password", + "format": "password" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } } ] - }, + } + }, + "\/users\/bcrypt": { "post": { - "summary": "Create index", - "operationId": "vectorsDBCreateIndex", + "summary": "Create user with bcrypt password", + "operationId": "usersCreateBcryptUser", "consumes": [ "application\/json" ], @@ -74220,36 +71046,36 @@ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "description": "Create a new user. Password provided must be hashed with the [Bcrypt](https:\/\/en.wikipedia.org\/wiki\/Bcrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "202": { - "description": "Index", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "createIndex", - "group": "indexes", - "weight": 885, + "method": "createBcryptUser", + "group": "users", + "weight": 62, "cookies": false, "type": "", - "demo": "vectorsdb\/create-index.md", + "demo": "users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -74261,133 +71087,85 @@ } ], "parameters": [ - { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, { "name": "payload", "in": "body", "schema": { "type": "object", "properties": { - "key": { + "userId": { "type": "string", - "description": "Index Key.", - "default": null, - "x-example": null + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" }, - "type": { + "email": { "type": "string", - "description": "Index type.", - "default": null, - "x-example": "hnsw_euclidean", - "enum": [ - "hnsw_euclidean", - "hnsw_dot", - "hnsw_cosine", - "object", - "key", - "unique" - ], - "x-enum-name": "VectorsDBIndexType", - "x-enum-keys": [] - }, - "attributes": { - "type": "array", - "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } + "description": "User email.", + "x-example": "email@example.com", + "format": "email" }, - "orders": { - "type": "array", - "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], - "x-example": null, - "items": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "x-enum-name": "OrderBy", - "x-enum-keys": [] - } + "password": { + "type": "string", + "description": "User password hashed using Bcrypt.", + "x-example": "password", + "format": "password" }, - "lengths": { - "type": "array", - "description": "Length of index. Maximum of 100", - "default": [], - "x-example": null, - "items": { - "type": "integer" - } + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" } }, "required": [ - "key", - "type", - "attributes" + "userId", + "email", + "password" ] } } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "\/users\/identities": { "get": { - "summary": "Get index", - "operationId": "vectorsDBGetIndex", + "summary": "List identities", + "operationId": "usersListIdentities", "consumes": [], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "Get index by ID.", + "description": "Get identities for all users.", "responses": { "200": { - "description": "Index", + "description": "Identities List", "schema": { - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/identityList" } } }, "deprecated": false, "x-appwrite": { - "method": "getIndex", - "group": "indexes", - "weight": 886, + "method": "listIdentities", + "group": "identities", + "weight": 78, "cookies": false, "type": "", - "demo": "vectorsdb\/get-index.md", + "demo": "users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -74400,41 +71178,50 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" }, { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "x-example": "<SEARCH>", + "default": "", + "in": "query" }, { - "name": "key", - "description": "Index Key.", - "required": true, - "type": "string", - "in": "path" + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] - }, + } + }, + "\/users\/identities\/{identityId}": { "delete": { - "summary": "Delete index", - "operationId": "vectorsDBDeleteIndex", + "summary": "Delete identity", + "operationId": "usersDeleteIdentity", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "vectorsDB" + "users" ], - "description": "Delete an index.", + "description": "Delete an identity by its unique ID.", "responses": { "204": { "description": "No content" @@ -74442,23 +71229,23 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteIndex", - "group": "indexes", - "weight": 887, + "method": "deleteIdentity", + "group": "identities", + "weight": 102, "cookies": false, "type": "", - "demo": "vectorsdb\/delete-index.md", + "demo": "users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-index.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -74471,261 +71258,241 @@ ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "collectionId", - "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" - }, - { - "name": "key", - "description": "Index Key.", + "name": "identityId", + "description": "Identity ID.", "required": true, "type": "string", + "x-example": "<IDENTITY_ID>", "in": "path" } ] } }, - "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/usage": { - "get": { - "summary": "Get collection usage stats", - "operationId": "vectorsDBGetCollectionUsage", - "consumes": [], + "\/users\/md5": { + "post": { + "summary": "Create user with MD5 password", + "operationId": "usersCreateMD5User", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a new user. Password provided must be hashed with the [MD5](https:\/\/en.wikipedia.org\/wiki\/MD5) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "UsageCollection", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/usageCollection" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "getCollectionUsage", - "group": null, - "weight": 884, + "method": "createMD5User", + "group": "users", + "weight": 63, "cookies": false, "type": "", - "demo": "vectorsdb\/get-collection-usage.md", + "demo": "users\/create-md-5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection-usage.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" - }, - { - "name": "collectionId", - "description": "Collection ID.", - "required": true, - "type": "string", - "x-example": "<COLLECTION_ID>", - "in": "path" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using MD5.", + "x-example": "password", + "format": "password" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } } ] } }, - "\/vectorsdb\/{databaseId}\/usage": { - "get": { - "summary": "Get VectorsDB usage stats", - "operationId": "vectorsDBGetUsage", - "consumes": [], + "\/users\/phpass": { + "post": { + "summary": "Create user with PHPass password", + "operationId": "usersCreatePHPassUser", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "vectorsDB" + "users" ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "description": "Create a new user. Password provided must be hashed with the [PHPass](https:\/\/www.openwall.com\/phpass\/) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "UsageVectorsDB", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/usageVectorsDB" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "getUsage", - "group": null, - "weight": 877, + "method": "createPHPassUser", + "group": "users", + "weight": 66, "cookies": false, "type": "", - "demo": "vectorsdb\/get-usage.md", + "demo": "users\/create-ph-pass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "collections.read", + "scope": "users.write", "platforms": [ - "console" + "console", + "server" ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-database-usage.md", - "methods": [ - { - "name": "getUsage", - "namespace": "vectorsDB", - "desc": "", - "auth": { - "Project": [] - }, - "parameters": [ - "databaseId", - "range" - ], - "required": [ - "databaseId" - ], - "responses": [ - { - "code": 200, - "model": "#\/definitions\/usageVectorsDB" - } - ], - "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", - "demo": "vectorsdb\/get-usage.md", - "public": true - } - ], + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } }, "security": [ { - "Project": [] + "Project": [], + "Key": [] } ], "parameters": [ { - "name": "databaseId", - "description": "Database ID.", - "required": true, - "type": "string", - "x-example": "<DATABASE_ID>", - "in": "path" - }, - { - "name": "range", - "description": "Date range.", - "required": false, - "type": "string", - "x-example": "24h", - "enum": [ - "24h", - "30d", - "90d" - ], - "x-enum-name": "UsageRange", - "x-enum-keys": [ - "Twenty Four Hours", - "Thirty Days", - "Ninety Days" - ], - "default": "30d", - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using PHPass.", + "x-example": "password", + "format": "password" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } } ] } }, - "\/webhooks": { - "get": { - "summary": "List webhooks", - "operationId": "webhooksList", - "consumes": [], + "\/users\/scrypt": { + "post": { + "summary": "Create user with Scrypt password", + "operationId": "usersCreateScryptUser", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "webhooks" + "users" ], - "description": "Get a list of all webhooks belonging to the project. You can use the query params to filter your results.", + "description": "Create a new user. Password provided must be hashed with the [Scrypt](https:\/\/github.com\/Tarsnap\/scrypt) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "Webhooks List", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/webhookList" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "list", - "group": null, - "weight": 571, + "method": "createScryptUser", + "group": "users", + "weight": 67, "cookies": false, "type": "", - "demo": "webhooks\/list.md", + "demo": "users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -74738,31 +71505,83 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts", - "required": false, - "type": "array", - "collectionFormat": "multi", - "items": { - "type": "string" - }, - "default": [], - "in": "query" - }, - { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", - "required": false, - "type": "boolean", - "x-example": false, - "default": true, - "in": "query" + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using Scrypt.", + "x-example": "password", + "format": "password" + }, + "passwordSalt": { + "type": "string", + "description": "Optional salt used to hash password.", + "x-example": "<PASSWORD_SALT>" + }, + "passwordCpu": { + "type": "integer", + "description": "Optional CPU cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordMemory": { + "type": "integer", + "description": "Optional memory cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordParallel": { + "type": "integer", + "description": "Optional parallelization cost used to hash password.", + "x-example": null, + "format": "int32" + }, + "passwordLength": { + "type": "integer", + "description": "Optional hash length used to hash password.", + "x-example": null, + "format": "int32" + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "userId", + "email", + "password", + "passwordSalt", + "passwordCpu", + "passwordMemory", + "passwordParallel", + "passwordLength" + ] + } } ] - }, + } + }, + "\/users\/scrypt-modified": { "post": { - "summary": "Create webhook", - "operationId": "webhooksCreate", + "summary": "Create user with Scrypt modified password", + "operationId": "usersCreateScryptModifiedUser", "consumes": [ "application\/json" ], @@ -74770,35 +71589,36 @@ "application\/json" ], "tags": [ - "webhooks" + "users" ], - "description": "Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.", + "description": "Create a new user. Password provided must be hashed with the [Scrypt Modified](https:\/\/gist.github.com\/Meldiron\/eecf84a0225eccb5a378d45bb27462cc) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { "201": { - "description": "Webhook", + "description": "User", "schema": { - "$ref": "#\/definitions\/webhook" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "create", - "group": null, - "weight": 570, + "method": "createScryptModifiedUser", + "group": "users", + "weight": 68, "cookies": false, "type": "", - "demo": "webhooks\/create.md", + "demo": "users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -74816,114 +71636,99 @@ "schema": { "type": "object", "properties": { - "webhookId": { + "userId": { "type": "string", - "description": "Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, - "x-example": "<WEBHOOK_ID>" + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" }, - "url": { + "email": { "type": "string", - "description": "Webhook URL.", - "default": null, - "x-example": null + "description": "User email.", + "x-example": "email@example.com", + "format": "email" }, - "name": { + "password": { "type": "string", - "description": "Webhook name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "enabled": { - "type": "boolean", - "description": "Enable or disable a webhook.", - "default": true, - "x-example": false + "description": "User password hashed using Scrypt Modified.", + "x-example": "password", + "format": "password" }, - "tls": { - "type": "boolean", - "description": "Certificate verification, false for disabled or true for enabled.", - "default": false, - "x-example": false + "passwordSalt": { + "type": "string", + "description": "Salt used to hash password.", + "x-example": "<PASSWORD_SALT>" }, - "authUsername": { + "passwordSaltSeparator": { "type": "string", - "description": "Webhook HTTP user. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_USERNAME>" + "description": "Salt separator used to hash password.", + "x-example": "<PASSWORD_SALT_SEPARATOR>" }, - "authPassword": { + "passwordSignerKey": { "type": "string", - "description": "Webhook HTTP password. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_PASSWORD>" + "description": "Signer key used to hash password.", + "x-example": "<PASSWORD_SIGNER_KEY>" }, - "secret": { + "name": { "type": "string", - "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "default": null, - "x-example": "<SECRET>", - "x-nullable": true + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" } }, "required": [ - "webhookId", - "url", - "name", - "events" + "userId", + "email", + "password", + "passwordSalt", + "passwordSaltSeparator", + "passwordSignerKey" ] } } ] } }, - "\/webhooks\/{webhookId}": { - "get": { - "summary": "Get webhook", - "operationId": "webhooksGet", - "consumes": [], + "\/users\/sha": { + "post": { + "summary": "Create user with SHA password", + "operationId": "usersCreateSHAUser", + "consumes": [ + "application\/json" + ], "produces": [ "application\/json" ], "tags": [ - "webhooks" + "users" ], - "description": "Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. ", + "description": "Create a new user. Password provided must be hashed with the [SHA](https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithm) algorithm. Use the [POST \/users](https:\/\/appwrite.io\/docs\/server\/users#usersCreate) endpoint to create users with a plain text password.", "responses": { - "200": { - "description": "Webhook", + "201": { + "description": "User", "schema": { - "$ref": "#\/definitions\/webhook" + "$ref": "#\/definitions\/user" } } }, "deprecated": false, "x-appwrite": { - "method": "get", - "group": null, - "weight": 572, + "method": "createSHAUser", + "group": "users", + "weight": 65, "cookies": false, "type": "", - "demo": "webhooks\/get.md", + "demo": "users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.read", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -74936,54 +71741,175 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", - "required": true, - "type": "string", - "x-example": "<WEBHOOK_ID>", - "in": "path" - } - ] - }, - "put": { - "summary": "Update webhook", - "operationId": "webhooksUpdate", - "consumes": [ - "application\/json" - ], - "produces": [ - "application\/json" - ], - "tags": [ - "webhooks" - ], - "description": "Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.", - "responses": { - "200": { - "description": "Webhook", + "name": "payload", + "in": "body", "schema": { - "$ref": "#\/definitions\/webhook" - } - } - }, + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "password": { + "type": "string", + "description": "User password hashed using SHA.", + "x-example": "password", + "format": "password" + }, + "passwordVersion": { + "type": "string", + "description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512\/224', 'sha512\/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'", + "x-example": "sha1", + "enum": [ + "sha1", + "sha224", + "sha256", + "sha384", + "sha512\/224", + "sha512\/256", + "sha512", + "sha3-224", + "sha3-256", + "sha3-384", + "sha3-512" + ], + "x-enum-name": "PasswordHash", + "x-enum-keys": [] + }, + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "userId", + "email", + "password" + ] + } + } + ] + } + }, + "\/users\/usage": { + "get": { + "summary": "Get users usage stats", + "operationId": "usersGetUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get usage metrics and statistics for all users in the project. You can view the total number of users and sessions. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.\n", + "responses": { + "200": { + "description": "UsageUsers", + "schema": { + "$ref": "#\/definitions\/usageUsers" + } + } + }, "deprecated": false, "x-appwrite": { - "method": "update", + "method": "getUsage", "group": null, - "weight": 574, + "weight": 104, "cookies": false, "type": "", - "demo": "webhooks\/update.md", + "demo": "users\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": "users.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + } + ] + } + }, + "\/users\/{userId}": { + "get": { + "summary": "Get user", + "operationId": "usersGet", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get a user by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "users", + "weight": 71, + "cookies": false, + "type": "", + "demo": "users\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -74996,11 +71922,130 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "type": "string", - "x-example": "<WEBHOOK_ID>", + "x-example": "<USER_ID>", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete user", + "operationId": "usersDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "users" + ], + "description": "Delete a user by its unique ID, thereby releasing it's ID. Since ID is released and can be reused, all user-related resources like documents or storage files should be deleted before user deletion. If you want to keep ID reserved, use the [updateStatus](https:\/\/appwrite.io\/docs\/server\/users#usersUpdateStatus) endpoint instead.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "users", + "weight": 100, + "cookies": false, + "type": "", + "demo": "users\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/email": { + "patch": { + "summary": "Update email", + "operationId": "usersUpdateEmail", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user email by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateEmail", + "group": "users", + "weight": 85, + "cookies": false, + "type": "", + "demo": "users\/update-email.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", "in": "path" }, { @@ -75009,95 +72054,62 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Webhook name. Max length: 128 chars.", - "default": null, - "x-example": "<NAME>" - }, - "url": { - "type": "string", - "description": "Webhook URL.", - "default": null, - "x-example": null - }, - "events": { - "type": "array", - "description": "Events list. Maximum of 100 events are allowed.", - "default": null, - "x-example": null, - "items": { - "type": "string" - } - }, - "enabled": { - "type": "boolean", - "description": "Enable or disable a webhook.", - "default": true, - "x-example": false - }, - "tls": { - "type": "boolean", - "description": "Certificate verification, false for disabled or true for enabled.", - "default": false, - "x-example": false - }, - "authUsername": { - "type": "string", - "description": "Webhook HTTP user. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_USERNAME>" - }, - "authPassword": { + "email": { "type": "string", - "description": "Webhook HTTP password. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_PASSWORD>" + "description": "User email.", + "x-example": "email@example.com", + "format": "email" } }, "required": [ - "name", - "url", - "events" + "email" ] } } ] - }, - "delete": { - "summary": "Delete webhook", - "operationId": "webhooksDelete", + } + }, + "\/users\/{userId}\/impersonator": { + "patch": { + "summary": "Update user impersonator capability", + "operationId": "usersUpdateImpersonator", "consumes": [ "application\/json" ], - "produces": [], + "produces": [ + "application\/json" + ], "tags": [ - "webhooks" + "users" ], - "description": "Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. ", + "description": "Enable or disable whether a user can impersonate other users. When impersonation headers are used, the request runs as the target user for API behavior, while internal audit logs still attribute the action to the original impersonator and store the impersonated target details only in internal audit payload data.\n", "responses": { - "204": { - "description": "No content" + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } } }, "deprecated": false, "x-appwrite": { - "method": "delete", - "group": null, - "weight": 573, + "method": "updateImpersonator", + "group": "users", + "weight": 81, "cookies": false, "type": "", - "demo": "webhooks\/delete.md", + "demo": "users\/update-impersonator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-impersonator.md", "auth": { "Project": [] } @@ -75110,20 +72122,37 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "type": "string", - "x-example": "<WEBHOOK_ID>", + "x-example": "<USER_ID>", "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "impersonator": { + "type": "boolean", + "description": "Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.", + "x-example": false + } + }, + "required": [ + "impersonator" + ] + } } ] } }, - "\/webhooks\/{webhookId}\/secret": { - "patch": { - "summary": "Update webhook secret key", - "operationId": "webhooksUpdateSecret", + "\/users\/{userId}\/jwts": { + "post": { + "summary": "Create user JWT", + "operationId": "usersCreateJWT", "consumes": [ "application\/json" ], @@ -75131,35 +72160,36 @@ "application\/json" ], "tags": [ - "webhooks" + "users" ], - "description": "Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.", + "description": "Use this endpoint to create a JSON Web Token for user by its unique ID. You can use the resulting JWT to authenticate on behalf of the user. The JWT secret will become invalid if the session it uses gets deleted.", "responses": { - "200": { - "description": "Webhook", + "201": { + "description": "JWT", "schema": { - "$ref": "#\/definitions\/webhook" + "$ref": "#\/definitions\/jwt" } } }, "deprecated": false, "x-appwrite": { - "method": "updateSecret", - "group": null, - "weight": 575, + "method": "createJWT", + "group": "sessions", + "weight": 103, "cookies": false, "type": "", - "demo": "webhooks\/update-secret.md", + "demo": "users\/create-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "webhooks.write", + "scope": "users.write", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [] } @@ -75172,11 +72202,11 @@ ], "parameters": [ { - "name": "webhookId", - "description": "Webhook ID.", + "name": "userId", + "description": "User ID.", "required": true, "type": "string", - "x-example": "<WEBHOOK_ID>", + "x-example": "<USER_ID>", "in": "path" }, { @@ -75185,100 +72215,6856 @@ "schema": { "type": "object", "properties": { - "secret": { + "sessionId": { "type": "string", - "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "default": null, - "x-example": "<SECRET>", - "x-nullable": true + "description": "Session ID. Use the string 'recent' to use the most recent session. Defaults to the most recent session.", + "x-example": "<SESSION_ID>", + "default": "" + }, + "duration": { + "type": "integer", + "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", + "x-example": 0, + "default": 900, + "format": "int32" } } } } ] } - } - }, - "tags": [ - { - "name": "account", - "description": "The Account service allows you to authenticate and manage a user account." - }, - { - "name": "avatars", - "description": "The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars." - }, - { - "name": "databases", - "description": "The Databases service allows you to create structured collections of documents, query and filter lists of documents" - }, - { - "name": "tablesdb", - "description": "The TablesDB service allows you to create structured tables of columns, query and filter lists of rows" - }, - { - "name": "locale", - "description": "The Locale service allows you to customize your app based on your users' location." - }, - { - "name": "health", - "description": "The Health service allows you to both validate and monitor your Appwrite server's health." - }, - { - "name": "projects", - "description": "The Project service allows you to manage all the projects in your Appwrite server." - }, - { - "name": "project", - "description": "The Project service allows you to manage all the projects in your Appwrite server." - }, - { - "name": "storage", - "description": "The Storage service allows you to manage your project files." - }, - { - "name": "teams", - "description": "The Teams service allows you to group users of your project and to enable them to share read and write access to your project resources" - }, - { - "name": "users", - "description": "The Users service allows you to manage your project users." - }, - { - "name": "sites", - "description": "The Sites Service allows you view, create and manage your web applications." - }, - { - "name": "functions", - "description": "The Functions Service allows you view, create and manage your Cloud Functions." - }, - { - "name": "proxy", - "description": "The Proxy Service allows you to configure actions for your domains beyond DNS configuration." - }, - { - "name": "graphql", - "description": "The GraphQL API allows you to query and mutate your Appwrite server using GraphQL." - }, - { - "name": "console", - "description": "The Console service allows you to interact with console relevant information." - }, - { - "name": "migrations", - "description": "The Migrations service allows you to migrate third-party data to your Appwrite project." }, - { - "name": "messaging", - "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." - } - ], - "definitions": { - "any": { - "description": "Any", - "type": "object", - "additionalProperties": true, - "example": [] + "\/users\/{userId}\/labels": { + "put": { + "summary": "Update user labels", + "operationId": "usersUpdateLabels", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user labels by its unique ID. \n\nLabels can be used to grant access to resources. While teams are a way for user's to share access to a resource, labels can be defined by the developer to grant access without an invitation. See the [Permissions docs](https:\/\/appwrite.io\/docs\/permissions) for more info.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateLabels", + "group": "users", + "weight": 80, + "cookies": false, + "type": "", + "demo": "users\/update-labels.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "labels": { + "type": "array", + "description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", + "x-example": null, + "items": { + "type": "string" + } + } + }, + "required": [ + "labels" + ] + } + } + ] + } + }, + "\/users\/{userId}\/logs": { + "get": { + "summary": "List user logs", + "operationId": "usersListLogs", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get the user activity logs list by its unique ID.", + "responses": { + "200": { + "description": "Logs List", + "schema": { + "$ref": "#\/definitions\/logList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listLogs", + "group": "logs", + "weight": 76, + "cookies": false, + "type": "", + "demo": "users\/list-logs.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, + "\/users\/{userId}\/memberships": { + "get": { + "summary": "List user memberships", + "operationId": "usersListMemberships", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get the user membership list by its unique ID.", + "responses": { + "200": { + "description": "Memberships List", + "schema": { + "$ref": "#\/definitions\/membershipList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listMemberships", + "group": "memberships", + "weight": 75, + "cookies": false, + "type": "", + "demo": "users\/list-memberships.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm, roles", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, + "\/users\/{userId}\/mfa": { + "patch": { + "summary": "Update MFA", + "operationId": "usersUpdateMfa", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Enable or disable MFA on a user account.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "updateMfa", + "group": "users", + "weight": 90, + "cookies": false, + "type": "", + "demo": "users\/update-mfa.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFA" + }, + "methods": [ + { + "name": "updateMfa", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "mfa" + ], + "required": [ + "userId", + "mfa" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/user" + } + ], + "description": "Enable or disable MFA on a user account.", + "demo": "users\/update-mfa.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFA" + } + }, + { + "name": "updateMFA", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "mfa" + ], + "required": [ + "userId", + "mfa" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/user" + } + ], + "description": "Enable or disable MFA on a user account.", + "demo": "users\/update-mfa.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "mfa": { + "type": "boolean", + "description": "Enable or disable MFA.", + "x-example": false + } + }, + "required": [ + "mfa" + ] + } + } + ] + } + }, + "\/users\/{userId}\/mfa\/authenticators\/{type}": { + "delete": { + "summary": "Delete authenticator", + "operationId": "usersDeleteMfaAuthenticator", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "users" + ], + "description": "Delete an authenticator app.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": true, + "x-appwrite": { + "method": "deleteMfaAuthenticator", + "group": "mfa", + "weight": 95, + "cookies": false, + "type": "", + "demo": "users\/delete-mfa-authenticator.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.deleteMFAAuthenticator" + }, + "methods": [ + { + "name": "deleteMfaAuthenticator", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "type" + ], + "required": [ + "userId", + "type" + ], + "responses": [ + { + "code": 204 + } + ], + "description": "Delete an authenticator app.", + "demo": "users\/delete-mfa-authenticator.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.deleteMFAAuthenticator" + } + }, + { + "name": "deleteMFAAuthenticator", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "type" + ], + "required": [ + "userId", + "type" + ], + "responses": [ + { + "code": 204 + } + ], + "description": "Delete an authenticator app.", + "demo": "users\/delete-mfa-authenticator.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "type", + "description": "Type of authenticator.", + "required": true, + "type": "string", + "x-example": "totp", + "enum": [ + "totp" + ], + "x-enum-name": "AuthenticatorType", + "x-enum-keys": [], + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/mfa\/factors": { + "get": { + "summary": "List factors", + "operationId": "usersListMfaFactors", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "List the factors available on the account to be used as a MFA challange.", + "responses": { + "200": { + "description": "MFAFactors", + "schema": { + "$ref": "#\/definitions\/mfaFactors" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "listMfaFactors", + "group": "mfa", + "weight": 91, + "cookies": false, + "type": "", + "demo": "users\/list-mfa-factors.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.listMFAFactors" + }, + "methods": [ + { + "name": "listMfaFactors", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaFactors" + } + ], + "description": "List the factors available on the account to be used as a MFA challange.", + "demo": "users\/list-mfa-factors.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.listMFAFactors" + } + }, + { + "name": "listMFAFactors", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaFactors" + } + ], + "description": "List the factors available on the account to be used as a MFA challange.", + "demo": "users\/list-mfa-factors.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/mfa\/recovery-codes": { + "get": { + "summary": "Get MFA recovery codes", + "operationId": "usersGetMfaRecoveryCodes", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "responses": { + "200": { + "description": "MFA Recovery Codes", + "schema": { + "$ref": "#\/definitions\/mfaRecoveryCodes" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "getMfaRecoveryCodes", + "group": "mfa", + "weight": 92, + "cookies": false, + "type": "", + "demo": "users\/get-mfa-recovery-codes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.getMFARecoveryCodes" + }, + "methods": [ + { + "name": "getMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/get-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.getMFARecoveryCodes" + } + }, + { + "name": "getMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Get recovery codes that can be used as backup for MFA flow by User ID. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/get-mfa-recovery-codes.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + }, + "put": { + "summary": "Update MFA recovery codes (regenerate)", + "operationId": "usersUpdateMfaRecoveryCodes", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "responses": { + "200": { + "description": "MFA Recovery Codes", + "schema": { + "$ref": "#\/definitions\/mfaRecoveryCodes" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "updateMfaRecoveryCodes", + "group": "mfa", + "weight": 94, + "cookies": false, + "type": "", + "demo": "users\/update-mfa-recovery-codes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFARecoveryCodes" + }, + "methods": [ + { + "name": "updateMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/update-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.updateMFARecoveryCodes" + } + }, + { + "name": "updateMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Regenerate recovery codes that can be used as backup for MFA flow by User ID. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method.", + "demo": "users\/update-mfa-recovery-codes.md", + "public": false + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + }, + "patch": { + "summary": "Create MFA recovery codes", + "operationId": "usersCreateMfaRecoveryCodes", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "responses": { + "201": { + "description": "MFA Recovery Codes", + "schema": { + "$ref": "#\/definitions\/mfaRecoveryCodes" + } + } + }, + "deprecated": true, + "x-appwrite": { + "method": "createMfaRecoveryCodes", + "group": "mfa", + "weight": 93, + "cookies": false, + "type": "", + "demo": "users\/create-mfa-recovery-codes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.createMFARecoveryCodes" + }, + "methods": [ + { + "name": "createMfaRecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "demo": "users\/create-mfa-recovery-codes.md", + "public": false, + "deprecated": { + "since": "1.8.0", + "replaceWith": "users.createMFARecoveryCodes" + } + }, + { + "name": "createMFARecoveryCodes", + "namespace": "users", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId" + ], + "required": [ + "userId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/mfaRecoveryCodes" + } + ], + "description": "Generate recovery codes used as backup for MFA flow for User ID. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method by client SDK.", + "demo": "users\/create-mfa-recovery-codes.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/name": { + "patch": { + "summary": "Update name", + "operationId": "usersUpdateName", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user name by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateName", + "group": "users", + "weight": 83, + "cookies": false, + "type": "", + "demo": "users\/update-name.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "User name. Max length: 128 chars.", + "x-example": "<NAME>" + } + }, + "required": [ + "name" + ] + } + } + ] + } + }, + "\/users\/{userId}\/password": { + "patch": { + "summary": "Update password", + "operationId": "usersUpdatePassword", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user password by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePassword", + "group": "users", + "weight": 84, + "cookies": false, + "type": "", + "demo": "users\/update-password.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "New user password. Must be at least 8 chars.", + "x-example": null + } + }, + "required": [ + "password" + ] + } + } + ] + } + }, + "\/users\/{userId}\/phone": { + "patch": { + "summary": "Update phone", + "operationId": "usersUpdatePhone", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user phone by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePhone", + "group": "users", + "weight": 86, + "cookies": false, + "type": "", + "demo": "users\/update-phone.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "User phone number.", + "x-example": "+12065550100", + "format": "phone" + } + }, + "required": [ + "number" + ] + } + } + ] + } + }, + "\/users\/{userId}\/prefs": { + "get": { + "summary": "Get user preferences", + "operationId": "usersGetPrefs", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get the user preferences by its unique ID.", + "responses": { + "200": { + "description": "Preferences", + "schema": { + "$ref": "#\/definitions\/preferences" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getPrefs", + "group": "users", + "weight": 72, + "cookies": false, + "type": "", + "demo": "users\/get-prefs.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + }, + "patch": { + "summary": "Update user preferences", + "operationId": "usersUpdatePrefs", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user preferences by its unique ID. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.", + "responses": { + "200": { + "description": "Preferences", + "schema": { + "$ref": "#\/definitions\/preferences" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePrefs", + "group": "users", + "weight": 88, + "cookies": false, + "type": "", + "demo": "users\/update-prefs.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "prefs": { + "type": "object", + "description": "Prefs key-value JSON object.", + "x-example": "{}", + "default": {} + } + }, + "required": [ + "prefs" + ] + } + } + ] + } + }, + "\/users\/{userId}\/sessions": { + "get": { + "summary": "List user sessions", + "operationId": "usersListSessions", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get the user sessions list by its unique ID.", + "responses": { + "200": { + "description": "Sessions List", + "schema": { + "$ref": "#\/definitions\/sessionList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listSessions", + "group": "sessions", + "weight": 74, + "cookies": false, + "type": "", + "demo": "users\/list-sessions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.read", + "sessions.read" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create session", + "operationId": "usersCreateSession", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Creates a session for a user. Returns an immediately usable session object.\n\nIf you want to generate a token for a custom authentication flow, use the [POST \/users\/{userId}\/tokens](https:\/\/appwrite.io\/docs\/server\/users#createToken) endpoint.", + "responses": { + "201": { + "description": "Session", + "schema": { + "$ref": "#\/definitions\/session" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createSession", + "group": "sessions", + "weight": 96, + "cookies": false, + "type": "", + "demo": "users\/create-session.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.write", + "sessions.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete user sessions", + "operationId": "usersDeleteSessions", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "users" + ], + "description": "Delete all user's sessions by using the user's unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteSessions", + "group": "sessions", + "weight": 99, + "cookies": false, + "type": "", + "demo": "users\/delete-sessions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.write", + "sessions.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/sessions\/{sessionId}": { + "delete": { + "summary": "Delete user session", + "operationId": "usersDeleteSession", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "users" + ], + "description": "Delete a user sessions by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteSession", + "group": "sessions", + "weight": 98, + "cookies": false, + "type": "", + "demo": "users\/delete-session.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "users.write", + "sessions.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "sessionId", + "description": "Session ID.", + "required": true, + "type": "string", + "x-example": "<SESSION_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/status": { + "patch": { + "summary": "Update user status", + "operationId": "usersUpdateStatus", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user status by its unique ID. Use this endpoint as an alternative to deleting a user if you want to keep user's ID reserved.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateStatus", + "group": "users", + "weight": 79, + "cookies": false, + "type": "", + "demo": "users\/update-status.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "status": { + "type": "boolean", + "description": "User Status. To activate the user pass `true` and to block the user pass `false`.", + "x-example": false + } + }, + "required": [ + "status" + ] + } + } + ] + } + }, + "\/users\/{userId}\/targets": { + "get": { + "summary": "List user targets", + "operationId": "usersListTargets", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "List the messaging targets that are associated with a user.", + "responses": { + "200": { + "description": "Target list", + "schema": { + "$ref": "#\/definitions\/targetList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listTargets", + "group": "targets", + "weight": 77, + "cookies": false, + "type": "", + "demo": "users\/list-targets.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.read", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create user target", + "operationId": "usersCreateTarget", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Create a messaging target.", + "responses": { + "201": { + "description": "Target", + "schema": { + "$ref": "#\/definitions\/target" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTarget", + "group": "targets", + "weight": 69, + "cookies": false, + "type": "", + "demo": "users\/create-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "targetId": { + "type": "string", + "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TARGET_ID>" + }, + "providerType": { + "type": "string", + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email", + "enum": [ + "email", + "sms", + "push" + ], + "x-enum-name": "MessagingProviderType", + "x-enum-keys": [] + }, + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + }, + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>", + "default": "" + }, + "name": { + "type": "string", + "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", + "x-example": "<NAME>", + "default": "" + } + }, + "required": [ + "targetId", + "providerType", + "identifier" + ] + } + } + ] + } + }, + "\/users\/{userId}\/targets\/{targetId}": { + "get": { + "summary": "Get user target", + "operationId": "usersGetTarget", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Get a user's push notification target by ID.", + "responses": { + "200": { + "description": "Target", + "schema": { + "$ref": "#\/definitions\/target" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTarget", + "group": "targets", + "weight": 73, + "cookies": false, + "type": "", + "demo": "users\/get-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.read", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "type": "string", + "x-example": "<TARGET_ID>", + "in": "path" + } + ] + }, + "patch": { + "summary": "Update user target", + "operationId": "usersUpdateTarget", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update a messaging target.", + "responses": { + "200": { + "description": "Target", + "schema": { + "$ref": "#\/definitions\/target" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateTarget", + "group": "targets", + "weight": 89, + "cookies": false, + "type": "", + "demo": "users\/update-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "type": "string", + "x-example": "<TARGET_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>", + "default": "" + }, + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>", + "default": "" + }, + "name": { + "type": "string", + "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", + "x-example": "<NAME>", + "default": "" + } + } + } + } + ] + }, + "delete": { + "summary": "Delete user target", + "operationId": "usersDeleteTarget", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "users" + ], + "description": "Delete a messaging target.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteTarget", + "group": "targets", + "weight": 101, + "cookies": false, + "type": "", + "demo": "users\/delete-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "server", + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "type": "string", + "x-example": "<TARGET_ID>", + "in": "path" + } + ] + } + }, + "\/users\/{userId}\/tokens": { + "post": { + "summary": "Create token", + "operationId": "usersCreateToken", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Returns a token with a secret key for creating a session. Use the user ID and secret and submit a request to the [PUT \/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process.\n", + "responses": { + "201": { + "description": "Token", + "schema": { + "$ref": "#\/definitions\/token" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createToken", + "group": "sessions", + "weight": 97, + "cookies": false, + "type": "", + "demo": "users\/create-token.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "length": { + "type": "integer", + "description": "Token length in characters. The default length is 6 characters", + "x-example": 4, + "default": 6, + "format": "int32" + }, + "expire": { + "type": "integer", + "description": "Token expiration period in seconds. The default expiration is 15 minutes.", + "x-example": 60, + "default": 900, + "format": "int32" + } + } + } + } + ] + } + }, + "\/users\/{userId}\/verification": { + "patch": { + "summary": "Update email verification", + "operationId": "usersUpdateEmailVerification", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user email verification status by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateEmailVerification", + "group": "users", + "weight": 87, + "cookies": false, + "type": "", + "demo": "users\/update-email-verification.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "emailVerification": { + "type": "boolean", + "description": "User email verification status.", + "x-example": false + } + }, + "required": [ + "emailVerification" + ] + } + } + ] + } + }, + "\/users\/{userId}\/verification\/phone": { + "patch": { + "summary": "Update phone verification", + "operationId": "usersUpdatePhoneVerification", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "users" + ], + "description": "Update the user phone verification status by its unique ID.", + "responses": { + "200": { + "description": "User", + "schema": { + "$ref": "#\/definitions\/user" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePhoneVerification", + "group": "users", + "weight": 82, + "cookies": false, + "type": "", + "demo": "users\/update-phone-verification.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "users.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "userId", + "description": "User ID.", + "required": true, + "type": "string", + "x-example": "<USER_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "phoneVerification": { + "type": "boolean", + "description": "User phone verification status.", + "x-example": false + } + }, + "required": [ + "phoneVerification" + ] + } + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/detections": { + "post": { + "summary": "Create repository detection", + "operationId": "vcsCreateRepositoryDetection", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "responses": { + "200": { + "description": "DetectionRuntime, or DetectionFramework", + "schema": { + "x-oneOf": [ + { + "$ref": "#\/definitions\/detectionRuntime" + }, + { + "$ref": "#\/definitions\/detectionFramework" + } + ], + "x-discriminator": { + "propertyName": "type", + "mapping": { + "runtime": "#\/definitions\/detectionRuntime", + "framework": "#\/definitions\/detectionFramework" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createRepositoryDetection", + "group": "repositories", + "weight": 575, + "cookies": false, + "type": "", + "demo": "vcs\/create-repository-detection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerRepositoryId": { + "type": "string", + "description": "Repository Id", + "x-example": "<PROVIDER_REPOSITORY_ID>" + }, + "type": { + "type": "string", + "description": "Detector type. Must be one of the following: runtime, framework", + "x-example": "runtime", + "enum": [ + "runtime", + "framework" + ], + "x-enum-name": "VCSDetectionType", + "x-enum-keys": [] + }, + "providerRootDirectory": { + "type": "string", + "description": "Path to Root Directory", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" + } + }, + "required": [ + "providerRepositoryId", + "type" + ] + } + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories": { + "get": { + "summary": "List repositories", + "operationId": "vcsListRepositories", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.", + "responses": { + "200": { + "description": "Runtime Provider Repositories List, or Framework Provider Repositories List", + "schema": { + "x-oneOf": [ + { + "$ref": "#\/definitions\/providerRepositoryRuntimeList" + }, + { + "$ref": "#\/definitions\/providerRepositoryFrameworkList" + } + ], + "x-discriminator": { + "propertyName": "type", + "mapping": { + "runtime": "#\/definitions\/providerRepositoryRuntimeList", + "framework": "#\/definitions\/providerRepositoryFrameworkList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listRepositories", + "group": "repositories", + "weight": 572, + "cookies": false, + "type": "", + "demo": "vcs\/list-repositories.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "type", + "description": "Detector type. Must be one of the following: runtime, framework", + "required": true, + "type": "string", + "x-example": "runtime", + "enum": [ + "runtime", + "framework" + ], + "x-enum-name": "VCSDetectionType", + "x-enum-keys": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit and offset", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + } + ] + }, + "post": { + "summary": "Create repository", + "operationId": "vcsCreateRepository", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.", + "responses": { + "200": { + "description": "ProviderRepository", + "schema": { + "$ref": "#\/definitions\/providerRepository" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createRepository", + "group": "repositories", + "weight": 570, + "cookies": false, + "type": "", + "demo": "vcs\/create-repository.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Repository name (slug)", + "x-example": "<NAME>" + }, + "private": { + "type": "boolean", + "description": "Mark repository public or private", + "x-example": false + } + }, + "required": [ + "name", + "private" + ] + } + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}": { + "get": { + "summary": "Get repository", + "operationId": "vcsGetRepository", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.", + "responses": { + "200": { + "description": "ProviderRepository", + "schema": { + "$ref": "#\/definitions\/providerRepository" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getRepository", + "group": "repositories", + "weight": 571, + "cookies": false, + "type": "", + "demo": "vcs\/get-repository.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "in": "path" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/branches": { + "get": { + "summary": "List repository branches", + "operationId": "vcsListRepositoryBranches", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Get a list of branches from a GitHub repository in your installation. This endpoint supports filtering by a search term and pagination using query strings such as `Query.limit()`, `Query.offset()`, `Query.cursorAfter()`, and `Query.cursorBefore()`. It returns branch names along with the total number of matches. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.\n", + "responses": { + "200": { + "description": "Branches List", + "schema": { + "$ref": "#\/definitions\/branchList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listRepositoryBranches", + "group": "repositories", + "weight": 573, + "cookies": false, + "type": "", + "demo": "vcs\/list-repository-branches.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "in": "path" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Only supported methods are limit, offset, cursorAfter, and cursorBefore", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/providerRepositories\/{providerRepositoryId}\/contents": { + "get": { + "summary": "Get files and directories of a VCS repository", + "operationId": "vcsGetRepositoryContents", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.", + "responses": { + "200": { + "description": "VCS Content List", + "schema": { + "$ref": "#\/definitions\/vcsContentList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getRepositoryContents", + "group": "repositories", + "weight": 574, + "cookies": false, + "type": "", + "demo": "vcs\/get-repository-contents.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "providerRepositoryId", + "description": "Repository Id", + "required": true, + "type": "string", + "x-example": "<PROVIDER_REPOSITORY_ID>", + "in": "path" + }, + { + "name": "providerRootDirectory", + "description": "Path to get contents of nested directory", + "required": false, + "type": "string", + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "", + "in": "query" + }, + { + "name": "providerReference", + "description": "Git reference (branch, tag, commit) to get contents from", + "required": false, + "type": "string", + "x-example": "<PROVIDER_REFERENCE>", + "default": "", + "in": "query" + } + ] + } + }, + "\/vcs\/github\/installations\/{installationId}\/repositories\/{repositoryId}": { + "patch": { + "summary": "Update external deployment (authorize)", + "operationId": "vcsUpdateExternalDeployments", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateExternalDeployments", + "group": "repositories", + "weight": 1271, + "cookies": false, + "type": "", + "demo": "vcs\/update-external-deployments.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + }, + { + "name": "repositoryId", + "description": "VCS Repository Id", + "required": true, + "type": "string", + "x-example": "<REPOSITORY_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "providerPullRequestId": { + "type": "string", + "description": "GitHub Pull Request Id", + "x-example": "<PROVIDER_PULL_REQUEST_ID>" + } + }, + "required": [ + "providerPullRequestId" + ] + } + } + ] + } + }, + "\/vcs\/installations": { + "get": { + "summary": "List installations", + "operationId": "vcsListInstallations", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.\n", + "responses": { + "200": { + "description": "Installations List", + "schema": { + "$ref": "#\/definitions\/installationList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listInstallations", + "group": "installations", + "weight": 568, + "cookies": false, + "type": "", + "demo": "vcs\/list-installations.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: provider, organization", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, + "\/vcs\/installations\/{installationId}": { + "get": { + "summary": "Get installation", + "operationId": "vcsGetInstallation", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vcs" + ], + "description": "Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. ", + "responses": { + "200": { + "description": "Installation", + "schema": { + "$ref": "#\/definitions\/installation" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getInstallation", + "group": "installations", + "weight": 567, + "cookies": false, + "type": "", + "demo": "vcs\/get-installation.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete installation", + "operationId": "vcsDeleteInstallation", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vcs" + ], + "description": "Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteInstallation", + "group": "installations", + "weight": 569, + "cookies": false, + "type": "", + "demo": "vcs\/delete-installation.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "vcs.write", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "installationId", + "description": "Installation Id", + "required": true, + "type": "string", + "x-example": "<INSTALLATION_ID>", + "in": "path" + } + ] + } + }, + "\/vectorsdb": { + "get": { + "summary": "List databases", + "operationId": "vectorsDBList", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.", + "responses": { + "200": { + "description": "Databases List", + "schema": { + "$ref": "#\/definitions\/databaseList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": "vectorsdb", + "weight": 924, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create database", + "operationId": "vectorsDBCreate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create a new Database.\n", + "responses": { + "201": { + "description": "Database", + "schema": { + "$ref": "#\/definitions\/database" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "create", + "group": "vectorsdb", + "weight": 925, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DATABASE_ID>" + }, + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "databaseId", + "name" + ] + } + } + ] + } + }, + "\/vectorsdb\/embeddings\/text": { + "post": { + "summary": "Create Text Embeddings", + "operationId": "vectorsDBCreateTextEmbeddings", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "200": { + "description": "Embedding list", + "schema": { + "$ref": "#\/definitions\/embeddingList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTextEmbeddings", + "group": "documents", + "weight": 911, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-text-embeddings.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", + "methods": [ + { + "name": "createTextEmbeddings", + "namespace": "vectorsDB", + "desc": "Create Text Embedding", + "auth": { + "Project": [] + }, + "parameters": [ + "texts", + "model" + ], + "required": [ + "texts" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/embeddingList" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-text-embeddings.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "texts": { + "type": "array", + "description": "Array of text to generate embeddings.", + "x-example": null, + "items": { + "type": "string" + } + }, + "model": { + "type": "string", + "description": "The embedding model to use for generating vector embeddings.", + "x-example": "embeddinggemma", + "default": "embeddinggemma", + "enum": [ + "embeddinggemma" + ], + "x-enum-name": null, + "x-enum-keys": [] + } + }, + "required": [ + "texts" + ] + } + } + ] + } + }, + "\/vectorsdb\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "vectorsDBListTransactions", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "List transactions across all databases.", + "responses": { + "200": { + "description": "Transaction List", + "schema": { + "$ref": "#\/definitions\/transactionList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listTransactions", + "group": "transactions", + "weight": 916, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-transactions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-transactions.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + } + ] + }, + "post": { + "summary": "Create transaction", + "operationId": "vectorsDBCreateTransaction", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create a new transaction.", + "responses": { + "201": { + "description": "Transaction", + "schema": { + "$ref": "#\/definitions\/transaction" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTransaction", + "group": "transactions", + "weight": 912, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60, + "default": 300, + "format": "int32" + } + } + } + } + ] + } + }, + "\/vectorsdb\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "vectorsDBGetTransaction", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a transaction by its unique ID.", + "responses": { + "200": { + "description": "Transaction", + "schema": { + "$ref": "#\/definitions\/transaction" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTransaction", + "group": "transactions", + "weight": 913, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "path" + } + ] + }, + "patch": { + "summary": "Update transaction", + "operationId": "vectorsDBUpdateTransaction", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Update a transaction, to either commit or roll back its operations.", + "responses": { + "200": { + "description": "Transaction", + "schema": { + "$ref": "#\/definitions\/transaction" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateTransaction", + "group": "transactions", + "weight": 914, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "commit": { + "type": "boolean", + "description": "Commit transaction?", + "x-example": false, + "default": false + }, + "rollback": { + "type": "boolean", + "description": "Rollback transaction?", + "x-example": false, + "default": false + } + } + } + } + ] + }, + "delete": { + "summary": "Delete transaction", + "operationId": "vectorsDBDeleteTransaction", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vectorsDB" + ], + "description": "Delete a transaction by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteTransaction", + "group": "transactions", + "weight": 915, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-transaction.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "path" + } + ] + } + }, + "\/vectorsdb\/transactions\/{transactionId}\/operations": { + "post": { + "summary": "Create operations", + "operationId": "vectorsDBCreateOperations", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create multiple operations in a single transaction.", + "responses": { + "201": { + "description": "Transaction", + "schema": { + "$ref": "#\/definitions\/transaction" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createOperations", + "group": "transactions", + "weight": 917, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-operations.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-operations.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "description": "Array of staged operations.", + "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], + "items": { + "type": "object" + } + } + } + } + } + ] + } + }, + "\/vectorsdb\/usage": { + "get": { + "summary": "Get VectorsDB usage stats", + "operationId": "vectorsDBListUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageVectorsDBs", + "schema": { + "$ref": "#\/definitions\/usageVectorsDBs" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listUsage", + "group": null, + "weight": 891, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-usage.md", + "methods": [ + { + "name": "listUsage", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "range" + ], + "required": [], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageVectorsDBs" + } + ], + "description": "List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "vectorsdb\/list-usage.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + } + ] + } + }, + "\/vectorsdb\/{databaseId}": { + "get": { + "summary": "Get database", + "operationId": "vectorsDBGet", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.", + "responses": { + "200": { + "description": "Database", + "schema": { + "$ref": "#\/definitions\/database" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "vectorsdb", + "weight": 886, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + } + ] + }, + "put": { + "summary": "Update database", + "operationId": "vectorsDBUpdate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Update a database by its unique ID.", + "responses": { + "200": { + "description": "Database", + "schema": { + "$ref": "#\/definitions\/database" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": "vectorsdb", + "weight": 887, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Database name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "enabled": { + "type": "boolean", + "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "name" + ] + } + } + ] + }, + "delete": { + "summary": "Delete database", + "operationId": "vectorsDBDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vectorsDB" + ], + "description": "Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "vectorsdb", + "weight": 926, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "databases.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections": { + "get": { + "summary": "List collections", + "operationId": "vectorsDBListCollections", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.", + "responses": { + "200": { + "description": "VectorsDB Collections List", + "schema": { + "$ref": "#\/definitions\/vectorsdbCollectionList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listCollections", + "group": "collections", + "weight": 896, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-collections.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-collections.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "search", + "description": "Search term to filter your list results. Max length: 256 chars.", + "required": false, + "type": "string", + "x-example": "<SEARCH>", + "default": "", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create collection", + "operationId": "vectorsDBCreateCollection", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "VectorsDB Collection", + "schema": { + "$ref": "#\/definitions\/vectorsdbCollection" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createCollection", + "group": "collections", + "weight": 892, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "collectionId": { + "type": "string", + "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<COLLECTION_ID>" + }, + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "dimension": { + "type": "integer", + "description": "Embedding dimension.", + "x-example": 1, + "format": "int32" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "collectionId", + "name", + "dimension" + ] + } + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}": { + "get": { + "summary": "Get collection", + "operationId": "vectorsDBGetCollection", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.", + "responses": { + "200": { + "description": "VectorsDB Collection", + "schema": { + "$ref": "#\/definitions\/vectorsdbCollection" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getCollection", + "group": "collections", + "weight": 893, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + } + ] + }, + "put": { + "summary": "Update collection", + "operationId": "vectorsDBUpdateCollection", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Update a collection by its unique ID.", + "responses": { + "200": { + "description": "VectorsDB Collection", + "schema": { + "$ref": "#\/definitions\/vectorsdbCollection" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateCollection", + "group": "collections", + "weight": 894, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Collection name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "dimension": { + "type": "integer", + "description": "Embedding dimensions.", + "x-example": 1, + "format": "int32" + }, + "permissions": { + "type": "array", + "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documentSecurity": { + "type": "boolean", + "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": false, + "default": false + }, + "enabled": { + "type": "boolean", + "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", + "x-example": false, + "default": true + } + }, + "required": [ + "name" + ] + } + } + ] + }, + "delete": { + "summary": "Delete collection", + "operationId": "vectorsDBDeleteCollection", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vectorsDB" + ], + "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteCollection", + "group": "collections", + "weight": 895, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-collection.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-collection.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents": { + "get": { + "summary": "List documents", + "operationId": "vectorsDBListDocuments", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a list of all the user's documents in a given collection. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Documents List", + "schema": { + "$ref": "#\/definitions\/documentList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listDocuments", + "group": "documents", + "weight": 906, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-documents.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for cached responses when caching is enabled for select queries. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + } + ] + }, + "post": { + "summary": "Create document", + "operationId": "vectorsDBCreateDocument", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "Document", + "schema": { + "$ref": "#\/definitions\/document" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDocument", + "group": "documents", + "weight": 902, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-document.md", + "methods": [ + { + "name": "createDocument", + "namespace": "vectorsDB", + "desc": "Create document", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions" + ], + "required": [ + "databaseId", + "collectionId", + "documentId", + "data" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" + } + ], + "description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-document.md", + "public": true + }, + { + "name": "createDocuments", + "namespace": "vectorsDB", + "desc": "Create documents", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/documentList" + } + ], + "description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/create-documents.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection). Make sure to define attributes before creating documents.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "documentId": { + "type": "string", + "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<DOCUMENT_ID>", + "default": "" + }, + "data": { + "type": "object", + "description": "Document data as JSON object.", + "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "documents": { + "type": "array", + "description": "Array of documents data as JSON objects.", + "x-example": null, + "default": [], + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + }, + "put": { + "summary": "Upsert documents", + "operationId": "vectorsDBUpsertDocuments", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "responses": { + "201": { + "description": "Documents List", + "schema": { + "$ref": "#\/definitions\/documentList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsertDocuments", + "group": "documents", + "weight": 909, + "cookies": false, + "type": "", + "demo": "vectorsdb\/upsert-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-documents.md", + "methods": [ + { + "name": "upsertDocuments", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documents", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documents" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/documentList" + } + ], + "description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.\n", + "demo": "vectorsdb\/upsert-documents.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "documents": { + "type": "array", + "description": "Array of document data as JSON objects. May contain partial documents.", + "x-example": null, + "items": { + "type": "object" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + }, + "required": [ + "documents" + ] + } + } + ] + }, + "patch": { + "summary": "Update documents", + "operationId": "vectorsDBUpdateDocuments", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.", + "responses": { + "200": { + "description": "Documents List", + "schema": { + "$ref": "#\/definitions\/documentList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDocuments", + "group": "documents", + "weight": 908, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-documents.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", + "x-example": "{}", + "default": [] + }, + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + }, + "delete": { + "summary": "Delete documents", + "operationId": "vectorsDBDeleteDocuments", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.", + "responses": { + "200": { + "description": "Documents List", + "schema": { + "$ref": "#\/definitions\/documentList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteDocuments", + "group": "documents", + "weight": 910, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-documents.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-documents.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "queries": { + "type": "array", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "x-example": null, + "default": [], + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": { + "get": { + "summary": "Get document", + "operationId": "vectorsDBGetDocument", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get a document by its unique ID. This endpoint response returns a JSON object with the document data.", + "responses": { + "200": { + "description": "Document", + "schema": { + "$ref": "#\/definitions\/document" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getDocument", + "group": "documents", + "weight": 905, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-document.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.read", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "transactionId", + "description": "Transaction ID to read uncommitted changes within the transaction.", + "required": false, + "type": "string", + "x-example": "<TRANSACTION_ID>", + "in": "query" + } + ] + }, + "put": { + "summary": "Upsert a document", + "operationId": "vectorsDBUpsertDocument", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "responses": { + "201": { + "description": "Document", + "schema": { + "$ref": "#\/definitions\/document" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsertDocument", + "group": "documents", + "weight": 904, + "cookies": false, + "type": "", + "demo": "vectorsdb\/upsert-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/upsert-document.md", + "methods": [ + { + "name": "upsertDocument", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "collectionId", + "documentId", + "data", + "permissions", + "transactionId" + ], + "required": [ + "databaseId", + "collectionId", + "documentId" + ], + "responses": [ + { + "code": 201, + "model": "#\/definitions\/document" + } + ], + "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#documentsDBCreateCollection) API or directly from your database console.", + "demo": "vectorsdb\/upsert-document.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", + "x-example": "{}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + }, + "patch": { + "summary": "Update document", + "operationId": "vectorsDBUpdateDocument", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.", + "responses": { + "200": { + "description": "Document", + "schema": { + "$ref": "#\/definitions\/document" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDocument", + "group": "documents", + "weight": 903, + "cookies": false, + "type": "", + "demo": "vectorsdb\/update-document.md", + "rate-limit": 120, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/update-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "description": "Document data as JSON object. Include only fields and value pairs to be updated.", + "x-example": "{}", + "default": [] + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + }, + "delete": { + "summary": "Delete document", + "operationId": "vectorsDBDeleteDocument", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vectorsDB" + ], + "description": "Delete a document by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteDocument", + "group": "documents", + "weight": 907, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-document.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", + "scope": "documents.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-document.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "Key": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "documentId", + "description": "Document ID.", + "required": true, + "type": "string", + "x-example": "<DOCUMENT_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "transactionId": { + "type": "string", + "description": "Transaction ID for staging the operation.", + "x-example": "<TRANSACTION_ID>" + } + } + } + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes": { + "get": { + "summary": "List indexes", + "operationId": "vectorsDBListIndexes", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "List indexes in the collection.", + "responses": { + "200": { + "description": "Indexes List", + "schema": { + "$ref": "#\/definitions\/indexList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listIndexes", + "group": "indexes", + "weight": 901, + "cookies": false, + "type": "", + "demo": "vectorsdb\/list-indexes.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/list-indexes.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: key, type, status, attributes, error", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create index", + "operationId": "vectorsDBCreateIndex", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request.\nAttributes can be `key`, `fulltext`, and `unique`.", + "responses": { + "202": { + "description": "Index", + "schema": { + "$ref": "#\/definitions\/index" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createIndex", + "group": "indexes", + "weight": 898, + "cookies": false, + "type": "", + "demo": "vectorsdb\/create-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/create-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Index Key.", + "x-example": null + }, + "type": { + "type": "string", + "description": "Index type.", + "x-example": "hnsw_euclidean", + "enum": [ + "hnsw_euclidean", + "hnsw_dot", + "hnsw_cosine", + "object", + "key", + "unique" + ], + "x-enum-name": "VectorsDBIndexType", + "x-enum-keys": [] + }, + "attributes": { + "type": "array", + "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", + "x-example": null, + "items": { + "type": "string" + } + }, + "orders": { + "type": "array", + "description": "Array of index orders. Maximum of 100 orders are allowed.", + "x-example": null, + "default": [], + "items": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] + } + }, + "lengths": { + "type": "array", + "description": "Length of index. Maximum of 100", + "x-example": null, + "default": [], + "items": { + "type": "integer" + } + } + }, + "required": [ + "key", + "type", + "attributes" + ] + } + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": { + "get": { + "summary": "Get index", + "operationId": "vectorsDBGetIndex", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get index by ID.", + "responses": { + "200": { + "description": "Index", + "schema": { + "$ref": "#\/definitions\/index" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getIndex", + "group": "indexes", + "weight": 899, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "type": "string", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete index", + "operationId": "vectorsDBDeleteIndex", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "vectorsDB" + ], + "description": "Delete an index.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteIndex", + "group": "indexes", + "weight": 900, + "cookies": false, + "type": "", + "demo": "vectorsdb\/delete-index.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/delete-index.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "collectionId", + "description": "Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + }, + { + "name": "key", + "description": "Index Key.", + "required": true, + "type": "string", + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/collections\/{collectionId}\/usage": { + "get": { + "summary": "Get collection usage stats", + "operationId": "vectorsDBGetCollectionUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get usage metrics and statistics for a collection. Returning the total number of documents. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageCollection", + "schema": { + "$ref": "#\/definitions\/usageCollection" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getCollectionUsage", + "group": null, + "weight": 897, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-collection-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-collection-usage.md", + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + }, + { + "name": "collectionId", + "description": "Collection ID.", + "required": true, + "type": "string", + "x-example": "<COLLECTION_ID>", + "in": "path" + } + ] + } + }, + "\/vectorsdb\/{databaseId}\/usage": { + "get": { + "summary": "Get VectorsDB usage stats", + "operationId": "vectorsDBGetUsage", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "vectorsDB" + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "responses": { + "200": { + "description": "UsageVectorsDB", + "schema": { + "$ref": "#\/definitions\/usageVectorsDB" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getUsage", + "group": null, + "weight": 890, + "cookies": false, + "type": "", + "demo": "vectorsdb\/get-usage.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "collections.read", + "platforms": [ + "console" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vectorsdb\/get-database-usage.md", + "methods": [ + { + "name": "getUsage", + "namespace": "vectorsDB", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "databaseId", + "range" + ], + "required": [ + "databaseId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/usageVectorsDB" + } + ], + "description": "Get usage metrics and statistics for a database. You can view the total number of collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days.", + "demo": "vectorsdb\/get-usage.md", + "public": true + } + ], + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [] + } + ], + "parameters": [ + { + "name": "databaseId", + "description": "Database ID.", + "required": true, + "type": "string", + "x-example": "<DATABASE_ID>", + "in": "path" + }, + { + "name": "range", + "description": "Date range.", + "required": false, + "type": "string", + "x-example": "24h", + "enum": [ + "24h", + "30d", + "90d" + ], + "x-enum-name": "UsageRange", + "x-enum-keys": [ + "Twenty Four Hours", + "Thirty Days", + "Ninety Days" + ], + "default": "30d", + "in": "query" + } + ] + } + }, + "\/webhooks": { + "get": { + "summary": "List webhooks", + "operationId": "webhooksList", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "webhooks" + ], + "description": "Get a list of all webhooks belonging to the project. You can use the query params to filter your results.", + "responses": { + "200": { + "description": "Webhooks List", + "schema": { + "$ref": "#\/definitions\/webhookList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": null, + "weight": 578, + "cookies": false, + "type": "", + "demo": "webhooks\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, url, authUsername, tls, events, enabled, logs, attempts", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + }, + "post": { + "summary": "Create webhook", + "operationId": "webhooksCreate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "webhooks" + ], + "description": "Create a new webhook. Use this endpoint to configure a URL that will receive events from Appwrite when specific events occur.", + "responses": { + "201": { + "description": "Webhook", + "schema": { + "$ref": "#\/definitions\/webhook" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "create", + "group": null, + "weight": 577, + "cookies": false, + "type": "", + "demo": "webhooks\/create.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "webhookId": { + "type": "string", + "description": "Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<WEBHOOK_ID>" + }, + "url": { + "type": "string", + "description": "Webhook URL.", + "x-example": null + }, + "name": { + "type": "string", + "description": "Webhook name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable a webhook.", + "x-example": false, + "default": true + }, + "tls": { + "type": "boolean", + "description": "Certificate verification, false for disabled or true for enabled.", + "x-example": false, + "default": false + }, + "authUsername": { + "type": "string", + "description": "Webhook HTTP user. Max length: 256 chars.", + "x-example": "<AUTH_USERNAME>", + "default": "" + }, + "authPassword": { + "type": "string", + "description": "Webhook HTTP password. Max length: 256 chars.", + "x-example": "<AUTH_PASSWORD>", + "default": "" + }, + "secret": { + "type": "string", + "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", + "x-example": "<SECRET>", + "x-nullable": true + } + }, + "required": [ + "webhookId", + "url", + "name", + "events" + ] + } + } + ] + } + }, + "\/webhooks\/{webhookId}": { + "get": { + "summary": "Get webhook", + "operationId": "webhooksGet", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "webhooks" + ], + "description": "Get a webhook by its unique ID. This endpoint returns details about a specific webhook configured for a project. ", + "responses": { + "200": { + "description": "Webhook", + "schema": { + "$ref": "#\/definitions\/webhook" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "weight": 579, + "cookies": false, + "type": "", + "demo": "webhooks\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "type": "string", + "x-example": "<WEBHOOK_ID>", + "in": "path" + } + ] + }, + "put": { + "summary": "Update webhook", + "operationId": "webhooksUpdate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "webhooks" + ], + "description": "Update a webhook by its unique ID. Use this endpoint to update the URL, events, or status of an existing webhook.", + "responses": { + "200": { + "description": "Webhook", + "schema": { + "$ref": "#\/definitions\/webhook" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": null, + "weight": 581, + "cookies": false, + "type": "", + "demo": "webhooks\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "type": "string", + "x-example": "<WEBHOOK_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Webhook name. Max length: 128 chars.", + "x-example": "<NAME>" + }, + "url": { + "type": "string", + "description": "Webhook URL.", + "x-example": null + }, + "events": { + "type": "array", + "description": "Events list. Maximum of 100 events are allowed.", + "x-example": null, + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Enable or disable a webhook.", + "x-example": false, + "default": true + }, + "tls": { + "type": "boolean", + "description": "Certificate verification, false for disabled or true for enabled.", + "x-example": false, + "default": false + }, + "authUsername": { + "type": "string", + "description": "Webhook HTTP user. Max length: 256 chars.", + "x-example": "<AUTH_USERNAME>", + "default": "" + }, + "authPassword": { + "type": "string", + "description": "Webhook HTTP password. Max length: 256 chars.", + "x-example": "<AUTH_PASSWORD>", + "default": "" + } + }, + "required": [ + "name", + "url", + "events" + ] + } + } + ] + }, + "delete": { + "summary": "Delete webhook", + "operationId": "webhooksDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "webhooks" + ], + "description": "Delete a webhook by its unique ID. Once deleted, the webhook will no longer receive project events. ", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": null, + "weight": 580, + "cookies": false, + "type": "", + "demo": "webhooks\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "type": "string", + "x-example": "<WEBHOOK_ID>", + "in": "path" + } + ] + } + }, + "\/webhooks\/{webhookId}\/secret": { + "patch": { + "summary": "Update webhook secret key", + "operationId": "webhooksUpdateSecret", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "webhooks" + ], + "description": "Update the webhook signing key. This endpoint can be used to regenerate the signing key used to sign and validate payload deliveries for a specific webhook.", + "responses": { + "200": { + "description": "Webhook", + "schema": { + "$ref": "#\/definitions\/webhook" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateSecret", + "group": null, + "weight": 582, + "cookies": false, + "type": "", + "demo": "webhooks\/update-secret.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "webhooks.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "webhookId", + "description": "Webhook ID.", + "required": true, + "type": "string", + "x-example": "<WEBHOOK_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string", + "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", + "x-example": "<SECRET>", + "x-nullable": true + } + } + } + } + ] + } + } + }, + "tags": [ + { + "name": "account", + "description": "The Account service allows you to authenticate and manage a user account." + }, + { + "name": "avatars", + "description": "The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars." + }, + { + "name": "databases", + "description": "The Databases service allows you to create structured collections of documents, query and filter lists of documents" + }, + { + "name": "tablesdb", + "description": "The TablesDB service allows you to create structured tables of columns, query and filter lists of rows" + }, + { + "name": "locale", + "description": "The Locale service allows you to customize your app based on your users' location." + }, + { + "name": "health", + "description": "The Health service allows you to both validate and monitor your Appwrite server's health." + }, + { + "name": "projects", + "description": "The Project service allows you to manage all the projects in your Appwrite server." + }, + { + "name": "project", + "description": "The Project service allows you to manage all the projects in your Appwrite server." + }, + { + "name": "storage", + "description": "The Storage service allows you to manage your project files." + }, + { + "name": "teams", + "description": "The Teams service allows you to group users of your project and to enable them to share read and write access to your project resources" + }, + { + "name": "users", + "description": "The Users service allows you to manage your project users." + }, + { + "name": "sites", + "description": "The Sites Service allows you view, create and manage your web applications." + }, + { + "name": "functions", + "description": "The Functions Service allows you view, create and manage your Cloud Functions." + }, + { + "name": "proxy", + "description": "The Proxy Service allows you to configure actions for your domains beyond DNS configuration." + }, + { + "name": "graphql", + "description": "The GraphQL API allows you to query and mutate your Appwrite server using GraphQL." + }, + { + "name": "console", + "description": "The Console service allows you to interact with console relevant information." + }, + { + "name": "migrations", + "description": "The Migrations service allows you to migrate third-party data to your Appwrite project." + }, + { + "name": "messaging", + "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." + }, + { + "name": "advisor", + "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." + } + ], + "definitions": { + "any": { + "description": "Any", + "type": "object", + "additionalProperties": true, + "example": [] }, "rowList": { "description": "Rows List", @@ -75338,6 +79124,35 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "type": "object", + "$ref": "#\/definitions\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "tableList": { "description": "Tables List", "type": "object", @@ -76959,6 +80774,64 @@ "embeddings": "" } }, + "insightList": { + "description": "Insights List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of insights that matched your query.", + "x-example": 5, + "format": "int32" + }, + "insights": { + "type": "array", + "description": "List of insights.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insight" + }, + "x-example": "" + } + }, + "required": [ + "total", + "insights" + ], + "example": { + "total": 5, + "insights": "" + } + }, + "reportList": { + "description": "Reports List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of reports that matched your query.", + "x-example": 5, + "format": "int32" + }, + "reports": { + "type": "array", + "description": "List of reports.", + "items": { + "type": "object", + "$ref": "#\/definitions\/report" + }, + "x-example": "" + } + }, + "required": [ + "total", + "reports" + ], + "example": { + "total": 5, + "reports": "" + } + }, "database": { "description": "Database", "type": "object", @@ -77004,7 +80877,7 @@ "description": "Database backup policies.", "items": { "type": "object", - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/backupPolicy" }, "x-example": {} }, @@ -77013,7 +80886,7 @@ "description": "Database backup archives.", "items": { "type": "object", - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/backupArchive" }, "x-example": {} } @@ -82305,6 +86178,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "x-nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -83397,6 +87345,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -83430,6 +87384,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -83447,6 +87402,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": true, @@ -85820,1039 +89776,1314 @@ "scheduledAt": "2020-10-15T06:38:00.000+00:00" } }, - "project": { - "description": "Project", + "project": { + "description": "Project", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Project ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Project creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Project update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "name": { + "type": "string", + "description": "Project name.", + "x-example": "New Project" + }, + "teamId": { + "type": "string", + "description": "Project team ID.", + "x-example": "1592981250" + }, + "devKeys": { + "type": "array", + "description": "Deprecated since 1.9.5: List of dev keys.", + "items": { + "type": "object", + "$ref": "#\/definitions\/devKey" + }, + "x-example": {} + }, + "smtpEnabled": { + "type": "boolean", + "description": "Status for custom SMTP", + "x-example": false + }, + "smtpSenderName": { + "type": "string", + "description": "SMTP sender name", + "x-example": "John Appwrite" + }, + "smtpSenderEmail": { + "type": "string", + "description": "SMTP sender email", + "x-example": "john@appwrite.io" + }, + "smtpReplyToName": { + "type": "string", + "description": "SMTP reply to name", + "x-example": "Support Team" + }, + "smtpReplyToEmail": { + "type": "string", + "description": "SMTP reply to email", + "x-example": "support@appwrite.io" + }, + "smtpHost": { + "type": "string", + "description": "SMTP server host name", + "x-example": "mail.appwrite.io" + }, + "smtpPort": { + "type": "integer", + "description": "SMTP server port", + "x-example": 25, + "format": "int32" + }, + "smtpUsername": { + "type": "string", + "description": "SMTP server username", + "x-example": "emailuser" + }, + "smtpPassword": { + "type": "string", + "description": "SMTP server password. This property is write-only and always returned empty.", + "x-example": "" + }, + "smtpSecure": { + "type": "string", + "description": "SMTP server secure protocol", + "x-example": "tls" + }, + "pingCount": { + "type": "integer", + "description": "Number of times the ping was received for this project.", + "x-example": 1, + "format": "int32" + }, + "pingedAt": { + "type": "string", + "description": "Last ping datetime in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "labels": { + "type": "array", + "description": "Labels for the project.", + "items": { + "type": "string" + }, + "x-example": [ + "vip" + ] + }, + "status": { + "type": "string", + "description": "Project status", + "x-example": "active" + }, + "authMethods": { + "type": "array", + "description": "List of auth methods.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectAuthMethod" + }, + "x-example": {} + }, + "services": { + "type": "array", + "description": "List of services.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectService" + }, + "x-example": {} + }, + "protocols": { + "type": "array", + "description": "List of protocols.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectProtocol" + }, + "x-example": {} + }, + "region": { + "type": "string", + "description": "Project region", + "x-example": "fra" + }, + "billingLimits": { + "type": "object", + "description": "Billing limits reached", + "x-example": "", + "items": { + "type": "object", + "$ref": "#\/definitions\/billingLimits" + }, + "x-nullable": true + }, + "blocks": { + "type": "array", + "description": "Project blocks information", + "items": { + "type": "object", + "$ref": "#\/definitions\/block" + }, + "x-example": "" + }, + "consoleAccessedAt": { + "type": "string", + "description": "Last time the project was accessed via console. Used with plan's projectInactivityDays to determine if project is paused.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "teamId", + "devKeys", + "smtpEnabled", + "smtpSenderName", + "smtpSenderEmail", + "smtpReplyToName", + "smtpReplyToEmail", + "smtpHost", + "smtpPort", + "smtpUsername", + "smtpPassword", + "smtpSecure", + "pingCount", + "pingedAt", + "labels", + "status", + "authMethods", + "services", + "protocols", + "region", + "blocks", + "consoleAccessedAt" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "New Project", + "teamId": "1592981250", + "devKeys": {}, + "smtpEnabled": false, + "smtpSenderName": "John Appwrite", + "smtpSenderEmail": "john@appwrite.io", + "smtpReplyToName": "Support Team", + "smtpReplyToEmail": "support@appwrite.io", + "smtpHost": "mail.appwrite.io", + "smtpPort": 25, + "smtpUsername": "emailuser", + "smtpPassword": "", + "smtpSecure": "tls", + "pingCount": 1, + "pingedAt": "2020-10-15T06:38:00.000+00:00", + "labels": [ + "vip" + ], + "status": "active", + "authMethods": {}, + "services": {}, + "protocols": {}, + "region": "fra", + "billingLimits": "", + "blocks": "", + "consoleAccessedAt": "2020-10-15T06:38:00.000+00:00" + } + }, + "projectAuthMethod": { + "description": "ProjectAuthMethod", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Auth method ID.", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId" + }, + "enabled": { + "type": "boolean", + "description": "Auth method status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "email-password", + "enabled": false + } + }, + "projectService": { + "description": "ProjectService", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Service ID.", + "x-example": "sites", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId" + }, + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "sites", + "enabled": false + } + }, + "projectProtocol": { + "description": "ProjectProtocol", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Protocol ID.", + "x-example": "graphql", + "enum": [ + "rest", + "graphql", + "websocket" + ], + "x-enum-name": "ProjectProtocolId" + }, + "enabled": { + "type": "boolean", + "description": "Protocol status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "graphql", + "enabled": false + } + }, + "webhook": { + "description": "Webhook", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Webhook ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Webhook creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Webhook update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "name": { + "type": "string", + "description": "Webhook name.", + "x-example": "My Webhook" + }, + "url": { + "type": "string", + "description": "Webhook URL endpoint.", + "x-example": "https:\/\/example.com\/webhook" + }, + "events": { + "type": "array", + "description": "Webhook trigger events.", + "items": { + "type": "string" + }, + "x-example": [ + "databases.tables.update", + "databases.collections.update" + ] + }, + "tls": { + "type": "boolean", + "description": "Indicates if SSL \/ TLS certificate verification is enabled.", + "x-example": true + }, + "authUsername": { + "type": "string", + "description": "HTTP basic authentication username.", + "x-example": "username" + }, + "authPassword": { + "type": "string", + "description": "HTTP basic authentication password.", + "x-example": "password" + }, + "secret": { + "type": "string", + "description": "Signature key which can be used to validate incoming webhook payloads. Only returned on creation and secret rotation.", + "x-example": "ad3d581ca230e2b7059c545e5a" + }, + "enabled": { + "type": "boolean", + "description": "Indicates if this webhook is enabled.", + "x-example": true + }, + "logs": { + "type": "string", + "description": "Webhook error logs from the most recent failure.", + "x-example": "Failed to connect to remote server." + }, + "attempts": { + "type": "integer", + "description": "Number of consecutive failed webhook attempts.", + "x-example": 10, + "format": "int32" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "url", + "events", + "tls", + "authUsername", + "authPassword", + "secret", + "enabled", + "logs", + "attempts" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Webhook", + "url": "https:\/\/example.com\/webhook", + "events": [ + "databases.tables.update", + "databases.collections.update" + ], + "tls": true, + "authUsername": "username", + "authPassword": "password", + "secret": "ad3d581ca230e2b7059c545e5a", + "enabled": true, + "logs": "Failed to connect to remote server.", + "attempts": 10 + } + }, + "key": { + "description": "Key", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Key ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Key creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Key update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "name": { + "type": "string", + "description": "Key name.", + "x-example": "My API Key" + }, + "expire": { + "type": "string", + "description": "Key expiration date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "scopes": { + "type": "array", + "description": "Allowed permission scopes.", + "items": { + "type": "string" + }, + "x-example": "users.read" + }, + "secret": { + "type": "string", + "description": "Secret key.", + "x-example": "919c2d18fb5d4...a2ae413da83346ad2" + }, + "accessedAt": { + "type": "string", + "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "sdks": { + "type": "array", + "description": "List of SDK user agents that used this key.", + "items": { + "type": "string" + }, + "x-example": "appwrite:flutter" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "expire", + "scopes", + "secret", + "accessedAt", + "sdks" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My API Key", + "expire": "2020-10-15T06:38:00.000+00:00", + "scopes": "users.read", + "secret": "919c2d18fb5d4...a2ae413da83346ad2", + "accessedAt": "2020-10-15T06:38:00.000+00:00", + "sdks": "appwrite:flutter" + } + }, + "ephemeralKey": { + "description": "Ephemeral Key", "type": "object", "properties": { "$id": { "type": "string", - "description": "Project ID.", + "description": "Key ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Project creation date in ISO 8601 format.", + "description": "Key creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Project update date in ISO 8601 format.", + "description": "Key update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "name": { "type": "string", - "description": "Project name.", - "x-example": "New Project" - }, - "description": { - "type": "string", - "description": "Project description.", - "x-example": "This is a new project." - }, - "teamId": { - "type": "string", - "description": "Project team ID.", - "x-example": "1592981250" - }, - "logo": { - "type": "string", - "description": "Project logo file ID.", - "x-example": "5f5c451b403cb" - }, - "url": { - "type": "string", - "description": "Project website URL.", - "x-example": "5f5c451b403cb" - }, - "legalName": { - "type": "string", - "description": "Company legal name.", - "x-example": "Company LTD." - }, - "legalCountry": { - "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" - }, - "legalState": { - "type": "string", - "description": "State name.", - "x-example": "New York" - }, - "legalCity": { - "type": "string", - "description": "City name.", - "x-example": "New York City." - }, - "legalAddress": { - "type": "string", - "description": "Company Address.", - "x-example": "620 Eighth Avenue, New York, NY 10018" + "description": "Key name.", + "x-example": "My API Key" }, - "legalTaxId": { + "expire": { "type": "string", - "description": "Company Tax ID.", - "x-example": "131102020" - }, - "authDuration": { - "type": "integer", - "description": "Session duration in seconds.", - "x-example": 60, - "format": "int32" - }, - "authLimit": { - "type": "integer", - "description": "Max users allowed. 0 is unlimited.", - "x-example": 100, - "format": "int32" - }, - "authSessionsLimit": { - "type": "integer", - "description": "Max sessions allowed per user. 100 maximum.", - "x-example": 10, - "format": "int32" - }, - "authPasswordHistory": { - "type": "integer", - "description": "Max allowed passwords in the history list per user. Max passwords limit allowed in history is 20. Use 0 for disabling password history.", - "x-example": 5, - "format": "int32" - }, - "authPasswordDictionary": { - "type": "boolean", - "description": "Whether or not to check user's password against most commonly used passwords.", - "x-example": true - }, - "authPersonalDataCheck": { - "type": "boolean", - "description": "Whether or not to check the user password for similarity with their personal data.", - "x-example": true - }, - "authDisposableEmails": { - "type": "boolean", - "description": "Whether or not to disallow disposable email addresses during signup and email updates.", - "x-example": true - }, - "authCanonicalEmails": { - "type": "boolean", - "description": "Whether or not to require canonical email addresses during signup and email updates.", - "x-example": true - }, - "authFreeEmails": { - "type": "boolean", - "description": "Whether or not to disallow free email addresses during signup and email updates.", - "x-example": true - }, - "authMockNumbers": { - "type": "array", - "description": "An array of mock numbers and their corresponding verification codes (OTPs).", - "items": { - "type": "object", - "$ref": "#\/definitions\/mockNumber" - }, - "x-example": [ - {} - ] - }, - "authSessionAlerts": { - "type": "boolean", - "description": "Whether or not to send session alert emails to users.", - "x-example": true - }, - "authMembershipsUserName": { - "type": "boolean", - "description": "Whether or not to show user names in the teams membership response.", - "x-example": true - }, - "authMembershipsUserEmail": { - "type": "boolean", - "description": "Whether or not to show user emails in the teams membership response.", - "x-example": true - }, - "authMembershipsMfa": { - "type": "boolean", - "description": "Whether or not to show user MFA status in the teams membership response.", - "x-example": true - }, - "authMembershipsUserId": { - "type": "boolean", - "description": "Whether or not to show user IDs in the teams membership response.", - "x-example": true - }, - "authMembershipsUserPhone": { - "type": "boolean", - "description": "Whether or not to show user phone numbers in the teams membership response.", - "x-example": true - }, - "authInvalidateSessions": { - "type": "boolean", - "description": "Whether or not all existing sessions should be invalidated on password change", - "x-example": true - }, - "oAuthProviders": { - "type": "array", - "description": "List of Auth Providers.", - "items": { - "type": "object", - "$ref": "#\/definitions\/authProvider" - }, - "x-example": [ - {} - ] + "description": "Key expiration date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "platforms": { + "scopes": { "type": "array", - "description": "List of Platforms.", + "description": "Allowed permission scopes.", "items": { - "x-anyOf": [ - { - "$ref": "#\/definitions\/platformWeb" - }, - { - "$ref": "#\/definitions\/platformApple" - }, - { - "$ref": "#\/definitions\/platformAndroid" - }, - { - "$ref": "#\/definitions\/platformWindows" - }, - { - "$ref": "#\/definitions\/platformLinux" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/definitions\/platformWeb", - "apple": "#\/definitions\/platformApple", - "android": "#\/definitions\/platformAndroid", - "windows": "#\/definitions\/platformWindows", - "linux": "#\/definitions\/platformLinux" - } - } + "type": "string" }, - "x-example": {} + "x-example": "users.read" }, - "webhooks": { - "type": "array", - "description": "List of Webhooks.", - "items": { - "type": "object", - "$ref": "#\/definitions\/webhook" - }, - "x-example": {} + "secret": { + "type": "string", + "description": "Secret key.", + "x-example": "919c2d18fb5d4...a2ae413da83346ad2" }, - "keys": { - "type": "array", - "description": "List of API Keys.", - "items": { - "type": "object", - "$ref": "#\/definitions\/key" - }, - "x-example": {} + "accessedAt": { + "type": "string", + "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "devKeys": { + "sdks": { "type": "array", - "description": "List of dev keys.", + "description": "List of SDK user agents that used this key.", "items": { - "type": "object", - "$ref": "#\/definitions\/devKey" + "type": "string" }, - "x-example": {} - }, - "smtpEnabled": { - "type": "boolean", - "description": "Status for custom SMTP", - "x-example": false - }, - "smtpSenderName": { - "type": "string", - "description": "SMTP sender name", - "x-example": "John Appwrite" - }, - "smtpSenderEmail": { - "type": "string", - "description": "SMTP sender email", - "x-example": "john@appwrite.io" - }, - "smtpReplyToName": { + "x-example": "appwrite:flutter" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "expire", + "scopes", + "secret", + "accessedAt", + "sdks" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My API Key", + "expire": "2020-10-15T06:38:00.000+00:00", + "scopes": "users.read", + "secret": "919c2d18fb5d4...a2ae413da83346ad2", + "accessedAt": "2020-10-15T06:38:00.000+00:00", + "sdks": "appwrite:flutter" + } + }, + "devKey": { + "description": "DevKey", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "SMTP reply to name", - "x-example": "Support Team" + "description": "Key ID.", + "x-example": "5e5ea5c16897e" }, - "smtpReplyToEmail": { + "$createdAt": { "type": "string", - "description": "SMTP reply to email", - "x-example": "support@appwrite.io" + "description": "Key creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "smtpHost": { + "$updatedAt": { "type": "string", - "description": "SMTP server host name", - "x-example": "mail.appwrite.io" - }, - "smtpPort": { - "type": "integer", - "description": "SMTP server port", - "x-example": 25, - "format": "int32" + "description": "Key update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "smtpUsername": { + "name": { "type": "string", - "description": "SMTP server username", - "x-example": "emailuser" + "description": "Key name.", + "x-example": "Dev API Key" }, - "smtpPassword": { + "expire": { "type": "string", - "description": "SMTP server password. This property is write-only and always returned empty.", - "x-example": "" + "description": "Key expiration date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "smtpSecure": { + "secret": { "type": "string", - "description": "SMTP server secure protocol", - "x-example": "tls" - }, - "pingCount": { - "type": "integer", - "description": "Number of times the ping was received for this project.", - "x-example": 1, - "format": "int32" + "description": "Secret key.", + "x-example": "919c2d18fb5d4...a2ae413da83346ad2" }, - "pingedAt": { + "accessedAt": { "type": "string", - "description": "Last ping datetime in ISO 8601 format.", + "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "labels": { + "sdks": { "type": "array", - "description": "Labels for the project.", + "description": "List of SDK user agents that used this key.", "items": { "type": "string" }, - "x-example": [ - "vip" - ] - }, - "status": { + "x-example": "appwrite:flutter" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "expire", + "secret", + "accessedAt", + "sdks" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "Dev API Key", + "expire": "2020-10-15T06:38:00.000+00:00", + "secret": "919c2d18fb5d4...a2ae413da83346ad2", + "accessedAt": "2020-10-15T06:38:00.000+00:00", + "sdks": "appwrite:flutter" + } + }, + "mockNumber": { + "description": "Mock Number", + "type": "object", + "properties": { + "number": { "type": "string", - "description": "Project status", - "x-example": "active" - }, - "authEmailPassword": { - "type": "boolean", - "description": "Email\/Password auth method status", - "x-example": true - }, - "authUsersAuthMagicURL": { - "type": "boolean", - "description": "Magic URL auth method status", - "x-example": true - }, - "authEmailOtp": { - "type": "boolean", - "description": "Email (OTP) auth method status", - "x-example": true - }, - "authAnonymous": { - "type": "boolean", - "description": "Anonymous auth method status", - "x-example": true - }, - "authInvites": { - "type": "boolean", - "description": "Invites auth method status", - "x-example": true - }, - "authJWT": { - "type": "boolean", - "description": "JWT auth method status", - "x-example": true - }, - "authPhone": { - "type": "boolean", - "description": "Phone auth method status", - "x-example": true - }, - "serviceStatusForAccount": { - "type": "boolean", - "description": "Account service status", - "x-example": true - }, - "serviceStatusForAvatars": { - "type": "boolean", - "description": "Avatars service status", - "x-example": true - }, - "serviceStatusForDatabases": { - "type": "boolean", - "description": "Databases (legacy) service status", - "x-example": true - }, - "serviceStatusForTablesdb": { - "type": "boolean", - "description": "TablesDB service status", - "x-example": true + "description": "Mock phone number for testing phone authentication. Useful for testing phone authentication without sending an SMS.", + "x-example": "+1612842323" }, - "serviceStatusForLocale": { - "type": "boolean", - "description": "Locale service status", - "x-example": true + "otp": { + "type": "string", + "description": "Mock OTP for the number. ", + "x-example": "123456" }, - "serviceStatusForHealth": { - "type": "boolean", - "description": "Health service status", - "x-example": true + "$createdAt": { + "type": "string", + "description": "Attribute creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "serviceStatusForProject": { - "type": "boolean", - "description": "Project service status", - "x-example": true + "$updatedAt": { + "type": "string", + "description": "Attribute update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "number", + "otp", + "$createdAt", + "$updatedAt" + ], + "example": { + "number": "+1612842323", + "otp": "123456", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00" + } + }, + "oAuth2Github": { + "description": "OAuth2GitHub", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "serviceStatusForStorage": { + "enabled": { "type": "boolean", - "description": "Storage service status", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "serviceStatusForTeams": { - "type": "boolean", - "description": "Teams service status", - "x-example": true + "clientId": { + "type": "string", + "description": "GitHub OAuth2 client ID. For GitHub Apps, use the \"App ID\" when both an App ID and client ID are available.", + "x-example": "e4d87900000000540733" }, - "serviceStatusForUsers": { - "type": "boolean", - "description": "Users service status", - "x-example": true + "clientSecret": { + "type": "string", + "description": "GitHub OAuth2 client secret.", + "x-example": "5e07c00000000000000000000000000000198bcc" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "e4d87900000000540733", + "clientSecret": "5e07c00000000000000000000000000000198bcc" + } + }, + "oAuth2Discord": { + "description": "OAuth2Discord", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "serviceStatusForVcs": { + "enabled": { "type": "boolean", - "description": "VCS service status", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "serviceStatusForSites": { - "type": "boolean", - "description": "Sites service status", - "x-example": true + "clientId": { + "type": "string", + "description": "Discord OAuth2 client ID.", + "x-example": "950722000000343754" }, - "serviceStatusForFunctions": { - "type": "boolean", - "description": "Functions service status", - "x-example": true + "clientSecret": { + "type": "string", + "description": "Discord OAuth2 client secret.", + "x-example": "YmPXnM000000000000000000002zFg5D" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "950722000000343754", + "clientSecret": "YmPXnM000000000000000000002zFg5D" + } + }, + "oAuth2Figma": { + "description": "OAuth2Figma", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "serviceStatusForProxy": { + "enabled": { "type": "boolean", - "description": "Proxy service status", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "serviceStatusForGraphql": { - "type": "boolean", - "description": "GraphQL service status", - "x-example": true + "clientId": { + "type": "string", + "description": "Figma OAuth2 client ID.", + "x-example": "byay5H0000000000VtiI40" }, - "serviceStatusForMigrations": { - "type": "boolean", - "description": "Migrations service status", - "x-example": true + "clientSecret": { + "type": "string", + "description": "Figma OAuth2 client secret.", + "x-example": "yEpOYn0000000000000000004iIsU5" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "byay5H0000000000VtiI40", + "clientSecret": "yEpOYn0000000000000000004iIsU5" + } + }, + "oAuth2Dropbox": { + "description": "OAuth2Dropbox", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "serviceStatusForMessaging": { + "enabled": { "type": "boolean", - "description": "Messaging service status", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "protocolStatusForRest": { - "type": "boolean", - "description": "REST protocol status", - "x-example": true + "appKey": { + "type": "string", + "description": "Dropbox OAuth2 app key.", + "x-example": "jl000000000009t" }, - "protocolStatusForGraphql": { - "type": "boolean", - "description": "GraphQL protocol status", - "x-example": true + "appSecret": { + "type": "string", + "description": "Dropbox OAuth2 app secret.", + "x-example": "g200000000000vw" + } + }, + "required": [ + "$id", + "enabled", + "appKey", + "appSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "appKey": "jl000000000009t", + "appSecret": "g200000000000vw" + } + }, + "oAuth2Dailymotion": { + "description": "OAuth2Dailymotion", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "protocolStatusForWebsocket": { + "enabled": { "type": "boolean", - "description": "Websocket protocol status", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "region": { + "apiKey": { "type": "string", - "description": "Project region", - "x-example": "fra" - }, - "billingLimits": { - "type": "object", - "description": "Billing limits reached", - "x-example": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/billingLimits" - } - }, - "blocks": { - "type": "array", - "description": "Project blocks information", - "items": { - "type": "object", - "$ref": "#\/definitions\/block" - }, - "x-example": "" + "description": "Dailymotion OAuth2 API key.", + "x-example": "07a9000000000000067f" }, - "consoleAccessedAt": { + "apiSecret": { "type": "string", - "description": "Last time the project was accessed via console. Used with plan's projectInactivityDays to determine if project is paused.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Dailymotion OAuth2 API secret.", + "x-example": "a399a90000000000000000000000000000d90639" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", - "description", - "teamId", - "logo", - "url", - "legalName", - "legalCountry", - "legalState", - "legalCity", - "legalAddress", - "legalTaxId", - "authDuration", - "authLimit", - "authSessionsLimit", - "authPasswordHistory", - "authPasswordDictionary", - "authPersonalDataCheck", - "authDisposableEmails", - "authCanonicalEmails", - "authFreeEmails", - "authMockNumbers", - "authSessionAlerts", - "authMembershipsUserName", - "authMembershipsUserEmail", - "authMembershipsMfa", - "authMembershipsUserId", - "authMembershipsUserPhone", - "authInvalidateSessions", - "oAuthProviders", - "platforms", - "webhooks", - "keys", - "devKeys", - "smtpEnabled", - "smtpSenderName", - "smtpSenderEmail", - "smtpReplyToName", - "smtpReplyToEmail", - "smtpHost", - "smtpPort", - "smtpUsername", - "smtpPassword", - "smtpSecure", - "pingCount", - "pingedAt", - "labels", - "status", - "authEmailPassword", - "authUsersAuthMagicURL", - "authEmailOtp", - "authAnonymous", - "authInvites", - "authJWT", - "authPhone", - "serviceStatusForAccount", - "serviceStatusForAvatars", - "serviceStatusForDatabases", - "serviceStatusForTablesdb", - "serviceStatusForLocale", - "serviceStatusForHealth", - "serviceStatusForProject", - "serviceStatusForStorage", - "serviceStatusForTeams", - "serviceStatusForUsers", - "serviceStatusForVcs", - "serviceStatusForSites", - "serviceStatusForFunctions", - "serviceStatusForProxy", - "serviceStatusForGraphql", - "serviceStatusForMigrations", - "serviceStatusForMessaging", - "protocolStatusForRest", - "protocolStatusForGraphql", - "protocolStatusForWebsocket", - "region", - "billingLimits", - "blocks", - "consoleAccessedAt" + "enabled", + "apiKey", + "apiSecret" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "New Project", - "description": "This is a new project.", - "teamId": "1592981250", - "logo": "5f5c451b403cb", - "url": "5f5c451b403cb", - "legalName": "Company LTD.", - "legalCountry": "US", - "legalState": "New York", - "legalCity": "New York City.", - "legalAddress": "620 Eighth Avenue, New York, NY 10018", - "legalTaxId": "131102020", - "authDuration": 60, - "authLimit": 100, - "authSessionsLimit": 10, - "authPasswordHistory": 5, - "authPasswordDictionary": true, - "authPersonalDataCheck": true, - "authDisposableEmails": true, - "authCanonicalEmails": true, - "authFreeEmails": true, - "authMockNumbers": [ - {} - ], - "authSessionAlerts": true, - "authMembershipsUserName": true, - "authMembershipsUserEmail": true, - "authMembershipsMfa": true, - "authMembershipsUserId": true, - "authMembershipsUserPhone": true, - "authInvalidateSessions": true, - "oAuthProviders": [ - {} - ], - "platforms": {}, - "webhooks": {}, - "keys": {}, - "devKeys": {}, - "smtpEnabled": false, - "smtpSenderName": "John Appwrite", - "smtpSenderEmail": "john@appwrite.io", - "smtpReplyToName": "Support Team", - "smtpReplyToEmail": "support@appwrite.io", - "smtpHost": "mail.appwrite.io", - "smtpPort": 25, - "smtpUsername": "emailuser", - "smtpPassword": "", - "smtpSecure": "tls", - "pingCount": 1, - "pingedAt": "2020-10-15T06:38:00.000+00:00", - "labels": [ - "vip" - ], - "status": "active", - "authEmailPassword": true, - "authUsersAuthMagicURL": true, - "authEmailOtp": true, - "authAnonymous": true, - "authInvites": true, - "authJWT": true, - "authPhone": true, - "serviceStatusForAccount": true, - "serviceStatusForAvatars": true, - "serviceStatusForDatabases": true, - "serviceStatusForTablesdb": true, - "serviceStatusForLocale": true, - "serviceStatusForHealth": true, - "serviceStatusForProject": true, - "serviceStatusForStorage": true, - "serviceStatusForTeams": true, - "serviceStatusForUsers": true, - "serviceStatusForVcs": true, - "serviceStatusForSites": true, - "serviceStatusForFunctions": true, - "serviceStatusForProxy": true, - "serviceStatusForGraphql": true, - "serviceStatusForMigrations": true, - "serviceStatusForMessaging": true, - "protocolStatusForRest": true, - "protocolStatusForGraphql": true, - "protocolStatusForWebsocket": true, - "region": "fra", - "billingLimits": "", - "blocks": "", - "consoleAccessedAt": "2020-10-15T06:38:00.000+00:00" + "$id": "github", + "enabled": false, + "apiKey": "07a9000000000000067f", + "apiSecret": "a399a90000000000000000000000000000d90639" } }, - "webhook": { - "description": "Webhook", + "oAuth2Bitbucket": { + "description": "OAuth2Bitbucket", "type": "object", "properties": { "$id": { "type": "string", - "description": "Webhook ID.", - "x-example": "5e5ea5c16897e" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "$createdAt": { - "type": "string", - "description": "Webhook creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "$updatedAt": { + "key": { "type": "string", - "description": "Webhook update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Bitbucket OAuth2 key.", + "x-example": "Knt70000000000ByRc" }, - "name": { + "secret": { "type": "string", - "description": "Webhook name.", - "x-example": "My Webhook" - }, - "url": { + "description": "Bitbucket OAuth2 secret.", + "x-example": "NMfLZJ00000000000000000000TLQdDx" + } + }, + "required": [ + "$id", + "enabled", + "key", + "secret" + ], + "example": { + "$id": "github", + "enabled": false, + "key": "Knt70000000000ByRc", + "secret": "NMfLZJ00000000000000000000TLQdDx" + } + }, + "oAuth2Bitly": { + "description": "OAuth2Bitly", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "Webhook URL endpoint.", - "x-example": "https:\/\/example.com\/webhook" - }, - "events": { - "type": "array", - "description": "Webhook trigger events.", - "items": { - "type": "string" - }, - "x-example": [ - "databases.tables.update", - "databases.collections.update" - ] + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "tls": { + "enabled": { "type": "boolean", - "description": "Indicates if SSL \/ TLS certificate verification is enabled.", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "authUsername": { + "clientId": { "type": "string", - "description": "HTTP basic authentication username.", - "x-example": "username" + "description": "Bitly OAuth2 client ID.", + "x-example": "d95151000000000000000000000000000067af9b" }, - "authPassword": { + "clientSecret": { "type": "string", - "description": "HTTP basic authentication password.", - "x-example": "password" - }, - "secret": { + "description": "Bitly OAuth2 client secret.", + "x-example": "a13e250000000000000000000000000000d73095" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "d95151000000000000000000000000000067af9b", + "clientSecret": "a13e250000000000000000000000000000d73095" + } + }, + "oAuth2Box": { + "description": "OAuth2Box", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "Signature key which can be used to validate incoming webhook payloads. Only returned on creation and secret rotation.", - "x-example": "ad3d581ca230e2b7059c545e5a" + "description": "OAuth2 provider ID.", + "x-example": "github" }, "enabled": { "type": "boolean", - "description": "Indicates if this webhook is enabled.", - "x-example": true + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "logs": { + "clientId": { "type": "string", - "description": "Webhook error logs from the most recent failure.", - "x-example": "Failed to connect to remote server." + "description": "Box OAuth2 client ID.", + "x-example": "deglcs00000000000000000000x2og6y" }, - "attempts": { - "type": "integer", - "description": "Number of consecutive failed webhook attempts.", - "x-example": 10, - "format": "int32" + "clientSecret": { + "type": "string", + "description": "Box OAuth2 client secret.", + "x-example": "OKM1f100000000000000000000eshEif" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", - "url", - "events", - "tls", - "authUsername", - "authPassword", - "secret", "enabled", - "logs", - "attempts" + "clientId", + "clientSecret" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Webhook", - "url": "https:\/\/example.com\/webhook", - "events": [ - "databases.tables.update", - "databases.collections.update" - ], - "tls": true, - "authUsername": "username", - "authPassword": "password", - "secret": "ad3d581ca230e2b7059c545e5a", - "enabled": true, - "logs": "Failed to connect to remote server.", - "attempts": 10 + "$id": "github", + "enabled": false, + "clientId": "deglcs00000000000000000000x2og6y", + "clientSecret": "OKM1f100000000000000000000eshEif" } }, - "key": { - "description": "Key", + "oAuth2Autodesk": { + "description": "OAuth2Autodesk", "type": "object", "properties": { "$id": { "type": "string", - "description": "Key ID.", - "x-example": "5e5ea5c16897e" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "$createdAt": { - "type": "string", - "description": "Key creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "$updatedAt": { + "clientId": { "type": "string", - "description": "Key update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Autodesk OAuth2 client ID.", + "x-example": "5zw90v00000000000000000000kVYXN7" }, - "name": { + "clientSecret": { "type": "string", - "description": "Key name.", - "x-example": "My API Key" - }, - "expire": { + "description": "Autodesk OAuth2 client secret.", + "x-example": "7I000000000000MW" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "5zw90v00000000000000000000kVYXN7", + "clientSecret": "7I000000000000MW" + } + }, + "oAuth2Google": { + "description": "OAuth2Google", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "Key expiration date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "scopes": { - "type": "array", - "description": "Allowed permission scopes.", - "items": { - "type": "string" - }, - "x-example": "users.read" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "secret": { + "clientId": { "type": "string", - "description": "Secret key.", - "x-example": "919c2d18fb5d4...a2ae413da83346ad2" + "description": "Google OAuth2 client ID.", + "x-example": "120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com" }, - "accessedAt": { + "clientSecret": { "type": "string", - "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Google OAuth2 client secret.", + "x-example": "GOCSPX-2k8gsR0000000000000000VNahJj" }, - "sdks": { + "prompt": { "type": "array", - "description": "List of SDK user agents that used this key.", + "description": "Google OAuth2 prompt values.", "items": { - "type": "string" + "type": "string", + "enum": [ + "none", + "consent", + "select_account" + ] }, - "x-example": "appwrite:flutter" + "x-example": [ + "consent" + ] } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", - "expire", - "scopes", - "secret", - "accessedAt", - "sdks" + "enabled", + "clientId", + "clientSecret", + "prompt" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My API Key", - "expire": "2020-10-15T06:38:00.000+00:00", - "scopes": "users.read", - "secret": "919c2d18fb5d4...a2ae413da83346ad2", - "accessedAt": "2020-10-15T06:38:00.000+00:00", - "sdks": "appwrite:flutter" + "$id": "github", + "enabled": false, + "clientId": "120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", + "clientSecret": "GOCSPX-2k8gsR0000000000000000VNahJj", + "prompt": [ + "consent" + ] } }, - "ephemeralKey": { - "description": "Ephemeral Key", + "oAuth2Zoom": { + "description": "OAuth2Zoom", "type": "object", "properties": { "$id": { "type": "string", - "description": "Key ID.", - "x-example": "5e5ea5c16897e" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "$createdAt": { - "type": "string", - "description": "Key creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "$updatedAt": { + "clientId": { "type": "string", - "description": "Key update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Zoom OAuth2 client ID.", + "x-example": "QMAC00000000000000w0AQ" }, - "name": { + "clientSecret": { "type": "string", - "description": "Key name.", - "x-example": "My API Key" - }, - "expire": { + "description": "Zoom OAuth2 client secret.", + "x-example": "GAWsG4000000000000000000007U01ON" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "QMAC00000000000000w0AQ", + "clientSecret": "GAWsG4000000000000000000007U01ON" + } + }, + "oAuth2Zoho": { + "description": "OAuth2Zoho", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "Key expiration date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "scopes": { - "type": "array", - "description": "Allowed permission scopes.", - "items": { - "type": "string" - }, - "x-example": "users.read" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "secret": { + "clientId": { + "type": "string", + "description": "Zoho OAuth2 client ID.", + "x-example": "1000.83C178000000000000000000RPNX0B" + }, + "clientSecret": { + "type": "string", + "description": "Zoho OAuth2 client secret.", + "x-example": "fb5cac000000000000000000000000000000a68f6e" + } + }, + "required": [ + "$id", + "enabled", + "clientId", + "clientSecret" + ], + "example": { + "$id": "github", + "enabled": false, + "clientId": "1000.83C178000000000000000000RPNX0B", + "clientSecret": "fb5cac000000000000000000000000000000a68f6e" + } + }, + "oAuth2Yandex": { + "description": "OAuth2Yandex", + "type": "object", + "properties": { + "$id": { "type": "string", - "description": "Secret key.", - "x-example": "919c2d18fb5d4...a2ae413da83346ad2" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "accessedAt": { + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false + }, + "clientId": { "type": "string", - "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Yandex OAuth2 client ID.", + "x-example": "6a8a6a0000000000000000000091483c" }, - "sdks": { - "type": "array", - "description": "List of SDK user agents that used this key.", - "items": { - "type": "string" - }, - "x-example": "appwrite:flutter" + "clientSecret": { + "type": "string", + "description": "Yandex OAuth2 client secret.", + "x-example": "bbf98500000000000000000000c75a63" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", - "expire", - "scopes", - "secret", - "accessedAt", - "sdks" + "enabled", + "clientId", + "clientSecret" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My API Key", - "expire": "2020-10-15T06:38:00.000+00:00", - "scopes": "users.read", - "secret": "919c2d18fb5d4...a2ae413da83346ad2", - "accessedAt": "2020-10-15T06:38:00.000+00:00", - "sdks": "appwrite:flutter" + "$id": "github", + "enabled": false, + "clientId": "6a8a6a0000000000000000000091483c", + "clientSecret": "bbf98500000000000000000000c75a63" } }, - "devKey": { - "description": "DevKey", + "oAuth2X": { + "description": "OAuth2X", "type": "object", "properties": { "$id": { "type": "string", - "description": "Key ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Key creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Key update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "name": { - "type": "string", - "description": "Key name.", - "x-example": "Dev API Key" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "expire": { - "type": "string", - "description": "Key expiration date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "secret": { + "customerKey": { "type": "string", - "description": "Secret key.", - "x-example": "919c2d18fb5d4...a2ae413da83346ad2" + "description": "X OAuth2 customer key.", + "x-example": "slzZV0000000000000NFLaWT" }, - "accessedAt": { + "secretKey": { "type": "string", - "description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "sdks": { - "type": "array", - "description": "List of SDK user agents that used this key.", - "items": { - "type": "string" - }, - "x-example": "appwrite:flutter" + "description": "X OAuth2 secret key.", + "x-example": "tkEPkp00000000000000000000000000000000000000FTxbI9" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "name", - "expire", - "secret", - "accessedAt", - "sdks" + "enabled", + "customerKey", + "secretKey" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "Dev API Key", - "expire": "2020-10-15T06:38:00.000+00:00", - "secret": "919c2d18fb5d4...a2ae413da83346ad2", - "accessedAt": "2020-10-15T06:38:00.000+00:00", - "sdks": "appwrite:flutter" + "$id": "github", + "enabled": false, + "customerKey": "slzZV0000000000000NFLaWT", + "secretKey": "tkEPkp00000000000000000000000000000000000000FTxbI9" } }, - "mockNumber": { - "description": "Mock Number", + "oAuth2WordPress": { + "description": "OAuth2WordPress", "type": "object", "properties": { - "number": { + "$id": { "type": "string", - "description": "Mock phone number for testing phone authentication. Useful for testing phone authentication without sending an SMS.", - "x-example": "+1612842323" + "description": "OAuth2 provider ID.", + "x-example": "github" }, - "otp": { - "type": "string", - "description": "Mock OTP for the number. ", - "x-example": "123456" + "enabled": { + "type": "boolean", + "description": "OAuth2 provider is active and can be used to create sessions.", + "x-example": false }, - "$createdAt": { + "clientId": { "type": "string", - "description": "Attribute creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "WordPress OAuth2 client ID.", + "x-example": "130005" }, - "$updatedAt": { + "clientSecret": { "type": "string", - "description": "Attribute update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "WordPress OAuth2 client secret.", + "x-example": "PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk" } }, "required": [ - "number", - "otp", - "$createdAt", - "$updatedAt" + "$id", + "enabled", + "clientId", + "clientSecret" ], "example": { - "number": "+1612842323", - "otp": "123456", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00" + "$id": "github", + "enabled": false, + "clientId": "130005", + "clientSecret": "PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk" } }, - "oAuth2Github": { - "description": "OAuth2GitHub", + "oAuth2Twitch": { + "description": "OAuth2Twitch", "type": "object", "properties": { "$id": { @@ -86867,13 +91098,13 @@ }, "clientId": { "type": "string", - "description": "GitHub OAuth2 client ID. For GitHub Apps, use the \"App ID\" when both an App ID and client ID are available.", - "x-example": "e4d87900000000540733" + "description": "Twitch OAuth2 client ID.", + "x-example": "vvi0in000000000000000000ikmt9p" }, "clientSecret": { "type": "string", - "description": "GitHub OAuth2 client secret.", - "x-example": "5e07c00000000000000000000000000000198bcc" + "description": "Twitch OAuth2 client secret.", + "x-example": "pmapue000000000000000000zylw3v" } }, "required": [ @@ -86885,12 +91116,12 @@ "example": { "$id": "github", "enabled": false, - "clientId": "e4d87900000000540733", - "clientSecret": "5e07c00000000000000000000000000000198bcc" + "clientId": "vvi0in000000000000000000ikmt9p", + "clientSecret": "pmapue000000000000000000zylw3v" } }, - "oAuth2Discord": { - "description": "OAuth2Discord", + "oAuth2Stripe": { + "description": "OAuth2Stripe", "type": "object", "properties": { "$id": { @@ -86905,30 +91136,30 @@ }, "clientId": { "type": "string", - "description": "Discord OAuth2 client ID.", - "x-example": "950722000000343754" + "description": "Stripe OAuth2 client ID.", + "x-example": "ca_UKibXX0000000000000000000006byvR" }, - "clientSecret": { + "apiSecretKey": { "type": "string", - "description": "Discord OAuth2 client secret.", - "x-example": "YmPXnM000000000000000000002zFg5D" + "description": "Stripe OAuth2 API secret key.", + "x-example": "sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "apiSecretKey" ], "example": { "$id": "github", "enabled": false, - "clientId": "950722000000343754", - "clientSecret": "YmPXnM000000000000000000002zFg5D" + "clientId": "ca_UKibXX0000000000000000000006byvR", + "apiSecretKey": "sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp" } }, - "oAuth2Figma": { - "description": "OAuth2Figma", + "oAuth2Spotify": { + "description": "OAuth2Spotify", "type": "object", "properties": { "$id": { @@ -86943,13 +91174,13 @@ }, "clientId": { "type": "string", - "description": "Figma OAuth2 client ID.", - "x-example": "byay5H0000000000VtiI40" + "description": "Spotify OAuth2 client ID.", + "x-example": "6ec271000000000000000000009beace" }, "clientSecret": { "type": "string", - "description": "Figma OAuth2 client secret.", - "x-example": "yEpOYn0000000000000000004iIsU5" + "description": "Spotify OAuth2 client secret.", + "x-example": "db068a000000000000000000008b5b9f" } }, "required": [ @@ -86961,12 +91192,12 @@ "example": { "$id": "github", "enabled": false, - "clientId": "byay5H0000000000VtiI40", - "clientSecret": "yEpOYn0000000000000000004iIsU5" + "clientId": "6ec271000000000000000000009beace", + "clientSecret": "db068a000000000000000000008b5b9f" } }, - "oAuth2Dropbox": { - "description": "OAuth2Dropbox", + "oAuth2Slack": { + "description": "OAuth2Slack", "type": "object", "properties": { "$id": { @@ -86979,32 +91210,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "appKey": { + "clientId": { "type": "string", - "description": "Dropbox OAuth2 app key.", - "x-example": "jl000000000009t" + "description": "Slack OAuth2 client ID.", + "x-example": "23000000089.15000000000023" }, - "appSecret": { + "clientSecret": { "type": "string", - "description": "Dropbox OAuth2 app secret.", - "x-example": "g200000000000vw" + "description": "Slack OAuth2 client secret.", + "x-example": "81656000000000000000000000f3d2fd" } }, "required": [ "$id", "enabled", - "appKey", - "appSecret" + "clientId", + "clientSecret" ], "example": { "$id": "github", "enabled": false, - "appKey": "jl000000000009t", - "appSecret": "g200000000000vw" + "clientId": "23000000089.15000000000023", + "clientSecret": "81656000000000000000000000f3d2fd" } }, - "oAuth2Dailymotion": { - "description": "OAuth2Dailymotion", + "oAuth2Podio": { + "description": "OAuth2Podio", "type": "object", "properties": { "$id": { @@ -87017,32 +91248,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "apiKey": { + "clientId": { "type": "string", - "description": "Dailymotion OAuth2 API key.", - "x-example": "07a9000000000000067f" + "description": "Podio OAuth2 client ID.", + "x-example": "appwrite-oauth-test-app" }, - "apiSecret": { + "clientSecret": { "type": "string", - "description": "Dailymotion OAuth2 API secret.", - "x-example": "a399a90000000000000000000000000000d90639" + "description": "Podio OAuth2 client secret.", + "x-example": "Rn247T0000000000000000000000000000000000000000000000000000W2zWTN" } }, "required": [ "$id", "enabled", - "apiKey", - "apiSecret" + "clientId", + "clientSecret" ], "example": { "$id": "github", "enabled": false, - "apiKey": "07a9000000000000067f", - "apiSecret": "a399a90000000000000000000000000000d90639" + "clientId": "appwrite-oauth-test-app", + "clientSecret": "Rn247T0000000000000000000000000000000000000000000000000000W2zWTN" } }, - "oAuth2Bitbucket": { - "description": "OAuth2Bitbucket", + "oAuth2Notion": { + "description": "OAuth2Notion", "type": "object", "properties": { "$id": { @@ -87055,32 +91286,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "key": { + "oauthClientId": { "type": "string", - "description": "Bitbucket OAuth2 key.", - "x-example": "Knt70000000000ByRc" + "description": "Notion OAuth2 client ID.", + "x-example": "341d8700-0000-0000-0000-000000446ee3" }, - "secret": { + "oauthClientSecret": { "type": "string", - "description": "Bitbucket OAuth2 secret.", - "x-example": "NMfLZJ00000000000000000000TLQdDx" + "description": "Notion OAuth2 client secret.", + "x-example": "secret_dLUr4b000000000000000000000000000000lFHAa9" } }, "required": [ "$id", "enabled", - "key", - "secret" + "oauthClientId", + "oauthClientSecret" ], "example": { "$id": "github", "enabled": false, - "key": "Knt70000000000ByRc", - "secret": "NMfLZJ00000000000000000000TLQdDx" + "oauthClientId": "341d8700-0000-0000-0000-000000446ee3", + "oauthClientSecret": "secret_dLUr4b000000000000000000000000000000lFHAa9" } }, - "oAuth2Bitly": { - "description": "OAuth2Bitly", + "oAuth2Salesforce": { + "description": "OAuth2Salesforce", "type": "object", "properties": { "$id": { @@ -87093,32 +91324,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "customerKey": { "type": "string", - "description": "Bitly OAuth2 client ID.", - "x-example": "d95151000000000000000000000000000067af9b" + "description": "Salesforce OAuth2 consumer key.", + "x-example": "3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq" }, - "clientSecret": { + "customerSecret": { "type": "string", - "description": "Bitly OAuth2 client secret.", - "x-example": "a13e250000000000000000000000000000d73095" + "description": "Salesforce OAuth2 consumer secret.", + "x-example": "3w000000000000e2" } }, "required": [ "$id", "enabled", - "clientId", - "clientSecret" + "customerKey", + "customerSecret" ], "example": { "$id": "github", "enabled": false, - "clientId": "d95151000000000000000000000000000067af9b", - "clientSecret": "a13e250000000000000000000000000000d73095" + "customerKey": "3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", + "customerSecret": "3w000000000000e2" } }, - "oAuth2Box": { - "description": "OAuth2Box", + "oAuth2Yahoo": { + "description": "OAuth2Yahoo", "type": "object", "properties": { "$id": { @@ -87133,13 +91364,13 @@ }, "clientId": { "type": "string", - "description": "Box OAuth2 client ID.", - "x-example": "deglcs00000000000000000000x2og6y" + "description": "Yahoo OAuth2 client ID.", + "x-example": "dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm" }, "clientSecret": { "type": "string", - "description": "Box OAuth2 client secret.", - "x-example": "OKM1f100000000000000000000eshEif" + "description": "Yahoo OAuth2 client secret.", + "x-example": "cf978f0000000000000000000000000000c5e2e9" } }, "required": [ @@ -87151,12 +91382,12 @@ "example": { "$id": "github", "enabled": false, - "clientId": "deglcs00000000000000000000x2og6y", - "clientSecret": "OKM1f100000000000000000000eshEif" + "clientId": "dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", + "clientSecret": "cf978f0000000000000000000000000000c5e2e9" } }, - "oAuth2Autodesk": { - "description": "OAuth2Autodesk", + "oAuth2Linkedin": { + "description": "OAuth2Linkedin", "type": "object", "properties": { "$id": { @@ -87171,30 +91402,30 @@ }, "clientId": { "type": "string", - "description": "Autodesk OAuth2 client ID.", - "x-example": "5zw90v00000000000000000000kVYXN7" + "description": "LinkedIn OAuth2 client ID.", + "x-example": "770000000000dv" }, - "clientSecret": { + "primaryClientSecret": { "type": "string", - "description": "Autodesk OAuth2 client secret.", - "x-example": "7I000000000000MW" + "description": "LinkedIn OAuth2 primary client secret.", + "x-example": "WPL_AP1.2Bf0000000000000.\/HtlYw==" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "primaryClientSecret" ], "example": { "$id": "github", "enabled": false, - "clientId": "5zw90v00000000000000000000kVYXN7", - "clientSecret": "7I000000000000MW" + "clientId": "770000000000dv", + "primaryClientSecret": "WPL_AP1.2Bf0000000000000.\/HtlYw==" } }, - "oAuth2Google": { - "description": "OAuth2Google", + "oAuth2Disqus": { + "description": "OAuth2Disqus", "type": "object", "properties": { "$id": { @@ -87207,51 +91438,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "publicKey": { "type": "string", - "description": "Google OAuth2 client ID.", - "x-example": "120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com" + "description": "Disqus OAuth2 public key.", + "x-example": "cgegH70000000000000000000000000000000000000000000000000000Hr1nYX" }, - "clientSecret": { + "secretKey": { "type": "string", - "description": "Google OAuth2 client secret.", - "x-example": "GOCSPX-2k8gsR0000000000000000VNahJj" - }, - "prompt": { - "type": "array", - "description": "Google OAuth2 prompt values.", - "items": { - "type": "string", - "enum": [ - "none", - "consent", - "select_account" - ] - }, - "x-example": [ - "consent" - ] + "description": "Disqus OAuth2 secret key.", + "x-example": "W7Bykj00000000000000000000000000000000000000000000000000003o43w9" } }, "required": [ "$id", "enabled", - "clientId", - "clientSecret", - "prompt" + "publicKey", + "secretKey" ], "example": { "$id": "github", "enabled": false, - "clientId": "120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", - "clientSecret": "GOCSPX-2k8gsR0000000000000000VNahJj", - "prompt": [ - "consent" - ] + "publicKey": "cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", + "secretKey": "W7Bykj00000000000000000000000000000000000000000000000000003o43w9" } }, - "oAuth2Zoom": { - "description": "OAuth2Zoom", + "oAuth2Amazon": { + "description": "OAuth2Amazon", "type": "object", "properties": { "$id": { @@ -87266,13 +91478,13 @@ }, "clientId": { "type": "string", - "description": "Zoom OAuth2 client ID.", - "x-example": "QMAC00000000000000w0AQ" + "description": "Amazon OAuth2 client ID.", + "x-example": "amzn1.application-oa2-client.87400c00000000000000000000063d5b2" }, "clientSecret": { "type": "string", - "description": "Zoom OAuth2 client secret.", - "x-example": "GAWsG4000000000000000000007U01ON" + "description": "Amazon OAuth2 client secret.", + "x-example": "79ffe4000000000000000000000000000000000000000000000000000002de55" } }, "required": [ @@ -87284,12 +91496,12 @@ "example": { "$id": "github", "enabled": false, - "clientId": "QMAC00000000000000w0AQ", - "clientSecret": "GAWsG4000000000000000000007U01ON" + "clientId": "amzn1.application-oa2-client.87400c00000000000000000000063d5b2", + "clientSecret": "79ffe4000000000000000000000000000000000000000000000000000002de55" } }, - "oAuth2Zoho": { - "description": "OAuth2Zoho", + "oAuth2Etsy": { + "description": "OAuth2Etsy", "type": "object", "properties": { "$id": { @@ -87302,32 +91514,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "keyString": { "type": "string", - "description": "Zoho OAuth2 client ID.", - "x-example": "1000.83C178000000000000000000RPNX0B" + "description": "Etsy OAuth2 keystring.", + "x-example": "nsgzxh0000000000008j85a2" }, - "clientSecret": { + "sharedSecret": { "type": "string", - "description": "Zoho OAuth2 client secret.", - "x-example": "fb5cac000000000000000000000000000000a68f6e" + "description": "Etsy OAuth2 shared secret.", + "x-example": "tp000000ru" } }, "required": [ "$id", "enabled", - "clientId", - "clientSecret" + "keyString", + "sharedSecret" ], "example": { "$id": "github", "enabled": false, - "clientId": "1000.83C178000000000000000000RPNX0B", - "clientSecret": "fb5cac000000000000000000000000000000a68f6e" + "keyString": "nsgzxh0000000000008j85a2", + "sharedSecret": "tp000000ru" } }, - "oAuth2Yandex": { - "description": "OAuth2Yandex", + "oAuth2Facebook": { + "description": "OAuth2Facebook", "type": "object", "properties": { "$id": { @@ -87340,32 +91552,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "appId": { "type": "string", - "description": "Yandex OAuth2 client ID.", - "x-example": "6a8a6a0000000000000000000091483c" + "description": "Facebook OAuth2 app ID.", + "x-example": "260600000007694" }, - "clientSecret": { + "appSecret": { "type": "string", - "description": "Yandex OAuth2 client secret.", - "x-example": "bbf98500000000000000000000c75a63" + "description": "Facebook OAuth2 app secret.", + "x-example": "2d0b2800000000000000000000d38af4" } }, "required": [ "$id", "enabled", - "clientId", - "clientSecret" + "appId", + "appSecret" ], "example": { "$id": "github", "enabled": false, - "clientId": "6a8a6a0000000000000000000091483c", - "clientSecret": "bbf98500000000000000000000c75a63" + "appId": "260600000007694", + "appSecret": "2d0b2800000000000000000000d38af4" } }, - "oAuth2X": { - "description": "OAuth2X", + "oAuth2Tradeshift": { + "description": "OAuth2Tradeshift", "type": "object", "properties": { "$id": { @@ -87378,32 +91590,32 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "customerKey": { + "oauth2ClientId": { "type": "string", - "description": "X OAuth2 customer key.", - "x-example": "slzZV0000000000000NFLaWT" + "description": "Tradeshift OAuth2 client ID.", + "x-example": "appwrite-test-org.appwrite-test-app" }, - "secretKey": { + "oauth2ClientSecret": { "type": "string", - "description": "X OAuth2 secret key.", - "x-example": "tkEPkp00000000000000000000000000000000000000FTxbI9" + "description": "Tradeshift OAuth2 client secret.", + "x-example": "7cb52700-0000-0000-0000-000000ca5b83" } }, "required": [ "$id", "enabled", - "customerKey", - "secretKey" + "oauth2ClientId", + "oauth2ClientSecret" ], "example": { "$id": "github", "enabled": false, - "customerKey": "slzZV0000000000000NFLaWT", - "secretKey": "tkEPkp00000000000000000000000000000000000000FTxbI9" + "oauth2ClientId": "appwrite-test-org.appwrite-test-app", + "oauth2ClientSecret": "7cb52700-0000-0000-0000-000000ca5b83" } }, - "oAuth2WordPress": { - "description": "OAuth2WordPress", + "oAuth2Paypal": { + "description": "OAuth2Paypal", "type": "object", "properties": { "$id": { @@ -87418,30 +91630,30 @@ }, "clientId": { "type": "string", - "description": "WordPress OAuth2 client ID.", - "x-example": "130005" + "description": "PayPal OAuth2 client ID.", + "x-example": "AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB" }, - "clientSecret": { + "secretKey": { "type": "string", - "description": "WordPress OAuth2 client secret.", - "x-example": "PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk" + "description": "PayPal OAuth2 secret key.", + "x-example": "EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "secretKey" ], "example": { "$id": "github", "enabled": false, - "clientId": "130005", - "clientSecret": "PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk" + "clientId": "AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", + "secretKey": "EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp" } }, - "oAuth2Twitch": { - "description": "OAuth2Twitch", + "oAuth2Gitlab": { + "description": "OAuth2Gitlab", "type": "object", "properties": { "$id": { @@ -87454,32 +91666,39 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "applicationId": { + "type": "string", + "description": "GitLab OAuth2 application ID.", + "x-example": "d41ffe0000000000000000000000000000000000000000000000000000d5e252" + }, + "secret": { "type": "string", - "description": "Twitch OAuth2 client ID.", - "x-example": "vvi0in000000000000000000ikmt9p" + "description": "GitLab OAuth2 secret.", + "x-example": "gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38" }, - "clientSecret": { + "endpoint": { "type": "string", - "description": "Twitch OAuth2 client secret.", - "x-example": "pmapue000000000000000000zylw3v" + "description": "GitLab OAuth2 endpoint URL. Defaults to https:\/\/gitlab.com for self-hosted instances.", + "x-example": "https:\/\/gitlab.com" } }, "required": [ "$id", "enabled", - "clientId", - "clientSecret" + "applicationId", + "secret", + "endpoint" ], "example": { "$id": "github", "enabled": false, - "clientId": "vvi0in000000000000000000ikmt9p", - "clientSecret": "pmapue000000000000000000zylw3v" + "applicationId": "d41ffe0000000000000000000000000000000000000000000000000000d5e252", + "secret": "gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", + "endpoint": "https:\/\/gitlab.com" } }, - "oAuth2Stripe": { - "description": "OAuth2Stripe", + "oAuth2Authentik": { + "description": "OAuth2Authentik", "type": "object", "properties": { "$id": { @@ -87494,30 +91713,37 @@ }, "clientId": { "type": "string", - "description": "Stripe OAuth2 client ID.", - "x-example": "ca_UKibXX0000000000000000000006byvR" + "description": "Authentik OAuth2 client ID.", + "x-example": "dTKOPa0000000000000000000000000000e7G8hv" }, - "apiSecretKey": { + "clientSecret": { "type": "string", - "description": "Stripe OAuth2 API secret key.", - "x-example": "sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp" + "description": "Authentik OAuth2 client secret.", + "x-example": "ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK" + }, + "endpoint": { + "type": "string", + "description": "Authentik OAuth2 endpoint domain.", + "x-example": "example.authentik.com" } }, "required": [ "$id", "enabled", "clientId", - "apiSecretKey" + "clientSecret", + "endpoint" ], "example": { "$id": "github", "enabled": false, - "clientId": "ca_UKibXX0000000000000000000006byvR", - "apiSecretKey": "sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp" + "clientId": "dTKOPa0000000000000000000000000000e7G8hv", + "clientSecret": "ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", + "endpoint": "example.authentik.com" } }, - "oAuth2Spotify": { - "description": "OAuth2Spotify", + "oAuth2Auth0": { + "description": "OAuth2Auth0", "type": "object", "properties": { "$id": { @@ -87532,30 +91758,37 @@ }, "clientId": { "type": "string", - "description": "Spotify OAuth2 client ID.", - "x-example": "6ec271000000000000000000009beace" + "description": "Auth0 OAuth2 client ID.", + "x-example": "OaOkIA000000000000000000005KLSYq" }, "clientSecret": { "type": "string", - "description": "Spotify OAuth2 client secret.", - "x-example": "db068a000000000000000000008b5b9f" + "description": "Auth0 OAuth2 client secret.", + "x-example": "zXz0000-00000000000000000000000000000-00000000000000000000PJafnF" + }, + "endpoint": { + "type": "string", + "description": "Auth0 OAuth2 endpoint domain.", + "x-example": "example.us.auth0.com" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "clientSecret", + "endpoint" ], "example": { "$id": "github", "enabled": false, - "clientId": "6ec271000000000000000000009beace", - "clientSecret": "db068a000000000000000000008b5b9f" + "clientId": "OaOkIA000000000000000000005KLSYq", + "clientSecret": "zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", + "endpoint": "example.us.auth0.com" } }, - "oAuth2Slack": { - "description": "OAuth2Slack", + "oAuth2FusionAuth": { + "description": "OAuth2FusionAuth", "type": "object", "properties": { "$id": { @@ -87570,30 +91803,37 @@ }, "clientId": { "type": "string", - "description": "Slack OAuth2 client ID.", - "x-example": "23000000089.15000000000023" + "description": "FusionAuth OAuth2 client ID.", + "x-example": "b2222c00-0000-0000-0000-000000862097" }, "clientSecret": { "type": "string", - "description": "Slack OAuth2 client secret.", - "x-example": "81656000000000000000000000f3d2fd" + "description": "FusionAuth OAuth2 client secret.", + "x-example": "Jx4s0C0000000000000000000000000000000wGqLsc" + }, + "endpoint": { + "type": "string", + "description": "FusionAuth OAuth2 endpoint domain.", + "x-example": "example.fusionauth.io" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "clientSecret", + "endpoint" ], "example": { "$id": "github", "enabled": false, - "clientId": "23000000089.15000000000023", - "clientSecret": "81656000000000000000000000f3d2fd" + "clientId": "b2222c00-0000-0000-0000-000000862097", + "clientSecret": "Jx4s0C0000000000000000000000000000000wGqLsc", + "endpoint": "example.fusionauth.io" } }, - "oAuth2Podio": { - "description": "OAuth2Podio", + "oAuth2Keycloak": { + "description": "OAuth2Keycloak", "type": "object", "properties": { "$id": { @@ -87608,30 +91848,44 @@ }, "clientId": { "type": "string", - "description": "Podio OAuth2 client ID.", - "x-example": "appwrite-oauth-test-app" + "description": "Keycloak OAuth2 client ID.", + "x-example": "appwrite-o0000000st-app" }, "clientSecret": { "type": "string", - "description": "Podio OAuth2 client secret.", - "x-example": "Rn247T0000000000000000000000000000000000000000000000000000W2zWTN" + "description": "Keycloak OAuth2 client secret.", + "x-example": "jdjrJd00000000000000000000HUsaZO" + }, + "endpoint": { + "type": "string", + "description": "Keycloak OAuth2 endpoint domain.", + "x-example": "keycloak.example.com" + }, + "realmName": { + "type": "string", + "description": "Keycloak OAuth2 realm name.", + "x-example": "appwrite-realm" } }, "required": [ "$id", "enabled", "clientId", - "clientSecret" + "clientSecret", + "endpoint", + "realmName" ], "example": { "$id": "github", "enabled": false, - "clientId": "appwrite-oauth-test-app", - "clientSecret": "Rn247T0000000000000000000000000000000000000000000000000000W2zWTN" + "clientId": "appwrite-o0000000st-app", + "clientSecret": "jdjrJd00000000000000000000HUsaZO", + "endpoint": "keycloak.example.com", + "realmName": "appwrite-realm" } }, - "oAuth2Notion": { - "description": "OAuth2Notion", + "oAuth2Oidc": { + "description": "OAuth2Oidc", "type": "object", "properties": { "$id": { @@ -87644,32 +91898,60 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "oauthClientId": { + "clientId": { "type": "string", - "description": "Notion OAuth2 client ID.", - "x-example": "341d8700-0000-0000-0000-000000446ee3" + "description": "OpenID Connect OAuth2 client ID.", + "x-example": "qibI2x0000000000000000000000000006L2YFoG" }, - "oauthClientSecret": { + "clientSecret": { "type": "string", - "description": "Notion OAuth2 client secret.", - "x-example": "secret_dLUr4b000000000000000000000000000000lFHAa9" + "description": "OpenID Connect OAuth2 client secret.", + "x-example": "Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV" + }, + "wellKnownURL": { + "type": "string", + "description": "OpenID Connect well-known configuration URL. When set, authorization, token, and user info endpoints can be discovered automatically.", + "x-example": "https:\/\/myoauth.com\/.well-known\/openid-configuration" + }, + "authorizationURL": { + "type": "string", + "description": "OpenID Connect authorization endpoint URL.", + "x-example": "https:\/\/myoauth.com\/oauth2\/authorize" + }, + "tokenURL": { + "type": "string", + "description": "OpenID Connect token endpoint URL.", + "x-example": "https:\/\/myoauth.com\/oauth2\/token" + }, + "userInfoURL": { + "type": "string", + "description": "OpenID Connect user info endpoint URL.", + "x-example": "https:\/\/myoauth.com\/oauth2\/userinfo" } }, "required": [ "$id", "enabled", - "oauthClientId", - "oauthClientSecret" + "clientId", + "clientSecret", + "wellKnownURL", + "authorizationURL", + "tokenURL", + "userInfoURL" ], "example": { "$id": "github", "enabled": false, - "oauthClientId": "341d8700-0000-0000-0000-000000446ee3", - "oauthClientSecret": "secret_dLUr4b000000000000000000000000000000lFHAa9" + "clientId": "qibI2x0000000000000000000000000006L2YFoG", + "clientSecret": "Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", + "wellKnownURL": "https:\/\/myoauth.com\/.well-known\/openid-configuration", + "authorizationURL": "https:\/\/myoauth.com\/oauth2\/authorize", + "tokenURL": "https:\/\/myoauth.com\/oauth2\/token", + "userInfoURL": "https:\/\/myoauth.com\/oauth2\/userinfo" } }, - "oAuth2Salesforce": { - "description": "OAuth2Salesforce", + "oAuth2Okta": { + "description": "OAuth2Okta", "type": "object", "properties": { "$id": { @@ -87682,32 +91964,46 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "customerKey": { + "clientId": { "type": "string", - "description": "Salesforce OAuth2 consumer key.", - "x-example": "3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq" + "description": "Okta OAuth2 client ID.", + "x-example": "0oa00000000000000698" }, - "customerSecret": { + "clientSecret": { "type": "string", - "description": "Salesforce OAuth2 consumer secret.", - "x-example": "3w000000000000e2" + "description": "Okta OAuth2 client secret.", + "x-example": "Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV" + }, + "domain": { + "type": "string", + "description": "Okta OAuth2 domain.", + "x-example": "trial-6400025.okta.com" + }, + "authorizationServerId": { + "type": "string", + "description": "Okta OAuth2 authorization server ID.", + "x-example": "aus000000000000000h7z" } }, "required": [ "$id", "enabled", - "customerKey", - "customerSecret" + "clientId", + "clientSecret", + "domain", + "authorizationServerId" ], "example": { "$id": "github", "enabled": false, - "customerKey": "3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", - "customerSecret": "3w000000000000e2" + "clientId": "0oa00000000000000698", + "clientSecret": "Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", + "domain": "trial-6400025.okta.com", + "authorizationServerId": "aus000000000000000h7z" } }, - "oAuth2Yahoo": { - "description": "OAuth2Yahoo", + "oAuth2Kick": { + "description": "OAuth2Kick", "type": "object", "properties": { "$id": { @@ -87722,13 +92018,13 @@ }, "clientId": { "type": "string", - "description": "Yahoo OAuth2 client ID.", - "x-example": "dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm" + "description": "Kick OAuth2 client ID.", + "x-example": "01KQ7C00000000000001MFHS32" }, "clientSecret": { "type": "string", - "description": "Yahoo OAuth2 client secret.", - "x-example": "cf978f0000000000000000000000000000c5e2e9" + "description": "Kick OAuth2 client secret.", + "x-example": "34ac5600000000000000000000000000000000000000000000000000e830c8b" } }, "required": [ @@ -87740,50 +92036,64 @@ "example": { "$id": "github", "enabled": false, - "clientId": "dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", - "clientSecret": "cf978f0000000000000000000000000000c5e2e9" + "clientId": "01KQ7C00000000000001MFHS32", + "clientSecret": "34ac5600000000000000000000000000000000000000000000000000e830c8b" } }, - "oAuth2Linkedin": { - "description": "OAuth2Linkedin", + "oAuth2Apple": { + "description": "OAuth2Apple", "type": "object", "properties": { "$id": { "type": "string", "description": "OAuth2 provider ID.", - "x-example": "github" + "x-example": "apple" }, "enabled": { "type": "boolean", "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "clientId": { + "serviceId": { "type": "string", - "description": "LinkedIn OAuth2 client ID.", - "x-example": "770000000000dv" + "description": "Apple OAuth2 service ID.", + "x-example": "ip.appwrite.app.web" }, - "primaryClientSecret": { + "keyId": { "type": "string", - "description": "LinkedIn OAuth2 primary client secret.", - "x-example": "WPL_AP1.2Bf0000000000000.\/HtlYw==" + "description": "Apple OAuth2 key ID.", + "x-example": "P4000000N8" + }, + "teamId": { + "type": "string", + "description": "Apple OAuth2 team ID.", + "x-example": "D4000000R6" + }, + "p8File": { + "type": "string", + "description": "Apple OAuth2 .p8 private key file contents. The secret key wrapped by the PEM markers is 200 characters long.", + "x-example": "-----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----" } }, "required": [ "$id", "enabled", - "clientId", - "primaryClientSecret" + "serviceId", + "keyId", + "teamId", + "p8File" ], "example": { - "$id": "github", + "$id": "apple", "enabled": false, - "clientId": "770000000000dv", - "primaryClientSecret": "WPL_AP1.2Bf0000000000000.\/HtlYw==" + "serviceId": "ip.appwrite.app.web", + "keyId": "P4000000N8", + "teamId": "D4000000R6", + "p8File": "-----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----" } }, - "oAuth2Disqus": { - "description": "OAuth2Disqus", + "oAuth2Microsoft": { + "description": "OAuth2Microsoft", "type": "object", "properties": { "$id": { @@ -87796,886 +92106,821 @@ "description": "OAuth2 provider is active and can be used to create sessions.", "x-example": false }, - "publicKey": { + "applicationId": { "type": "string", - "description": "Disqus OAuth2 public key.", - "x-example": "cgegH70000000000000000000000000000000000000000000000000000Hr1nYX" + "description": "Microsoft OAuth2 application ID.", + "x-example": "00001111-aaaa-2222-bbbb-3333cccc4444" }, - "secretKey": { + "applicationSecret": { "type": "string", - "description": "Disqus OAuth2 secret key.", - "x-example": "W7Bykj00000000000000000000000000000000000000000000000000003o43w9" + "description": "Microsoft OAuth2 application secret.", + "x-example": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u" + }, + "tenant": { + "type": "string", + "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID.", + "x-example": "common" } }, "required": [ "$id", "enabled", - "publicKey", - "secretKey" + "applicationId", + "applicationSecret", + "tenant" ], "example": { "$id": "github", "enabled": false, - "publicKey": "cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", - "secretKey": "W7Bykj00000000000000000000000000000000000000000000000000003o43w9" + "applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444", + "applicationSecret": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", + "tenant": "common" } }, - "oAuth2Amazon": { - "description": "OAuth2Amazon", + "oAuth2ProviderList": { + "description": "OAuth2 Providers List", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "Amazon OAuth2 client ID.", - "x-example": "amzn1.application-oa2-client.87400c00000000000000000000063d5b2" + "total": { + "type": "integer", + "description": "Total number of OAuth2 providers in the given project.", + "x-example": 5, + "format": "int32" }, - "clientSecret": { - "type": "string", - "description": "Amazon OAuth2 client secret.", - "x-example": "79ffe4000000000000000000000000000000000000000000000000000002de55" + "providers": { + "type": "array", + "description": "List of OAuth2 providers.", + "items": { + "x-anyOf": [ + { + "$ref": "#\/definitions\/oAuth2Github" + }, + { + "$ref": "#\/definitions\/oAuth2Discord" + }, + { + "$ref": "#\/definitions\/oAuth2Figma" + }, + { + "$ref": "#\/definitions\/oAuth2Dropbox" + }, + { + "$ref": "#\/definitions\/oAuth2Dailymotion" + }, + { + "$ref": "#\/definitions\/oAuth2Bitbucket" + }, + { + "$ref": "#\/definitions\/oAuth2Bitly" + }, + { + "$ref": "#\/definitions\/oAuth2Box" + }, + { + "$ref": "#\/definitions\/oAuth2Autodesk" + }, + { + "$ref": "#\/definitions\/oAuth2Google" + }, + { + "$ref": "#\/definitions\/oAuth2Zoom" + }, + { + "$ref": "#\/definitions\/oAuth2Zoho" + }, + { + "$ref": "#\/definitions\/oAuth2Yandex" + }, + { + "$ref": "#\/definitions\/oAuth2X" + }, + { + "$ref": "#\/definitions\/oAuth2WordPress" + }, + { + "$ref": "#\/definitions\/oAuth2Twitch" + }, + { + "$ref": "#\/definitions\/oAuth2Stripe" + }, + { + "$ref": "#\/definitions\/oAuth2Spotify" + }, + { + "$ref": "#\/definitions\/oAuth2Slack" + }, + { + "$ref": "#\/definitions\/oAuth2Podio" + }, + { + "$ref": "#\/definitions\/oAuth2Notion" + }, + { + "$ref": "#\/definitions\/oAuth2Salesforce" + }, + { + "$ref": "#\/definitions\/oAuth2Yahoo" + }, + { + "$ref": "#\/definitions\/oAuth2Linkedin" + }, + { + "$ref": "#\/definitions\/oAuth2Disqus" + }, + { + "$ref": "#\/definitions\/oAuth2Amazon" + }, + { + "$ref": "#\/definitions\/oAuth2Etsy" + }, + { + "$ref": "#\/definitions\/oAuth2Facebook" + }, + { + "$ref": "#\/definitions\/oAuth2Tradeshift" + }, + { + "$ref": "#\/definitions\/oAuth2Paypal" + }, + { + "$ref": "#\/definitions\/oAuth2Gitlab" + }, + { + "$ref": "#\/definitions\/oAuth2Authentik" + }, + { + "$ref": "#\/definitions\/oAuth2Auth0" + }, + { + "$ref": "#\/definitions\/oAuth2FusionAuth" + }, + { + "$ref": "#\/definitions\/oAuth2Keycloak" + }, + { + "$ref": "#\/definitions\/oAuth2Oidc" + }, + { + "$ref": "#\/definitions\/oAuth2Apple" + }, + { + "$ref": "#\/definitions\/oAuth2Okta" + }, + { + "$ref": "#\/definitions\/oAuth2Kick" + }, + { + "$ref": "#\/definitions\/oAuth2Microsoft" + } + ], + "x-discriminator": { + "propertyName": "$id", + "mapping": { + "github": "#\/definitions\/oAuth2Github", + "discord": "#\/definitions\/oAuth2Discord", + "figma": "#\/definitions\/oAuth2Figma", + "dropbox": "#\/definitions\/oAuth2Dropbox", + "dailymotion": "#\/definitions\/oAuth2Dailymotion", + "bitbucket": "#\/definitions\/oAuth2Bitbucket", + "bitly": "#\/definitions\/oAuth2Bitly", + "box": "#\/definitions\/oAuth2Box", + "autodesk": "#\/definitions\/oAuth2Autodesk", + "google": "#\/definitions\/oAuth2Google", + "zoom": "#\/definitions\/oAuth2Zoom", + "zoho": "#\/definitions\/oAuth2Zoho", + "yandex": "#\/definitions\/oAuth2Yandex", + "x": "#\/definitions\/oAuth2X", + "wordpress": "#\/definitions\/oAuth2WordPress", + "twitch": "#\/definitions\/oAuth2Twitch", + "stripe": "#\/definitions\/oAuth2Stripe", + "spotify": "#\/definitions\/oAuth2Spotify", + "slack": "#\/definitions\/oAuth2Slack", + "podio": "#\/definitions\/oAuth2Podio", + "notion": "#\/definitions\/oAuth2Notion", + "salesforce": "#\/definitions\/oAuth2Salesforce", + "yahoo": "#\/definitions\/oAuth2Yahoo", + "linkedin": "#\/definitions\/oAuth2Linkedin", + "disqus": "#\/definitions\/oAuth2Disqus", + "amazon": "#\/definitions\/oAuth2Amazon", + "etsy": "#\/definitions\/oAuth2Etsy", + "facebook": "#\/definitions\/oAuth2Facebook", + "tradeshift": "#\/definitions\/oAuth2Tradeshift", + "tradeshiftBox": "#\/definitions\/oAuth2Tradeshift", + "paypal": "#\/definitions\/oAuth2Paypal", + "paypalSandbox": "#\/definitions\/oAuth2Paypal", + "gitlab": "#\/definitions\/oAuth2Gitlab", + "authentik": "#\/definitions\/oAuth2Authentik", + "auth0": "#\/definitions\/oAuth2Auth0", + "fusionauth": "#\/definitions\/oAuth2FusionAuth", + "keycloak": "#\/definitions\/oAuth2Keycloak", + "oidc": "#\/definitions\/oAuth2Oidc", + "apple": "#\/definitions\/oAuth2Apple", + "okta": "#\/definitions\/oAuth2Okta", + "kick": "#\/definitions\/oAuth2Kick", + "microsoft": "#\/definitions\/oAuth2Microsoft" + } + } + }, + "x-example": "" } }, "required": [ - "$id", - "enabled", - "clientId", - "clientSecret" + "total", + "providers" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "amzn1.application-oa2-client.87400c00000000000000000000063d5b2", - "clientSecret": "79ffe4000000000000000000000000000000000000000000000000000002de55" + "total": 5, + "providers": "" } }, - "oAuth2Etsy": { - "description": "OAuth2Etsy", + "policyPasswordDictionary": { + "description": "Policy Password Dictionary", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Policy ID.", + "x-example": "password-dictionary" }, "enabled": { "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "keyString": { - "type": "string", - "description": "Etsy OAuth2 keystring.", - "x-example": "nsgzxh0000000000008j85a2" - }, - "sharedSecret": { - "type": "string", - "description": "Etsy OAuth2 shared secret.", - "x-example": "tp000000ru" + "description": "Whether password dictionary policy is enabled.", + "x-example": true } }, "required": [ "$id", - "enabled", - "keyString", - "sharedSecret" + "enabled" ], "example": { - "$id": "github", - "enabled": false, - "keyString": "nsgzxh0000000000008j85a2", - "sharedSecret": "tp000000ru" + "$id": "password-dictionary", + "enabled": true } }, - "oAuth2Facebook": { - "description": "OAuth2Facebook", + "policyPasswordHistory": { + "description": "Policy Password History", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "appId": { - "type": "string", - "description": "Facebook OAuth2 app ID.", - "x-example": "260600000007694" + "description": "Policy ID.", + "x-example": "password-dictionary" }, - "appSecret": { - "type": "string", - "description": "Facebook OAuth2 app secret.", - "x-example": "2d0b2800000000000000000000d38af4" + "total": { + "type": "integer", + "description": "Password history length. A value of 0 means the policy is disabled.", + "x-example": 5, + "format": "int32" } }, "required": [ "$id", - "enabled", - "appId", - "appSecret" + "total" ], "example": { - "$id": "github", - "enabled": false, - "appId": "260600000007694", - "appSecret": "2d0b2800000000000000000000d38af4" + "$id": "password-dictionary", + "total": 5 } }, - "oAuth2Tradeshift": { - "description": "OAuth2Tradeshift", + "policyPasswordPersonalData": { + "description": "Policy Password Personal Data", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Policy ID.", + "x-example": "password-dictionary" }, "enabled": { "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "oauth2ClientId": { - "type": "string", - "description": "Tradeshift OAuth2 client ID.", - "x-example": "appwrite-test-org.appwrite-test-app" - }, - "oauth2ClientSecret": { - "type": "string", - "description": "Tradeshift OAuth2 client secret.", - "x-example": "7cb52700-0000-0000-0000-000000ca5b83" + "description": "Whether password personal data policy is enabled.", + "x-example": true } }, "required": [ "$id", - "enabled", - "oauth2ClientId", - "oauth2ClientSecret" + "enabled" ], "example": { - "$id": "github", - "enabled": false, - "oauth2ClientId": "appwrite-test-org.appwrite-test-app", - "oauth2ClientSecret": "7cb52700-0000-0000-0000-000000ca5b83" + "$id": "password-dictionary", + "enabled": true } }, - "oAuth2Paypal": { - "description": "OAuth2Paypal", + "policySessionAlert": { + "description": "Policy Session Alert", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Policy ID.", + "x-example": "password-dictionary" }, "enabled": { "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "PayPal OAuth2 client ID.", - "x-example": "AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB" - }, - "secretKey": { - "type": "string", - "description": "PayPal OAuth2 secret key.", - "x-example": "EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp" + "description": "Whether session alert policy is enabled.", + "x-example": true } }, "required": [ "$id", - "enabled", - "clientId", - "secretKey" + "enabled" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "secretKey": "EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp" + "$id": "password-dictionary", + "enabled": true } }, - "oAuth2Gitlab": { - "description": "OAuth2Gitlab", + "policySessionDuration": { + "description": "Policy Session Duration", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "applicationId": { - "type": "string", - "description": "GitLab OAuth2 application ID.", - "x-example": "d41ffe0000000000000000000000000000000000000000000000000000d5e252" - }, - "secret": { - "type": "string", - "description": "GitLab OAuth2 secret.", - "x-example": "gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38" + "description": "Policy ID.", + "x-example": "password-dictionary" }, - "endpoint": { - "type": "string", - "description": "GitLab OAuth2 endpoint URL. Defaults to https:\/\/gitlab.com for self-hosted instances.", - "x-example": "https:\/\/gitlab.com" + "duration": { + "type": "integer", + "description": "Session duration in seconds.", + "x-example": 3600, + "format": "int32" } }, "required": [ "$id", - "enabled", - "applicationId", - "secret", - "endpoint" + "duration" ], "example": { - "$id": "github", - "enabled": false, - "applicationId": "d41ffe0000000000000000000000000000000000000000000000000000d5e252", - "secret": "gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", - "endpoint": "https:\/\/gitlab.com" + "$id": "password-dictionary", + "duration": 3600 } }, - "oAuth2Authentik": { - "description": "OAuth2Authentik", + "policySessionInvalidation": { + "description": "Policy Session Invalidation", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Policy ID.", + "x-example": "password-dictionary" }, "enabled": { "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "Authentik OAuth2 client ID.", - "x-example": "dTKOPa0000000000000000000000000000e7G8hv" - }, - "clientSecret": { - "type": "string", - "description": "Authentik OAuth2 client secret.", - "x-example": "ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK" - }, - "endpoint": { - "type": "string", - "description": "Authentik OAuth2 endpoint domain.", - "x-example": "example.authentik.com" + "description": "Whether session invalidation policy is enabled.", + "x-example": true } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "endpoint" + "enabled" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "dTKOPa0000000000000000000000000000e7G8hv", - "clientSecret": "ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", - "endpoint": "example.authentik.com" + "$id": "password-dictionary", + "enabled": true } }, - "oAuth2Auth0": { - "description": "OAuth2Auth0", + "policySessionLimit": { + "description": "Policy Session Limit", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "Auth0 OAuth2 client ID.", - "x-example": "OaOkIA000000000000000000005KLSYq" - }, - "clientSecret": { - "type": "string", - "description": "Auth0 OAuth2 client secret.", - "x-example": "zXz0000-00000000000000000000000000000-00000000000000000000PJafnF" + "description": "Policy ID.", + "x-example": "password-dictionary" }, - "endpoint": { - "type": "string", - "description": "Auth0 OAuth2 endpoint domain.", - "x-example": "example.us.auth0.com" + "total": { + "type": "integer", + "description": "Maximum number of sessions allowed per user. A value of 0 means the policy is disabled.", + "x-example": 10, + "format": "int32" } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "endpoint" + "total" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "OaOkIA000000000000000000005KLSYq", - "clientSecret": "zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", - "endpoint": "example.us.auth0.com" + "$id": "password-dictionary", + "total": 10 } }, - "oAuth2FusionAuth": { - "description": "OAuth2FusionAuth", + "policyUserLimit": { + "description": "Policy User Limit", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "FusionAuth OAuth2 client ID.", - "x-example": "b2222c00-0000-0000-0000-000000862097" - }, - "clientSecret": { - "type": "string", - "description": "FusionAuth OAuth2 client secret.", - "x-example": "Jx4s0C0000000000000000000000000000000wGqLsc" + "description": "Policy ID.", + "x-example": "password-dictionary" }, - "endpoint": { - "type": "string", - "description": "FusionAuth OAuth2 endpoint domain.", - "x-example": "example.fusionauth.io" + "total": { + "type": "integer", + "description": "Maximum number of users allowed in the project. A value of 0 means the policy is disabled.", + "x-example": 100, + "format": "int32" } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "endpoint" + "total" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "b2222c00-0000-0000-0000-000000862097", - "clientSecret": "Jx4s0C0000000000000000000000000000000wGqLsc", - "endpoint": "example.fusionauth.io" + "$id": "password-dictionary", + "total": 100 } }, - "oAuth2Keycloak": { - "description": "OAuth2Keycloak", + "policyMembershipPrivacy": { + "description": "Policy Membership Privacy", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Policy ID.", + "x-example": "password-dictionary" }, - "enabled": { + "userId": { "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false + "description": "Whether user ID is visible in memberships.", + "x-example": true }, - "clientId": { - "type": "string", - "description": "Keycloak OAuth2 client ID.", - "x-example": "appwrite-o0000000st-app" + "userEmail": { + "type": "boolean", + "description": "Whether user email is visible in memberships.", + "x-example": true }, - "clientSecret": { - "type": "string", - "description": "Keycloak OAuth2 client secret.", - "x-example": "jdjrJd00000000000000000000HUsaZO" + "userPhone": { + "type": "boolean", + "description": "Whether user phone is visible in memberships.", + "x-example": true }, - "endpoint": { - "type": "string", - "description": "Keycloak OAuth2 endpoint domain.", - "x-example": "keycloak.example.com" + "userName": { + "type": "boolean", + "description": "Whether user name is visible in memberships.", + "x-example": true }, - "realmName": { - "type": "string", - "description": "Keycloak OAuth2 realm name.", - "x-example": "appwrite-realm" + "userMFA": { + "type": "boolean", + "description": "Whether user MFA status is visible in memberships.", + "x-example": true } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "endpoint", - "realmName" + "userId", + "userEmail", + "userPhone", + "userName", + "userMFA" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "appwrite-o0000000st-app", - "clientSecret": "jdjrJd00000000000000000000HUsaZO", - "endpoint": "keycloak.example.com", - "realmName": "appwrite-realm" + "$id": "password-dictionary", + "userId": true, + "userEmail": true, + "userPhone": true, + "userName": true, + "userMFA": true } }, - "oAuth2Oidc": { - "description": "OAuth2Oidc", + "platformWeb": { + "description": "Platform Web", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" - }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false - }, - "clientId": { - "type": "string", - "description": "OpenID Connect OAuth2 client ID.", - "x-example": "qibI2x0000000000000000000000000006L2YFoG" + "description": "Platform ID.", + "x-example": "5e5ea5c16897e" }, - "clientSecret": { + "$createdAt": { "type": "string", - "description": "OpenID Connect OAuth2 client secret.", - "x-example": "Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV" + "description": "Platform creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "wellKnownURL": { + "$updatedAt": { "type": "string", - "description": "OpenID Connect well-known configuration URL. When set, authorization, token, and user info endpoints can be discovered automatically.", - "x-example": "https:\/\/myoauth.com\/.well-known\/openid-configuration" + "description": "Platform update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "authorizationURL": { + "name": { "type": "string", - "description": "OpenID Connect authorization endpoint URL.", - "x-example": "https:\/\/myoauth.com\/oauth2\/authorize" + "description": "Platform name.", + "x-example": "My Web App" }, - "tokenURL": { + "type": { "type": "string", - "description": "OpenID Connect token endpoint URL.", - "x-example": "https:\/\/myoauth.com\/oauth2\/token" + "description": "Platform type. Possible values are: windows, apple, android, linux, web.", + "x-example": "web", + "enum": [ + "windows", + "apple", + "android", + "linux", + "web" + ], + "x-enum-name": "PlatformType" }, - "userInfoURL": { + "hostname": { "type": "string", - "description": "OpenID Connect user info endpoint URL.", - "x-example": "https:\/\/myoauth.com\/oauth2\/userinfo" + "description": "Web app hostname. Empty string for other platforms.", + "x-example": "app.example.com" } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "wellKnownURL", - "authorizationURL", - "tokenURL", - "userInfoURL" + "$createdAt", + "$updatedAt", + "name", + "type", + "hostname", + "key" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "qibI2x0000000000000000000000000006L2YFoG", - "clientSecret": "Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", - "wellKnownURL": "https:\/\/myoauth.com\/.well-known\/openid-configuration", - "authorizationURL": "https:\/\/myoauth.com\/oauth2\/authorize", - "tokenURL": "https:\/\/myoauth.com\/oauth2\/token", - "userInfoURL": "https:\/\/myoauth.com\/oauth2\/userinfo" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Web App", + "type": "web", + "hostname": "app.example.com" } }, - "oAuth2Okta": { - "description": "OAuth2Okta", + "platformApple": { + "description": "Platform Apple", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Platform ID.", + "x-example": "5e5ea5c16897e" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false + "$createdAt": { + "type": "string", + "description": "Platform creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientId": { + "$updatedAt": { "type": "string", - "description": "Okta OAuth2 client ID.", - "x-example": "0oa00000000000000698" + "description": "Platform update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientSecret": { + "name": { "type": "string", - "description": "Okta OAuth2 client secret.", - "x-example": "Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV" + "description": "Platform name.", + "x-example": "My Web App" }, - "domain": { + "type": { "type": "string", - "description": "Okta OAuth2 domain.", - "x-example": "trial-6400025.okta.com" + "description": "Platform type. Possible values are: windows, apple, android, linux, web.", + "x-example": "web", + "enum": [ + "windows", + "apple", + "android", + "linux", + "web" + ], + "x-enum-name": "PlatformType" }, - "authorizationServerId": { + "bundleIdentifier": { "type": "string", - "description": "Okta OAuth2 authorization server ID.", - "x-example": "aus000000000000000h7z" + "description": "Apple bundle identifier.", + "x-example": "com.company.appname" } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret", - "domain", - "authorizationServerId" + "$createdAt", + "$updatedAt", + "name", + "type", + "bundleIdentifier" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "0oa00000000000000698", - "clientSecret": "Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", - "domain": "trial-6400025.okta.com", - "authorizationServerId": "aus000000000000000h7z" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Web App", + "type": "web", + "bundleIdentifier": "com.company.appname" } }, - "oAuth2Kick": { - "description": "OAuth2Kick", + "platformAndroid": { + "description": "Platform Android", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Platform ID.", + "x-example": "5e5ea5c16897e" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false + "$createdAt": { + "type": "string", + "description": "Platform creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientId": { + "$updatedAt": { "type": "string", - "description": "Kick OAuth2 client ID.", - "x-example": "01KQ7C00000000000001MFHS32" + "description": "Platform update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientSecret": { + "name": { "type": "string", - "description": "Kick OAuth2 client secret.", - "x-example": "34ac5600000000000000000000000000000000000000000000000000e830c8b" + "description": "Platform name.", + "x-example": "My Web App" + }, + "type": { + "type": "string", + "description": "Platform type. Possible values are: windows, apple, android, linux, web.", + "x-example": "web", + "enum": [ + "windows", + "apple", + "android", + "linux", + "web" + ], + "x-enum-name": "PlatformType" + }, + "applicationId": { + "type": "string", + "description": "Android application ID.", + "x-example": "com.company.appname" } }, "required": [ "$id", - "enabled", - "clientId", - "clientSecret" + "$createdAt", + "$updatedAt", + "name", + "type", + "applicationId" ], "example": { - "$id": "github", - "enabled": false, - "clientId": "01KQ7C00000000000001MFHS32", - "clientSecret": "34ac5600000000000000000000000000000000000000000000000000e830c8b" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Web App", + "type": "web", + "applicationId": "com.company.appname" } }, - "oAuth2Apple": { - "description": "OAuth2Apple", + "platformWindows": { + "description": "Platform Windows", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "apple" + "description": "Platform ID.", + "x-example": "5e5ea5c16897e" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false + "$createdAt": { + "type": "string", + "description": "Platform creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "serviceId": { + "$updatedAt": { "type": "string", - "description": "Apple OAuth2 service ID.", - "x-example": "ip.appwrite.app.web" + "description": "Platform update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "keyId": { + "name": { "type": "string", - "description": "Apple OAuth2 key ID.", - "x-example": "P4000000N8" + "description": "Platform name.", + "x-example": "My Web App" }, - "teamId": { + "type": { "type": "string", - "description": "Apple OAuth2 team ID.", - "x-example": "D4000000R6" + "description": "Platform type. Possible values are: windows, apple, android, linux, web.", + "x-example": "web", + "enum": [ + "windows", + "apple", + "android", + "linux", + "web" + ], + "x-enum-name": "PlatformType" }, - "p8File": { + "packageIdentifierName": { "type": "string", - "description": "Apple OAuth2 .p8 private key file contents. The secret key wrapped by the PEM markers is 200 characters long.", - "x-example": "-----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----" + "description": "Windows package identifier name.", + "x-example": "com.company.appname" } }, "required": [ "$id", - "enabled", - "serviceId", - "keyId", - "teamId", - "p8File" + "$createdAt", + "$updatedAt", + "name", + "type", + "packageIdentifierName" ], "example": { - "$id": "apple", - "enabled": false, - "serviceId": "ip.appwrite.app.web", - "keyId": "P4000000N8", - "teamId": "D4000000R6", - "p8File": "-----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Web App", + "type": "web", + "packageIdentifierName": "com.company.appname" } }, - "oAuth2Microsoft": { - "description": "OAuth2Microsoft", + "platformLinux": { + "description": "Platform Linux", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Platform ID.", + "x-example": "5e5ea5c16897e" }, - "enabled": { - "type": "boolean", - "description": "OAuth2 provider is active and can be used to create sessions.", - "x-example": false + "$createdAt": { + "type": "string", + "description": "Platform creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "applicationId": { + "$updatedAt": { "type": "string", - "description": "Microsoft OAuth2 application ID.", - "x-example": "00001111-aaaa-2222-bbbb-3333cccc4444" + "description": "Platform update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "applicationSecret": { + "name": { "type": "string", - "description": "Microsoft OAuth2 application secret.", - "x-example": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u" + "description": "Platform name.", + "x-example": "My Web App" }, - "tenant": { + "type": { "type": "string", - "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID.", - "x-example": "common" + "description": "Platform type. Possible values are: windows, apple, android, linux, web.", + "x-example": "web", + "enum": [ + "windows", + "apple", + "android", + "linux", + "web" + ], + "x-enum-name": "PlatformType" + }, + "packageName": { + "type": "string", + "description": "Linux package name.", + "x-example": "com.company.appname" } }, "required": [ "$id", - "enabled", - "applicationId", - "applicationSecret", - "tenant" + "$createdAt", + "$updatedAt", + "name", + "type", + "packageName" ], "example": { - "$id": "github", - "enabled": false, - "applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444", - "applicationSecret": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", - "tenant": "common" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "My Web App", + "type": "web", + "packageName": "com.company.appname" } }, - "oAuth2ProviderList": { - "description": "OAuth2 Providers List", + "platformList": { + "description": "Platforms List", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of OAuth2 providers in the given project.", + "description": "Total number of platforms in the given project.", "x-example": 5, "format": "int32" }, - "providers": { + "platforms": { "type": "array", - "description": "List of OAuth2 providers.", + "description": "List of platforms.", "items": { "x-anyOf": [ { - "$ref": "#\/definitions\/oAuth2Github" - }, - { - "$ref": "#\/definitions\/oAuth2Discord" - }, - { - "$ref": "#\/definitions\/oAuth2Figma" - }, - { - "$ref": "#\/definitions\/oAuth2Dropbox" - }, - { - "$ref": "#\/definitions\/oAuth2Dailymotion" - }, - { - "$ref": "#\/definitions\/oAuth2Bitbucket" - }, - { - "$ref": "#\/definitions\/oAuth2Bitly" - }, - { - "$ref": "#\/definitions\/oAuth2Box" - }, - { - "$ref": "#\/definitions\/oAuth2Autodesk" - }, - { - "$ref": "#\/definitions\/oAuth2Google" - }, - { - "$ref": "#\/definitions\/oAuth2Zoom" - }, - { - "$ref": "#\/definitions\/oAuth2Zoho" - }, - { - "$ref": "#\/definitions\/oAuth2Yandex" - }, - { - "$ref": "#\/definitions\/oAuth2X" - }, - { - "$ref": "#\/definitions\/oAuth2WordPress" - }, - { - "$ref": "#\/definitions\/oAuth2Twitch" - }, - { - "$ref": "#\/definitions\/oAuth2Stripe" - }, - { - "$ref": "#\/definitions\/oAuth2Spotify" - }, - { - "$ref": "#\/definitions\/oAuth2Slack" - }, - { - "$ref": "#\/definitions\/oAuth2Podio" - }, - { - "$ref": "#\/definitions\/oAuth2Notion" - }, - { - "$ref": "#\/definitions\/oAuth2Salesforce" - }, - { - "$ref": "#\/definitions\/oAuth2Yahoo" - }, - { - "$ref": "#\/definitions\/oAuth2Linkedin" - }, - { - "$ref": "#\/definitions\/oAuth2Disqus" - }, - { - "$ref": "#\/definitions\/oAuth2Amazon" - }, - { - "$ref": "#\/definitions\/oAuth2Etsy" - }, - { - "$ref": "#\/definitions\/oAuth2Facebook" - }, - { - "$ref": "#\/definitions\/oAuth2Tradeshift" - }, - { - "$ref": "#\/definitions\/oAuth2Paypal" - }, - { - "$ref": "#\/definitions\/oAuth2Gitlab" - }, - { - "$ref": "#\/definitions\/oAuth2Authentik" - }, - { - "$ref": "#\/definitions\/oAuth2Auth0" - }, - { - "$ref": "#\/definitions\/oAuth2FusionAuth" - }, - { - "$ref": "#\/definitions\/oAuth2Keycloak" - }, - { - "$ref": "#\/definitions\/oAuth2Oidc" + "$ref": "#\/definitions\/platformWeb" }, { - "$ref": "#\/definitions\/oAuth2Apple" + "$ref": "#\/definitions\/platformApple" }, { - "$ref": "#\/definitions\/oAuth2Okta" + "$ref": "#\/definitions\/platformAndroid" }, { - "$ref": "#\/definitions\/oAuth2Kick" + "$ref": "#\/definitions\/platformWindows" }, { - "$ref": "#\/definitions\/oAuth2Microsoft" + "$ref": "#\/definitions\/platformLinux" } ], "x-discriminator": { - "propertyName": "$id", + "propertyName": "type", "mapping": { - "github": "#\/definitions\/oAuth2Github", - "discord": "#\/definitions\/oAuth2Discord", - "figma": "#\/definitions\/oAuth2Figma", - "dropbox": "#\/definitions\/oAuth2Dropbox", - "dailymotion": "#\/definitions\/oAuth2Dailymotion", - "bitbucket": "#\/definitions\/oAuth2Bitbucket", - "bitly": "#\/definitions\/oAuth2Bitly", - "box": "#\/definitions\/oAuth2Box", - "autodesk": "#\/definitions\/oAuth2Autodesk", - "google": "#\/definitions\/oAuth2Google", - "zoom": "#\/definitions\/oAuth2Zoom", - "zoho": "#\/definitions\/oAuth2Zoho", - "yandex": "#\/definitions\/oAuth2Yandex", - "x": "#\/definitions\/oAuth2X", - "wordpress": "#\/definitions\/oAuth2WordPress", - "twitch": "#\/definitions\/oAuth2Twitch", - "stripe": "#\/definitions\/oAuth2Stripe", - "spotify": "#\/definitions\/oAuth2Spotify", - "slack": "#\/definitions\/oAuth2Slack", - "podio": "#\/definitions\/oAuth2Podio", - "notion": "#\/definitions\/oAuth2Notion", - "salesforce": "#\/definitions\/oAuth2Salesforce", - "yahoo": "#\/definitions\/oAuth2Yahoo", - "linkedin": "#\/definitions\/oAuth2Linkedin", - "disqus": "#\/definitions\/oAuth2Disqus", - "amazon": "#\/definitions\/oAuth2Amazon", - "etsy": "#\/definitions\/oAuth2Etsy", - "facebook": "#\/definitions\/oAuth2Facebook", - "tradeshift": "#\/definitions\/oAuth2Tradeshift", - "tradeshiftBox": "#\/definitions\/oAuth2Tradeshift", - "paypal": "#\/definitions\/oAuth2Paypal", - "paypalSandbox": "#\/definitions\/oAuth2Paypal", - "gitlab": "#\/definitions\/oAuth2Gitlab", - "authentik": "#\/definitions\/oAuth2Authentik", - "auth0": "#\/definitions\/oAuth2Auth0", - "fusionauth": "#\/definitions\/oAuth2FusionAuth", - "keycloak": "#\/definitions\/oAuth2Keycloak", - "oidc": "#\/definitions\/oAuth2Oidc", - "apple": "#\/definitions\/oAuth2Apple", - "okta": "#\/definitions\/oAuth2Okta", - "kick": "#\/definitions\/oAuth2Kick", - "microsoft": "#\/definitions\/oAuth2Microsoft" + "web": "#\/definitions\/platformWeb", + "apple": "#\/definitions\/platformApple", + "android": "#\/definitions\/platformAndroid", + "windows": "#\/definitions\/platformWindows", + "linux": "#\/definitions\/platformLinux" } } }, @@ -88683,1257 +92928,2116 @@ } }, "required": [ - "total", - "providers" + "total", + "platforms" + ], + "example": { + "total": 5, + "platforms": "" + } + }, + "variable": { + "description": "Variable", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Variable ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Variable creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Variable creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "key": { + "type": "string", + "description": "Variable key.", + "x-example": "API_KEY" + }, + "value": { + "type": "string", + "description": "Variable value.", + "x-example": "myPa$$word1" + }, + "secret": { + "type": "boolean", + "description": "Variable secret flag. Secret variables can only be updated or deleted, but never read.", + "x-example": false + }, + "resourceType": { + "type": "string", + "description": "Service to which the variable belongs. Possible values are \"project\", \"function\"", + "x-example": "function" + }, + "resourceId": { + "type": "string", + "description": "ID of resource to which the variable belongs. If resourceType is \"project\", it is empty. If resourceType is \"function\", it is ID of the function.", + "x-example": "myAwesomeFunction" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "key", + "value", + "secret", + "resourceType", + "resourceId" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "key": "API_KEY", + "value": "myPa$$word1", + "secret": false, + "resourceType": "function", + "resourceId": "myAwesomeFunction" + } + }, + "country": { + "description": "Country", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Country name.", + "x-example": "United States" + }, + "code": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" + } + }, + "required": [ + "name", + "code" + ], + "example": { + "name": "United States", + "code": "US" + } + }, + "continent": { + "description": "Continent", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Continent name.", + "x-example": "Europe" + }, + "code": { + "type": "string", + "description": "Continent two letter code.", + "x-example": "EU" + } + }, + "required": [ + "name", + "code" ], "example": { - "total": 5, - "providers": "" + "name": "Europe", + "code": "EU" } }, - "policyPasswordDictionary": { - "description": "Policy Password Dictionary", + "language": { + "description": "Language", "type": "object", "properties": { - "$id": { + "name": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Language name.", + "x-example": "Italian" }, - "enabled": { - "type": "boolean", - "description": "Whether password dictionary policy is enabled.", - "x-example": true + "code": { + "type": "string", + "description": "Language two-character ISO 639-1 codes.", + "x-example": "it" + }, + "nativeName": { + "type": "string", + "description": "Language native name.", + "x-example": "Italiano" } }, "required": [ - "$id", - "enabled" + "name", + "code", + "nativeName" ], "example": { - "$id": "password-dictionary", - "enabled": true + "name": "Italian", + "code": "it", + "nativeName": "Italiano" } }, - "policyPasswordHistory": { - "description": "Policy Password History", + "currency": { + "description": "Currency", "type": "object", "properties": { - "$id": { + "symbol": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Currency symbol.", + "x-example": "$" }, - "total": { + "name": { + "type": "string", + "description": "Currency name.", + "x-example": "US dollar" + }, + "symbolNative": { + "type": "string", + "description": "Currency native symbol.", + "x-example": "$" + }, + "decimalDigits": { "type": "integer", - "description": "Password history length. A value of 0 means the policy is disabled.", - "x-example": 5, + "description": "Number of decimal digits.", + "x-example": 2, "format": "int32" + }, + "rounding": { + "type": "number", + "description": "Currency digit rounding.", + "x-example": 0, + "format": "double" + }, + "code": { + "type": "string", + "description": "Currency code in [ISO 4217-1](http:\/\/en.wikipedia.org\/wiki\/ISO_4217) three-character format.", + "x-example": "USD" + }, + "namePlural": { + "type": "string", + "description": "Currency plural name", + "x-example": "US dollars" } }, "required": [ - "$id", - "total" + "symbol", + "name", + "symbolNative", + "decimalDigits", + "rounding", + "code", + "namePlural" ], "example": { - "$id": "password-dictionary", - "total": 5 + "symbol": "$", + "name": "US dollar", + "symbolNative": "$", + "decimalDigits": 2, + "rounding": 0, + "code": "USD", + "namePlural": "US dollars" } }, - "policyPasswordPersonalData": { - "description": "Policy Password Personal Data", + "phone": { + "description": "Phone", "type": "object", "properties": { - "$id": { + "code": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Phone code.", + "x-example": "+1" }, - "enabled": { - "type": "boolean", - "description": "Whether password personal data policy is enabled.", - "x-example": true + "countryCode": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" + }, + "countryName": { + "type": "string", + "description": "Country name.", + "x-example": "United States" } }, "required": [ - "$id", - "enabled" + "code", + "countryCode", + "countryName" ], "example": { - "$id": "password-dictionary", - "enabled": true + "code": "+1", + "countryCode": "US", + "countryName": "United States" } }, - "policySessionAlert": { - "description": "Policy Session Alert", + "healthAntivirus": { + "description": "Health Antivirus", "type": "object", "properties": { - "$id": { + "version": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Antivirus version.", + "x-example": "1.0.0" }, - "enabled": { - "type": "boolean", - "description": "Whether session alert policy is enabled.", - "x-example": true + "status": { + "type": "string", + "description": "Antivirus status. Possible values are: `disabled`, `offline`, `online`", + "x-example": "online", + "enum": [ + "disabled", + "offline", + "online" + ] } }, "required": [ - "$id", - "enabled" + "version", + "status" ], "example": { - "$id": "password-dictionary", - "enabled": true + "version": "1.0.0", + "status": "online" } }, - "policySessionDuration": { - "description": "Policy Session Duration", + "healthQueue": { + "description": "Health Queue", "type": "object", "properties": { - "$id": { + "size": { + "type": "integer", + "description": "Amount of actions in the queue.", + "x-example": 8, + "format": "int32" + } + }, + "required": [ + "size" + ], + "example": { + "size": 8 + } + }, + "healthStatus": { + "description": "Health Status", + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Name of the service.", + "x-example": "database" }, - "duration": { + "ping": { "type": "integer", - "description": "Session duration in seconds.", - "x-example": 3600, + "description": "Duration in milliseconds how long the health check took.", + "x-example": 128, "format": "int32" + }, + "status": { + "type": "string", + "description": "Service status. Possible values are: `pass`, `fail`", + "x-example": "pass", + "enum": [ + "pass", + "fail" + ], + "x-enum-name": "HealthCheckStatus" } }, "required": [ - "$id", - "duration" + "name", + "ping", + "status" ], "example": { - "$id": "password-dictionary", - "duration": 3600 + "name": "database", + "ping": 128, + "status": "pass" } }, - "policySessionInvalidation": { - "description": "Policy Session Invalidation", + "healthCertificate": { + "description": "Health Certificate", "type": "object", "properties": { - "$id": { + "name": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Certificate name", + "x-example": "\/CN=www.google.com" }, - "enabled": { - "type": "boolean", - "description": "Whether session invalidation policy is enabled.", - "x-example": true + "subjectSN": { + "type": "string", + "description": "Subject SN", + "x-example": "" + }, + "issuerOrganisation": { + "type": "string", + "description": "Issuer organisation", + "x-example": "" + }, + "validFrom": { + "type": "string", + "description": "Valid from", + "x-example": "1704200998" + }, + "validTo": { + "type": "string", + "description": "Valid to", + "x-example": "1711458597" + }, + "signatureTypeSN": { + "type": "string", + "description": "Signature type SN", + "x-example": "RSA-SHA256" } }, "required": [ - "$id", - "enabled" + "name", + "subjectSN", + "issuerOrganisation", + "validFrom", + "validTo", + "signatureTypeSN" ], "example": { - "$id": "password-dictionary", - "enabled": true + "name": "\/CN=www.google.com", + "subjectSN": "", + "issuerOrganisation": "", + "validFrom": "1704200998", + "validTo": "1711458597", + "signatureTypeSN": "RSA-SHA256" } }, - "policySessionLimit": { - "description": "Policy Session Limit", + "healthTime": { + "description": "Health Time", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "remoteTime": { + "type": "integer", + "description": "Current unix timestamp on trustful remote server.", + "x-example": 1639490751, + "format": "int32" }, - "total": { + "localTime": { "type": "integer", - "description": "Maximum number of sessions allowed per user. A value of 0 means the policy is disabled.", - "x-example": 10, + "description": "Current unix timestamp of local server where Appwrite runs.", + "x-example": 1639490844, + "format": "int32" + }, + "diff": { + "type": "integer", + "description": "Difference of unix remote and local timestamps in milliseconds.", + "x-example": 93, "format": "int32" } }, "required": [ - "$id", - "total" + "remoteTime", + "localTime", + "diff" ], "example": { - "$id": "password-dictionary", - "total": 10 + "remoteTime": 1639490751, + "localTime": 1639490844, + "diff": 93 } }, - "policyUserLimit": { - "description": "Policy User Limit", + "metric": { + "description": "Metric", "type": "object", "properties": { - "$id": { + "value": { + "type": "integer", + "description": "The value of this metric at the timestamp.", + "x-example": 1, + "format": "int32" + }, + "date": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "The date at which this metric was aggregated in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "value", + "date" + ], + "example": { + "value": 1, + "date": "2020-10-15T06:38:00.000+00:00" + } + }, + "metricBreakdown": { + "description": "Metric Breakdown", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource ID.", + "x-example": "5e5ea5c16897e", + "x-nullable": true }, - "total": { + "name": { + "type": "string", + "description": "Resource name.", + "x-example": "Documents" + }, + "value": { "type": "integer", - "description": "Maximum number of users allowed in the project. A value of 0 means the policy is disabled.", - "x-example": 100, + "description": "The value of this metric at the timestamp.", + "x-example": 1, "format": "int32" + }, + "estimate": { + "type": "number", + "description": "The estimated value of this metric at the end of the period.", + "x-example": 1, + "format": "double", + "x-nullable": true } }, "required": [ - "$id", - "total" + "name", + "value" ], "example": { - "$id": "password-dictionary", - "total": 100 + "resourceId": "5e5ea5c16897e", + "name": "Documents", + "value": 1, + "estimate": 1 } }, - "policyMembershipPrivacy": { - "description": "Policy Membership Privacy", + "usageDatabases": { + "description": "UsageDatabases", "type": "object", "properties": { - "$id": { + "range": { "type": "string", - "description": "Policy ID.", - "x-example": "password-dictionary" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "userId": { - "type": "boolean", - "description": "Whether user ID is visible in memberships.", - "x-example": true + "databasesTotal": { + "type": "integer", + "description": "Total aggregated number of databases.", + "x-example": 0, + "format": "int32" }, - "userEmail": { - "type": "boolean", - "description": "Whether user email is visible in memberships.", - "x-example": true + "collectionsTotal": { + "type": "integer", + "description": "Total aggregated number of collections.", + "x-example": 0, + "format": "int32" }, - "userPhone": { - "type": "boolean", - "description": "Whether user phone is visible in memberships.", - "x-example": true + "tablesTotal": { + "type": "integer", + "description": "Total aggregated number of tables.", + "x-example": 0, + "format": "int32" }, - "userName": { - "type": "boolean", - "description": "Whether user name is visible in memberships.", - "x-example": true + "documentsTotal": { + "type": "integer", + "description": "Total aggregated number of documents.", + "x-example": 0, + "format": "int32" }, - "userMFA": { - "type": "boolean", - "description": "Whether user MFA status is visible in memberships.", - "x-example": true + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of rows.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Total aggregated number of total databases storage in bytes.", + "x-example": 0, + "format": "int32" + }, + "databasesReadsTotal": { + "type": "integer", + "description": "Total number of databases reads.", + "x-example": 0, + "format": "int32" + }, + "databasesWritesTotal": { + "type": "integer", + "description": "Total number of databases writes.", + "x-example": 0, + "format": "int32" + }, + "databases": { + "type": "array", + "description": "Aggregated number of databases per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "collections": { + "type": "array", + "description": "Aggregated number of collections per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "tables": { + "type": "array", + "description": "Aggregated number of tables per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "An array of the aggregated number of databases storage in bytes per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "databasesReads": { + "type": "array", + "description": "An array of aggregated number of database reads.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "databasesWrites": { + "type": "array", + "description": "An array of aggregated number of database writes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "userId", - "userEmail", - "userPhone", - "userName", - "userMFA" + "range", + "databasesTotal", + "collectionsTotal", + "tablesTotal", + "documentsTotal", + "rowsTotal", + "storageTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "databases", + "collections", + "tables", + "documents", + "rows", + "storage", + "databasesReads", + "databasesWrites" ], "example": { - "$id": "password-dictionary", - "userId": true, - "userEmail": true, - "userPhone": true, - "userName": true, - "userMFA": true + "range": "30d", + "databasesTotal": 0, + "collectionsTotal": 0, + "tablesTotal": 0, + "documentsTotal": 0, + "rowsTotal": 0, + "storageTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "databases": [], + "collections": [], + "tables": [], + "documents": [], + "rows": [], + "storage": [], + "databasesReads": [], + "databasesWrites": [] } }, - "authProvider": { - "description": "AuthProvider", + "usageDatabase": { + "description": "UsageDatabase", "type": "object", "properties": { - "key": { + "range": { "type": "string", - "description": "Auth Provider.", - "x-example": "github" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "name": { - "type": "string", - "description": "Auth Provider name.", - "x-example": "GitHub" + "collectionsTotal": { + "type": "integer", + "description": "Total aggregated number of collections.", + "x-example": 0, + "format": "int32" }, - "appId": { - "type": "string", - "description": "OAuth 2.0 application ID.", - "x-example": "259125845563242502" + "tablesTotal": { + "type": "integer", + "description": "Total aggregated number of tables.", + "x-example": 0, + "format": "int32" }, - "secret": { - "type": "string", - "description": "OAuth 2.0 application secret. Might be JSON string if provider requires extra configuration. This property is write-only and always returned empty.", - "x-example": "" + "documentsTotal": { + "type": "integer", + "description": "Total aggregated number of documents.", + "x-example": 0, + "format": "int32" }, - "enabled": { - "type": "boolean", - "description": "Auth Provider is active and can be used to create session.", - "x-example": "" - } - }, - "required": [ - "key", - "name", - "appId", - "secret", - "enabled" - ], - "example": { - "key": "github", - "name": "GitHub", - "appId": "259125845563242502", - "secret": "", - "enabled": "" - } - }, - "platformWeb": { - "description": "Platform Web", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Platform ID.", - "x-example": "5e5ea5c16897e" + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of rows.", + "x-example": 0, + "format": "int32" }, - "$createdAt": { - "type": "string", - "description": "Platform creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "storageTotal": { + "type": "integer", + "description": "Total aggregated number of total storage used in bytes.", + "x-example": 0, + "format": "int32" }, - "$updatedAt": { - "type": "string", - "description": "Platform update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "databaseReadsTotal": { + "type": "integer", + "description": "Total number of databases reads.", + "x-example": 0, + "format": "int32" }, - "name": { - "type": "string", - "description": "Platform name.", - "x-example": "My Web App" + "databaseWritesTotal": { + "type": "integer", + "description": "Total number of databases writes.", + "x-example": 0, + "format": "int32" }, - "type": { - "type": "string", - "description": "Platform type. Possible values are: windows, apple, android, linux, web.", - "x-example": "web", - "enum": [ - "windows", - "apple", - "android", - "linux", - "web" - ], - "x-enum-name": "PlatformType" + "collections": { + "type": "array", + "description": "Aggregated number of collections per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "hostname": { - "type": "string", - "description": "Web app hostname. Empty string for other platforms.", - "x-example": "app.example.com" - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "type", - "hostname", - "key" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Web App", - "type": "web", - "hostname": "app.example.com" - } - }, - "platformApple": { - "description": "Platform Apple", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Platform ID.", - "x-example": "5e5ea5c16897e" + "tables": { + "type": "array", + "description": "Aggregated number of tables per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "$createdAt": { - "type": "string", - "description": "Platform creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "$updatedAt": { - "type": "string", - "description": "Platform update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "name": { - "type": "string", - "description": "Platform name.", - "x-example": "My Web App" + "storage": { + "type": "array", + "description": "Aggregated storage used in bytes per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "type": { - "type": "string", - "description": "Platform type. Possible values are: windows, apple, android, linux, web.", - "x-example": "web", - "enum": [ - "windows", - "apple", - "android", - "linux", - "web" - ], - "x-enum-name": "PlatformType" + "databaseReads": { + "type": "array", + "description": "An array of aggregated number of database reads.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "bundleIdentifier": { - "type": "string", - "description": "Apple bundle identifier.", - "x-example": "com.company.appname" + "databaseWrites": { + "type": "array", + "description": "An array of aggregated number of database writes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "type", - "bundleIdentifier" + "range", + "collectionsTotal", + "tablesTotal", + "documentsTotal", + "rowsTotal", + "storageTotal", + "databaseReadsTotal", + "databaseWritesTotal", + "collections", + "tables", + "documents", + "rows", + "storage", + "databaseReads", + "databaseWrites" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Web App", - "type": "web", - "bundleIdentifier": "com.company.appname" + "range": "30d", + "collectionsTotal": 0, + "tablesTotal": 0, + "documentsTotal": 0, + "rowsTotal": 0, + "storageTotal": 0, + "databaseReadsTotal": 0, + "databaseWritesTotal": 0, + "collections": [], + "tables": [], + "documents": [], + "rows": [], + "storage": [], + "databaseReads": [], + "databaseWrites": [] } }, - "platformAndroid": { - "description": "Platform Android", + "usageTable": { + "description": "UsageTable", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Platform ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Platform creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Platform update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "name": { + "range": { "type": "string", - "description": "Platform name.", - "x-example": "My Web App" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "type": { - "type": "string", - "description": "Platform type. Possible values are: windows, apple, android, linux, web.", - "x-example": "web", - "enum": [ - "windows", - "apple", - "android", - "linux", - "web" - ], - "x-enum-name": "PlatformType" + "rowsTotal": { + "type": "integer", + "description": "Total aggregated number of of rows.", + "x-example": 0, + "format": "int32" }, - "applicationId": { - "type": "string", - "description": "Android application ID.", - "x-example": "com.company.appname" + "rows": { + "type": "array", + "description": "Aggregated number of rows per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "type", - "applicationId" + "range", + "rowsTotal", + "rows" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Web App", - "type": "web", - "applicationId": "com.company.appname" + "range": "30d", + "rowsTotal": 0, + "rows": [] } }, - "platformWindows": { - "description": "Platform Windows", + "usageCollection": { + "description": "UsageCollection", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Platform ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Platform creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Platform update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "name": { + "range": { "type": "string", - "description": "Platform name.", - "x-example": "My Web App" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "type": { - "type": "string", - "description": "Platform type. Possible values are: windows, apple, android, linux, web.", - "x-example": "web", - "enum": [ - "windows", - "apple", - "android", - "linux", - "web" - ], - "x-enum-name": "PlatformType" + "documentsTotal": { + "type": "integer", + "description": "Total aggregated number of of documents.", + "x-example": 0, + "format": "int32" }, - "packageIdentifierName": { - "type": "string", - "description": "Windows package identifier name.", - "x-example": "com.company.appname" + "documents": { + "type": "array", + "description": "Aggregated number of documents per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "type", - "packageIdentifierName" + "range", + "documentsTotal", + "documents" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Web App", - "type": "web", - "packageIdentifierName": "com.company.appname" + "range": "30d", + "documentsTotal": 0, + "documents": [] } }, - "platformLinux": { - "description": "Platform Linux", + "usageUsers": { + "description": "UsageUsers", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Platform ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Platform creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { + "range": { "type": "string", - "description": "Platform update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "name": { - "type": "string", - "description": "Platform name.", - "x-example": "My Web App" + "usersTotal": { + "type": "integer", + "description": "Total aggregated number of statistics of users.", + "x-example": 0, + "format": "int32" }, - "type": { - "type": "string", - "description": "Platform type. Possible values are: windows, apple, android, linux, web.", - "x-example": "web", - "enum": [ - "windows", - "apple", - "android", - "linux", - "web" - ], - "x-enum-name": "PlatformType" + "sessionsTotal": { + "type": "integer", + "description": "Total aggregated number of active sessions.", + "x-example": 0, + "format": "int32" }, - "packageName": { - "type": "string", - "description": "Linux package name.", - "x-example": "com.company.appname" + "users": { + "type": "array", + "description": "Aggregated number of users per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "sessions": { + "type": "array", + "description": "Aggregated number of active sessions per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "type", - "packageName" + "range", + "usersTotal", + "sessionsTotal", + "users", + "sessions" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "My Web App", - "type": "web", - "packageName": "com.company.appname" + "range": "30d", + "usersTotal": 0, + "sessionsTotal": 0, + "users": [], + "sessions": [] } }, - "platformList": { - "description": "Platforms List", + "usagePresence": { + "description": "UsagePresence", "type": "object", "properties": { - "total": { + "range": { + "type": "string", + "description": "Time range of the usage stats.", + "x-example": "30d" + }, + "usersOnlineTotal": { "type": "integer", - "description": "Total number of platforms in the given project.", - "x-example": 5, + "description": "Current total number of online users.", + "x-example": 0, "format": "int32" }, - "platforms": { + "presences": { "type": "array", - "description": "List of platforms.", + "description": "Aggregated number of online users per period.", "items": { - "x-anyOf": [ - { - "$ref": "#\/definitions\/platformWeb" - }, - { - "$ref": "#\/definitions\/platformApple" - }, - { - "$ref": "#\/definitions\/platformAndroid" - }, - { - "$ref": "#\/definitions\/platformWindows" - }, - { - "$ref": "#\/definitions\/platformLinux" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/definitions\/platformWeb", - "apple": "#\/definitions\/platformApple", - "android": "#\/definitions\/platformAndroid", - "windows": "#\/definitions\/platformWindows", - "linux": "#\/definitions\/platformLinux" - } - } + "type": "object", + "$ref": "#\/definitions\/metric" }, - "x-example": "" + "x-example": [] } }, "required": [ - "total", - "platforms" + "range", + "usersOnlineTotal", + "presences" ], "example": { - "total": 5, - "platforms": "" + "range": "30d", + "usersOnlineTotal": 0, + "presences": [] } }, - "variable": { - "description": "Variable", + "usageStorage": { + "description": "StorageUsage", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Variable ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { + "range": { "type": "string", - "description": "Variable creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "$updatedAt": { - "type": "string", - "description": "Variable creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "bucketsTotal": { + "type": "integer", + "description": "Total aggregated number of buckets", + "x-example": 0, + "format": "int32" }, - "key": { - "type": "string", - "description": "Variable key.", - "x-example": "API_KEY" + "filesTotal": { + "type": "integer", + "description": "Total aggregated number of files.", + "x-example": 0, + "format": "int32" }, - "value": { - "type": "string", - "description": "Variable value.", - "x-example": "myPa$$word1" + "filesStorageTotal": { + "type": "integer", + "description": "Total aggregated number of files storage (in bytes).", + "x-example": 0, + "format": "int32" }, - "secret": { - "type": "boolean", - "description": "Variable secret flag. Secret variables can only be updated or deleted, but never read.", - "x-example": false + "buckets": { + "type": "array", + "description": "Aggregated number of buckets per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "resourceType": { - "type": "string", - "description": "Service to which the variable belongs. Possible values are \"project\", \"function\"", - "x-example": "function" + "files": { + "type": "array", + "description": "Aggregated number of files per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "resourceId": { - "type": "string", - "description": "ID of resource to which the variable belongs. If resourceType is \"project\", it is empty. If resourceType is \"function\", it is ID of the function.", - "x-example": "myAwesomeFunction" + "storage": { + "type": "array", + "description": "Aggregated number of files storage (in bytes) per period .", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "key", - "value", - "secret", - "resourceType", - "resourceId" + "range", + "bucketsTotal", + "filesTotal", + "filesStorageTotal", + "buckets", + "files", + "storage" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "key": "API_KEY", - "value": "myPa$$word1", - "secret": false, - "resourceType": "function", - "resourceId": "myAwesomeFunction" + "range": "30d", + "bucketsTotal": 0, + "filesTotal": 0, + "filesStorageTotal": 0, + "buckets": [], + "files": [], + "storage": [] } }, - "country": { - "description": "Country", + "usageBuckets": { + "description": "UsageBuckets", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Country name.", - "x-example": "United States" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "code": { - "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "filesTotal": { + "type": "integer", + "description": "Total aggregated number of bucket files.", + "x-example": 0, + "format": "int32" + }, + "filesStorageTotal": { + "type": "integer", + "description": "Total aggregated number of bucket files storage (in bytes).", + "x-example": 0, + "format": "int32" + }, + "files": { + "type": "array", + "description": "Aggregated number of bucket files per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "storage": { + "type": "array", + "description": "Aggregated number of bucket storage files (in bytes) per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "imageTransformations": { + "type": "array", + "description": "Aggregated number of files transformations per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "imageTransformationsTotal": { + "type": "integer", + "description": "Total aggregated number of files transformations.", + "x-example": 0, + "format": "int32" } }, "required": [ - "name", - "code" + "range", + "filesTotal", + "filesStorageTotal", + "files", + "storage", + "imageTransformations", + "imageTransformationsTotal" ], "example": { - "name": "United States", - "code": "US" + "range": "30d", + "filesTotal": 0, + "filesStorageTotal": 0, + "files": [], + "storage": [], + "imageTransformations": [], + "imageTransformationsTotal": 0 } }, - "continent": { - "description": "Continent", + "usageFunctions": { + "description": "UsageFunctions", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Continent name.", - "x-example": "Europe" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "code": { - "type": "string", - "description": "Continent two letter code.", - "x-example": "EU" + "functionsTotal": { + "type": "integer", + "description": "Total aggregated number of functions.", + "x-example": 0, + "format": "int32" + }, + "deploymentsTotal": { + "type": "integer", + "description": "Total aggregated number of functions deployments.", + "x-example": 0, + "format": "int32" + }, + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of functions deployment storage.", + "x-example": 0, + "format": "int32" + }, + "buildsTotal": { + "type": "integer", + "description": "Total aggregated number of functions build.", + "x-example": 0, + "format": "int32" + }, + "buildsStorageTotal": { + "type": "integer", + "description": "total aggregated sum of functions build storage.", + "x-example": 0, + "format": "int32" + }, + "buildsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of functions build compute time.", + "x-example": 0, + "format": "int32" + }, + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of functions build mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of functions execution.", + "x-example": 0, + "format": "int32" + }, + "executionsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of functions execution compute time.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of functions execution mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "functions": { + "type": "array", + "description": "Aggregated number of functions per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": 0 + }, + "deployments": { + "type": "array", + "description": "Aggregated number of functions deployment per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "deploymentsStorage": { + "type": "array", + "description": "Aggregated number of functions deployment storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccessTotal": { + "type": "integer", + "description": "Total aggregated number of successful function builds.", + "x-example": 0, + "format": "int32" + }, + "buildsFailedTotal": { + "type": "integer", + "description": "Total aggregated number of failed function builds.", + "x-example": 0, + "format": "int32" + }, + "builds": { + "type": "array", + "description": "Aggregated number of functions build per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsStorage": { + "type": "array", + "description": "Aggregated sum of functions build storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsTime": { + "type": "array", + "description": "Aggregated sum of functions build compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsMbSeconds": { + "type": "array", + "description": "Aggregated sum of functions build mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated number of functions execution per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsTime": { + "type": "array", + "description": "Aggregated number of functions execution compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of functions mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful function builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed function builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "code" + "range", + "functionsTotal", + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "functions", + "deployments", + "deploymentsStorage", + "buildsSuccessTotal", + "buildsFailedTotal", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { - "name": "Europe", - "code": "EU" + "range": "30d", + "functionsTotal": 0, + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "functions": 0, + "deployments": [], + "deploymentsStorage": [], + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "language": { - "description": "Language", + "usageFunction": { + "description": "UsageFunction", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Language name.", - "x-example": "Italian" + "description": "The time range of the usage stats.", + "x-example": "30d" }, - "code": { - "type": "string", - "description": "Language two-character ISO 639-1 codes.", - "x-example": "it" + "deploymentsTotal": { + "type": "integer", + "description": "Total aggregated number of function deployments.", + "x-example": 0, + "format": "int32" }, - "nativeName": { - "type": "string", - "description": "Language native name.", - "x-example": "Italiano" - } - }, - "required": [ - "name", - "code", - "nativeName" - ], - "example": { - "name": "Italian", - "code": "it", - "nativeName": "Italiano" - } - }, - "currency": { - "description": "Currency", - "type": "object", - "properties": { - "symbol": { - "type": "string", - "description": "Currency symbol.", - "x-example": "$" + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of function deployments storage.", + "x-example": 0, + "format": "int32" }, - "name": { - "type": "string", - "description": "Currency name.", - "x-example": "US dollar" + "buildsTotal": { + "type": "integer", + "description": "Total aggregated number of function builds.", + "x-example": 0, + "format": "int32" }, - "symbolNative": { - "type": "string", - "description": "Currency native symbol.", - "x-example": "$" + "buildsSuccessTotal": { + "type": "integer", + "description": "Total aggregated number of successful function builds.", + "x-example": 0, + "format": "int32" }, - "decimalDigits": { + "buildsFailedTotal": { "type": "integer", - "description": "Number of decimal digits.", - "x-example": 2, + "description": "Total aggregated number of failed function builds.", + "x-example": 0, "format": "int32" }, - "rounding": { - "type": "number", - "description": "Currency digit rounding.", + "buildsStorageTotal": { + "type": "integer", + "description": "total aggregated sum of function builds storage.", "x-example": 0, - "format": "double" + "format": "int32" }, - "code": { - "type": "string", - "description": "Currency code in [ISO 4217-1](http:\/\/en.wikipedia.org\/wiki\/ISO_4217) three-character format.", - "x-example": "USD" + "buildsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of function builds compute time.", + "x-example": 0, + "format": "int32" }, - "namePlural": { - "type": "string", - "description": "Currency plural name", - "x-example": "US dollars" - } - }, - "required": [ - "symbol", - "name", - "symbolNative", - "decimalDigits", - "rounding", - "code", - "namePlural" - ], - "example": { - "symbol": "$", - "name": "US dollar", - "symbolNative": "$", - "decimalDigits": 2, - "rounding": 0, - "code": "USD", - "namePlural": "US dollars" - } - }, - "phone": { - "description": "Phone", - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Phone code.", - "x-example": "+1" + "buildsTimeAverage": { + "type": "integer", + "description": "Average builds compute time.", + "x-example": 0, + "format": "int32" }, - "countryCode": { - "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of function builds mbSeconds.", + "x-example": 0, + "format": "int32" }, - "countryName": { - "type": "string", - "description": "Country name.", - "x-example": "United States" - } - }, - "required": [ - "code", - "countryCode", - "countryName" - ], - "example": { - "code": "+1", - "countryCode": "US", - "countryName": "United States" - } - }, - "healthAntivirus": { - "description": "Health Antivirus", - "type": "object", - "properties": { - "version": { - "type": "string", - "description": "Antivirus version.", - "x-example": "1.0.0" + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of function executions.", + "x-example": 0, + "format": "int32" }, - "status": { - "type": "string", - "description": "Antivirus status. Possible values are: `disabled`, `offline`, `online`", - "x-example": "online", - "enum": [ - "disabled", - "offline", - "online" - ] - } - }, - "required": [ - "version", - "status" - ], - "example": { - "version": "1.0.0", - "status": "online" - } - }, - "healthQueue": { - "description": "Health Queue", - "type": "object", - "properties": { - "size": { + "executionsTimeTotal": { "type": "integer", - "description": "Amount of actions in the queue.", - "x-example": 8, + "description": "Total aggregated sum of function executions compute time.", + "x-example": 0, "format": "int32" - } - }, - "required": [ - "size" - ], - "example": { - "size": 8 - } - }, - "healthStatus": { - "description": "Health Status", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the service.", - "x-example": "database" }, - "ping": { + "executionsMbSecondsTotal": { "type": "integer", - "description": "Duration in milliseconds how long the health check took.", - "x-example": 128, + "description": "Total aggregated sum of function executions mbSeconds.", + "x-example": 0, "format": "int32" }, - "status": { - "type": "string", - "description": "Service status. Possible values are: `pass`, `fail`", - "x-example": "pass", - "enum": [ - "pass", - "fail" - ], - "x-enum-name": "HealthCheckStatus" + "deployments": { + "type": "array", + "description": "Aggregated number of function deployments per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "deploymentsStorage": { + "type": "array", + "description": "Aggregated number of function deployments storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "builds": { + "type": "array", + "description": "Aggregated number of function builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsStorage": { + "type": "array", + "description": "Aggregated sum of function builds storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsTime": { + "type": "array", + "description": "Aggregated sum of function builds compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsMbSeconds": { + "type": "array", + "description": "Aggregated number of function builds mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated number of function executions per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsTime": { + "type": "array", + "description": "Aggregated number of function executions compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of function mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "ping", - "status" + "range", + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsSuccessTotal", + "buildsFailedTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsTimeAverage", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "deployments", + "deploymentsStorage", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { - "name": "database", - "ping": 128, - "status": "pass" + "range": "30d", + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsTimeAverage": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "deployments": [], + "deploymentsStorage": [], + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "healthCertificate": { - "description": "Health Certificate", + "usageSites": { + "description": "UsageSites", "type": "object", "properties": { - "name": { + "range": { "type": "string", - "description": "Certificate name", - "x-example": "\/CN=www.google.com" + "description": "Time range of the usage stats.", + "x-example": "30d" }, - "subjectSN": { - "type": "string", - "description": "Subject SN", - "x-example": "" + "sitesTotal": { + "type": "integer", + "description": "Total aggregated number of sites.", + "x-example": 0, + "format": "int32" }, - "issuerOrganisation": { - "type": "string", - "description": "Issuer organisation", - "x-example": "" + "sites": { + "type": "array", + "description": "Aggregated number of sites per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "validFrom": { - "type": "string", - "description": "Valid from", - "x-example": "1704200998" + "deploymentsTotal": { + "type": "integer", + "description": "Total aggregated number of sites deployments.", + "x-example": 0, + "format": "int32" }, - "validTo": { - "type": "string", - "description": "Valid to", - "x-example": "1711458597" + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of sites deployment storage.", + "x-example": 0, + "format": "int32" }, - "signatureTypeSN": { - "type": "string", - "description": "Signature type SN", - "x-example": "RSA-SHA256" - } - }, - "required": [ - "name", - "subjectSN", - "issuerOrganisation", - "validFrom", - "validTo", - "signatureTypeSN" - ], - "example": { - "name": "\/CN=www.google.com", - "subjectSN": "", - "issuerOrganisation": "", - "validFrom": "1704200998", - "validTo": "1711458597", - "signatureTypeSN": "RSA-SHA256" - } - }, - "healthTime": { - "description": "Health Time", - "type": "object", - "properties": { - "remoteTime": { + "buildsTotal": { + "type": "integer", + "description": "Total aggregated number of sites build.", + "x-example": 0, + "format": "int32" + }, + "buildsStorageTotal": { + "type": "integer", + "description": "total aggregated sum of sites build storage.", + "x-example": 0, + "format": "int32" + }, + "buildsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of sites build compute time.", + "x-example": 0, + "format": "int32" + }, + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of sites build mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of sites execution.", + "x-example": 0, + "format": "int32" + }, + "executionsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of sites execution compute time.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of sites execution mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "requestsTotal": { + "type": "integer", + "description": "Total aggregated number of requests.", + "x-example": 0, + "format": "int32" + }, + "requests": { + "type": "array", + "description": "Aggregated number of requests per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "inboundTotal": { "type": "integer", - "description": "Current unix timestamp on trustful remote server.", - "x-example": 1639490751, + "description": "Total aggregated inbound bandwidth.", + "x-example": 0, "format": "int32" }, - "localTime": { + "inbound": { + "type": "array", + "description": "Aggregated number of inbound bandwidth per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "outboundTotal": { "type": "integer", - "description": "Current unix timestamp of local server where Appwrite runs.", - "x-example": 1639490844, + "description": "Total aggregated outbound bandwidth.", + "x-example": 0, "format": "int32" }, - "diff": { + "outbound": { + "type": "array", + "description": "Aggregated number of outbound bandwidth per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "deployments": { + "type": "array", + "description": "Aggregated number of sites deployment per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "deploymentsStorage": { + "type": "array", + "description": "Aggregated number of sites deployment storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccessTotal": { "type": "integer", - "description": "Difference of unix remote and local timestamps in milliseconds.", - "x-example": 93, + "description": "Total aggregated number of successful site builds.", + "x-example": 0, "format": "int32" - } - }, - "required": [ - "remoteTime", - "localTime", - "diff" - ], - "example": { - "remoteTime": 1639490751, - "localTime": 1639490844, - "diff": 93 - } - }, - "metric": { - "description": "Metric", - "type": "object", - "properties": { - "value": { + }, + "buildsFailedTotal": { "type": "integer", - "description": "The value of this metric at the timestamp.", - "x-example": 1, + "description": "Total aggregated number of failed site builds.", + "x-example": 0, "format": "int32" }, - "date": { - "type": "string", - "description": "The date at which this metric was aggregated in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "value", - "date" - ], - "example": { - "value": 1, - "date": "2020-10-15T06:38:00.000+00:00" - } - }, - "metricBreakdown": { - "description": "Metric Breakdown", - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "description": "Resource ID.", - "x-example": "5e5ea5c16897e", - "x-nullable": true + "builds": { + "type": "array", + "description": "Aggregated number of sites build per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "name": { - "type": "string", - "description": "Resource name.", - "x-example": "Documents" + "buildsStorage": { + "type": "array", + "description": "Aggregated sum of sites build storage per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "value": { - "type": "integer", - "description": "The value of this metric at the timestamp.", - "x-example": 1, - "format": "int32" + "buildsTime": { + "type": "array", + "description": "Aggregated sum of sites build compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "estimate": { - "type": "number", - "description": "The estimated value of this metric at the end of the period.", - "x-example": 1, - "format": "double", - "x-nullable": true + "buildsMbSeconds": { + "type": "array", + "description": "Aggregated sum of sites build mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated number of sites execution per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsTime": { + "type": "array", + "description": "Aggregated number of sites execution compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of sites mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful site builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed site builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "name", - "value" + "range", + "sitesTotal", + "sites", + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "requestsTotal", + "requests", + "inboundTotal", + "inbound", + "outboundTotal", + "outbound", + "deployments", + "deploymentsStorage", + "buildsSuccessTotal", + "buildsFailedTotal", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed" ], "example": { - "resourceId": "5e5ea5c16897e", - "name": "Documents", - "value": 1, - "estimate": 1 + "range": "30d", + "sitesTotal": 0, + "sites": [], + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "requestsTotal": 0, + "requests": [], + "inboundTotal": 0, + "inbound": [], + "outboundTotal": 0, + "outbound": [], + "deployments": [], + "deploymentsStorage": [], + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [] } }, - "usageDatabases": { - "description": "UsageDatabases", + "usageSite": { + "description": "UsageSite", "type": "object", "properties": { "range": { "type": "string", - "description": "Time range of the usage stats.", + "description": "The time range of the usage stats.", "x-example": "30d" }, - "databasesTotal": { + "deploymentsTotal": { "type": "integer", - "description": "Total aggregated number of databases.", + "description": "Total aggregated number of function deployments.", "x-example": 0, "format": "int32" }, - "collectionsTotal": { + "deploymentsStorageTotal": { "type": "integer", - "description": "Total aggregated number of collections.", + "description": "Total aggregated sum of function deployments storage.", "x-example": 0, "format": "int32" }, - "tablesTotal": { + "buildsTotal": { "type": "integer", - "description": "Total aggregated number of tables.", + "description": "Total aggregated number of function builds.", "x-example": 0, "format": "int32" }, - "documentsTotal": { + "buildsSuccessTotal": { "type": "integer", - "description": "Total aggregated number of documents.", + "description": "Total aggregated number of successful function builds.", "x-example": 0, "format": "int32" }, - "rowsTotal": { + "buildsFailedTotal": { "type": "integer", - "description": "Total aggregated number of rows.", + "description": "Total aggregated number of failed function builds.", "x-example": 0, "format": "int32" }, - "storageTotal": { + "buildsStorageTotal": { "type": "integer", - "description": "Total aggregated number of total databases storage in bytes.", + "description": "total aggregated sum of function builds storage.", "x-example": 0, "format": "int32" }, - "databasesReadsTotal": { + "buildsTimeTotal": { "type": "integer", - "description": "Total number of databases reads.", + "description": "Total aggregated sum of function builds compute time.", "x-example": 0, "format": "int32" }, - "databasesWritesTotal": { + "buildsTimeAverage": { "type": "integer", - "description": "Total number of databases writes.", + "description": "Average builds compute time.", "x-example": 0, "format": "int32" }, - "databases": { + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of function builds mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Total aggregated number of function executions.", + "x-example": 0, + "format": "int32" + }, + "executionsTimeTotal": { + "type": "integer", + "description": "Total aggregated sum of function executions compute time.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated sum of function executions mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "deployments": { "type": "array", - "description": "Aggregated number of databases per period.", + "description": "Aggregated number of function deployments per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "collections": { + "deploymentsStorage": { "type": "array", - "description": "Aggregated number of collections per period.", + "description": "Aggregated number of function deployments storage per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "tables": { + "builds": { "type": "array", - "description": "Aggregated number of tables per period.", + "description": "Aggregated number of function builds per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "documents": { + "buildsStorage": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated sum of function builds storage per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "rows": { + "buildsTime": { "type": "array", - "description": "Aggregated number of rows per period.", + "description": "Aggregated sum of function builds compute time per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "storage": { + "buildsMbSeconds": { "type": "array", - "description": "An array of the aggregated number of databases storage in bytes per period.", + "description": "Aggregated number of function builds mbSeconds per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "databasesReads": { + "executions": { "type": "array", - "description": "An array of aggregated number of database reads.", + "description": "Aggregated number of function executions per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "databasesWrites": { + "executionsTime": { "type": "array", - "description": "An array of aggregated number of database writes.", + "description": "Aggregated number of function executions compute time per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executionsMbSeconds": { + "type": "array", + "description": "Aggregated number of function mbSeconds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsSuccess": { + "type": "array", + "description": "Aggregated number of successful builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "buildsFailed": { + "type": "array", + "description": "Aggregated number of failed builds per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "requestsTotal": { + "type": "integer", + "description": "Total aggregated number of requests.", + "x-example": 0, + "format": "int32" + }, + "requests": { + "type": "array", + "description": "Aggregated number of requests per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "inboundTotal": { + "type": "integer", + "description": "Total aggregated inbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "inbound": { + "type": "array", + "description": "Aggregated number of inbound bandwidth per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "outboundTotal": { + "type": "integer", + "description": "Total aggregated outbound bandwidth.", + "x-example": 0, + "format": "int32" + }, + "outbound": { + "type": "array", + "description": "Aggregated number of outbound bandwidth per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" @@ -89943,427 +95047,343 @@ }, "required": [ "range", - "databasesTotal", - "collectionsTotal", - "tablesTotal", - "documentsTotal", - "rowsTotal", - "storageTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "databases", - "collections", - "tables", - "documents", - "rows", - "storage", - "databasesReads", - "databasesWrites" + "deploymentsTotal", + "deploymentsStorageTotal", + "buildsTotal", + "buildsSuccessTotal", + "buildsFailedTotal", + "buildsStorageTotal", + "buildsTimeTotal", + "buildsTimeAverage", + "buildsMbSecondsTotal", + "executionsTotal", + "executionsTimeTotal", + "executionsMbSecondsTotal", + "deployments", + "deploymentsStorage", + "builds", + "buildsStorage", + "buildsTime", + "buildsMbSeconds", + "executions", + "executionsTime", + "executionsMbSeconds", + "buildsSuccess", + "buildsFailed", + "requestsTotal", + "requests", + "inboundTotal", + "inbound", + "outboundTotal", + "outbound" ], "example": { "range": "30d", - "databasesTotal": 0, - "collectionsTotal": 0, - "tablesTotal": 0, - "documentsTotal": 0, - "rowsTotal": 0, - "storageTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "databases": [], - "collections": [], - "tables": [], - "documents": [], - "rows": [], - "storage": [], - "databasesReads": [], - "databasesWrites": [] + "deploymentsTotal": 0, + "deploymentsStorageTotal": 0, + "buildsTotal": 0, + "buildsSuccessTotal": 0, + "buildsFailedTotal": 0, + "buildsStorageTotal": 0, + "buildsTimeTotal": 0, + "buildsTimeAverage": 0, + "buildsMbSecondsTotal": 0, + "executionsTotal": 0, + "executionsTimeTotal": 0, + "executionsMbSecondsTotal": 0, + "deployments": [], + "deploymentsStorage": [], + "builds": [], + "buildsStorage": [], + "buildsTime": [], + "buildsMbSeconds": [], + "executions": [], + "executionsTime": [], + "executionsMbSeconds": [], + "buildsSuccess": [], + "buildsFailed": [], + "requestsTotal": 0, + "requests": [], + "inboundTotal": 0, + "inbound": [], + "outboundTotal": 0, + "outbound": [] } }, - "usageDatabase": { - "description": "UsageDatabase", + "usageProject": { + "description": "Project", "type": "object", "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "collectionsTotal": { + "executionsTotal": { "type": "integer", - "description": "Total aggregated number of collections.", + "description": "Total aggregated number of function executions.", "x-example": 0, "format": "int32" }, - "tablesTotal": { + "documentsTotal": { "type": "integer", - "description": "Total aggregated number of tables.", + "description": "Total aggregated number of documents in legacy\/tablesdb.", "x-example": 0, "format": "int32" }, - "documentsTotal": { + "documentsdbDocumentsTotal": { "type": "integer", - "description": "Total aggregated number of documents.", + "description": "Total aggregated number of documents in documentsdb.", "x-example": 0, "format": "int32" }, "rowsTotal": { "type": "integer", - "description": "Total aggregated number of rows.", + "description": "Total aggregated number of rows.", "x-example": 0, "format": "int32" }, - "storageTotal": { + "databasesTotal": { "type": "integer", - "description": "Total aggregated number of total storage used in bytes.", + "description": "Total aggregated number of databases.", "x-example": 0, "format": "int32" }, - "databaseReadsTotal": { + "documentsdbTotal": { "type": "integer", - "description": "Total number of databases reads.", + "description": "Total aggregated number of documentsdb.", "x-example": 0, "format": "int32" }, - "databaseWritesTotal": { + "databasesStorageTotal": { "type": "integer", - "description": "Total number of databases writes.", + "description": "Total aggregated sum of databases storage size (in bytes).", "x-example": 0, "format": "int32" }, - "collections": { - "type": "array", - "description": "Aggregated number of collections per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "documentsdbDatabasesStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of documentsdb databases storage size (in bytes).", + "x-example": 0, + "format": "int32" }, - "tables": { + "usersTotal": { + "type": "integer", + "description": "Total aggregated number of users.", + "x-example": 0, + "format": "int32" + }, + "filesStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of files storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "functionsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of functions storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "buildsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of builds storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "deploymentsStorageTotal": { + "type": "integer", + "description": "Total aggregated sum of deployments storage size (in bytes).", + "x-example": 0, + "format": "int32" + }, + "bucketsTotal": { + "type": "integer", + "description": "Total aggregated number of buckets.", + "x-example": 0, + "format": "int32" + }, + "executionsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated number of function executions mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "buildsMbSecondsTotal": { + "type": "integer", + "description": "Total aggregated number of function builds mbSeconds.", + "x-example": 0, + "format": "int32" + }, + "databasesReadsTotal": { + "type": "integer", + "description": "Aggregated stats for total databases reads.", + "x-example": 0, + "format": "int32" + }, + "databasesWritesTotal": { + "type": "integer", + "description": "Aggregated stats for total databases writes.", + "x-example": 0, + "format": "int32" + }, + "documentsdbDatabasesReadsTotal": { + "type": "integer", + "description": "Total number of documentsdb databases reads.", + "x-example": 0, + "format": "int32" + }, + "documentsdbDatabasesWritesTotal": { + "type": "integer", + "description": "Total number of documentsdb databases writes.", + "x-example": 0, + "format": "int32" + }, + "requests": { "type": "array", - "description": "Aggregated number of tables per period.", + "description": "Aggregated number of requests per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "documents": { + "network": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated number of consumed bandwidth per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "rows": { + "users": { "type": "array", - "description": "Aggregated number of rows per period.", + "description": "Aggregated number of users per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "storage": { + "executions": { "type": "array", - "description": "Aggregated storage used in bytes per period.", + "description": "Aggregated number of executions per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "databaseReads": { + "executionsBreakdown": { "type": "array", - "description": "An array of aggregated number of database reads.", + "description": "Aggregated breakdown in totals of executions by functions.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] }, - "databaseWrites": { + "bucketsBreakdown": { "type": "array", - "description": "An array of aggregated number of database writes.", + "description": "Aggregated breakdown in totals of usage by buckets.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] - } - }, - "required": [ - "range", - "collectionsTotal", - "tablesTotal", - "documentsTotal", - "rowsTotal", - "storageTotal", - "databaseReadsTotal", - "databaseWritesTotal", - "collections", - "tables", - "documents", - "rows", - "storage", - "databaseReads", - "databaseWrites" - ], - "example": { - "range": "30d", - "collectionsTotal": 0, - "tablesTotal": 0, - "documentsTotal": 0, - "rowsTotal": 0, - "storageTotal": 0, - "databaseReadsTotal": 0, - "databaseWritesTotal": 0, - "collections": [], - "tables": [], - "documents": [], - "rows": [], - "storage": [], - "databaseReads": [], - "databaseWrites": [] - } - }, - "usageTable": { - "description": "UsageTable", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "rowsTotal": { - "type": "integer", - "description": "Total aggregated number of of rows.", - "x-example": 0, - "format": "int32" }, - "rows": { + "databasesStorageBreakdown": { "type": "array", - "description": "Aggregated number of rows per period.", + "description": "An array of the aggregated breakdown of storage usage by databases.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] - } - }, - "required": [ - "range", - "rowsTotal", - "rows" - ], - "example": { - "range": "30d", - "rowsTotal": 0, - "rows": [] - } - }, - "usageCollection": { - "description": "UsageCollection", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "documentsTotal": { - "type": "integer", - "description": "Total aggregated number of of documents.", - "x-example": 0, - "format": "int32" }, - "documents": { + "executionsMbSecondsBreakdown": { "type": "array", - "description": "Aggregated number of documents per period.", + "description": "Aggregated breakdown in totals of execution mbSeconds by functions.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] - } - }, - "required": [ - "range", - "documentsTotal", - "documents" - ], - "example": { - "range": "30d", - "documentsTotal": 0, - "documents": [] - } - }, - "usageUsers": { - "description": "UsageUsers", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "usersTotal": { - "type": "integer", - "description": "Total aggregated number of statistics of users.", - "x-example": 0, - "format": "int32" - }, - "sessionsTotal": { - "type": "integer", - "description": "Total aggregated number of active sessions.", - "x-example": 0, - "format": "int32" }, - "users": { + "buildsMbSecondsBreakdown": { "type": "array", - "description": "Aggregated number of users per period.", + "description": "Aggregated breakdown in totals of build mbSeconds by functions.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] }, - "sessions": { + "functionsStorageBreakdown": { "type": "array", - "description": "Aggregated number of active sessions per period.", + "description": "Aggregated breakdown in totals of functions storage size (in bytes).", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/metricBreakdown" }, "x-example": [] - } - }, - "required": [ - "range", - "usersTotal", - "sessionsTotal", - "users", - "sessions" - ], - "example": { - "range": "30d", - "usersTotal": 0, - "sessionsTotal": 0, - "users": [], - "sessions": [] - } - }, - "usageStorage": { - "description": "StorageUsage", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" }, - "bucketsTotal": { + "authPhoneTotal": { "type": "integer", - "description": "Total aggregated number of buckets", + "description": "Aggregated stats for total auth phone.", "x-example": 0, "format": "int32" }, - "filesTotal": { + "authPhoneEstimate": { "type": "integer", - "description": "Total aggregated number of files.", + "description": "Aggregated stats for total auth phone estimation.", "x-example": 0, "format": "int32" }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated number of files storage (in bytes).", - "x-example": 0, - "format": "int32" + "authPhoneCountryBreakdown": { + "type": "array", + "description": "Aggregated breakdown in totals of phone auth by country.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metricBreakdown" + }, + "x-example": [] }, - "buckets": { + "databasesReads": { "type": "array", - "description": "Aggregated number of buckets per period.", + "description": "Aggregated stats for database reads.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "files": { + "databasesWrites": { "type": "array", - "description": "Aggregated number of files per period.", + "description": "Aggregated stats for database writes.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "storage": { + "documentsdbDatabasesReads": { "type": "array", - "description": "Aggregated number of files storage (in bytes) per period .", + "description": "An array of aggregated number of documentsdb database reads.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] - } - }, - "required": [ - "range", - "bucketsTotal", - "filesTotal", - "filesStorageTotal", - "buckets", - "files", - "storage" - ], - "example": { - "range": "30d", - "bucketsTotal": 0, - "filesTotal": 0, - "filesStorageTotal": 0, - "buckets": [], - "files": [], - "storage": [] - } - }, - "usageBuckets": { - "description": "UsageBuckets", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "filesTotal": { - "type": "integer", - "description": "Total aggregated number of bucket files.", - "x-example": 0, - "format": "int32" }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated number of bucket files storage (in bytes).", - "x-example": 0, - "format": "int32" - }, - "files": { + "documentsdbDatabasesWrites": { "type": "array", - "description": "Aggregated number of bucket files per period.", + "description": "An array of aggregated number of documentsdb database writes.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "storage": { + "documentsdbDatabasesStorage": { "type": "array", - "description": "Aggregated number of bucket storage files (in bytes) per period.", + "description": "An array of aggregated sum of documentsdb databases storage size (in bytes) per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" @@ -90372,7 +95392,7 @@ }, "imageTransformations": { "type": "array", - "description": "Aggregated number of files transformations per period.", + "description": "An array of aggregated number of image transformations.", "items": { "type": "object", "$ref": "#\/definitions\/metric" @@ -90381,3669 +95401,4127 @@ }, "imageTransformationsTotal": { "type": "integer", - "description": "Total aggregated number of files transformations.", - "x-example": 0, - "format": "int32" - } - }, - "required": [ - "range", - "filesTotal", - "filesStorageTotal", - "files", - "storage", - "imageTransformations", - "imageTransformationsTotal" - ], - "example": { - "range": "30d", - "filesTotal": 0, - "filesStorageTotal": 0, - "files": [], - "storage": [], - "imageTransformations": [], - "imageTransformationsTotal": 0 - } - }, - "usageFunctions": { - "description": "UsageFunctions", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "functionsTotal": { - "type": "integer", - "description": "Total aggregated number of functions.", - "x-example": 0, - "format": "int32" - }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of functions deployments.", - "x-example": 0, - "format": "int32" - }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of functions deployment storage.", - "x-example": 0, - "format": "int32" - }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of functions build.", - "x-example": 0, - "format": "int32" - }, - "buildsStorageTotal": { - "type": "integer", - "description": "total aggregated sum of functions build storage.", - "x-example": 0, - "format": "int32" - }, - "buildsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of functions build compute time.", + "description": "Total aggregated number of image transformations.", "x-example": 0, "format": "int32" }, - "buildsMbSecondsTotal": { + "vectorsdbDatabasesTotal": { "type": "integer", - "description": "Total aggregated sum of functions build mbSeconds.", + "description": "Total aggregated number of VectorsDB databases.", "x-example": 0, "format": "int32" }, - "executionsTotal": { + "vectorsdbCollectionsTotal": { "type": "integer", - "description": "Total aggregated number of functions execution.", + "description": "Total aggregated number of VectorsDB collections.", "x-example": 0, "format": "int32" }, - "executionsTimeTotal": { + "vectorsdbDocumentsTotal": { "type": "integer", - "description": "Total aggregated sum of functions execution compute time.", + "description": "Total aggregated number of VectorsDB documents.", "x-example": 0, "format": "int32" }, - "executionsMbSecondsTotal": { + "vectorsdbDatabasesStorageTotal": { "type": "integer", - "description": "Total aggregated sum of functions execution mbSeconds.", + "description": "Total aggregated VectorsDB storage (bytes).", "x-example": 0, "format": "int32" }, - "functions": { - "type": "array", - "description": "Aggregated number of functions per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": 0 - }, - "deployments": { - "type": "array", - "description": "Aggregated number of functions deployment per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of functions deployment storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "buildsSuccessTotal": { + "vectorsdbDatabasesReadsTotal": { "type": "integer", - "description": "Total aggregated number of successful function builds.", + "description": "Total aggregated number of VectorsDB reads.", "x-example": 0, "format": "int32" }, - "buildsFailedTotal": { + "vectorsdbDatabasesWritesTotal": { "type": "integer", - "description": "Total aggregated number of failed function builds.", + "description": "Total aggregated number of VectorsDB writes.", "x-example": 0, "format": "int32" }, - "builds": { + "vectorsdbDatabases": { "type": "array", - "description": "Aggregated number of functions build per period.", + "description": "Aggregated VectorsDB databases per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "buildsStorage": { + "vectorsdbCollections": { "type": "array", - "description": "Aggregated sum of functions build storage per period.", + "description": "Aggregated VectorsDB collections per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "buildsTime": { + "vectorsdbDocuments": { "type": "array", - "description": "Aggregated sum of functions build compute time per period.", + "description": "Aggregated VectorsDB documents per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "buildsMbSeconds": { + "vectorsdbDatabasesStorage": { "type": "array", - "description": "Aggregated sum of functions build mbSeconds per period.", + "description": "Aggregated VectorsDB storage per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "executions": { + "vectorsdbDatabasesReads": { "type": "array", - "description": "Aggregated number of functions execution per period.", + "description": "Aggregated VectorsDB reads per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "executionsTime": { + "vectorsdbDatabasesWrites": { "type": "array", - "description": "Aggregated number of functions execution compute time per period.", + "description": "Aggregated VectorsDB writes per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of functions mbSeconds per period.", + "embeddingsText": { + "type": "object", + "description": "Aggregated number of text embedding calls per period.", + "x-example": [], "items": { "type": "object", "$ref": "#\/definitions\/metric" - }, - "x-example": [] + } }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful function builds per period.", + "embeddingsTextTokens": { + "type": "object", + "description": "Aggregated number of tokens processed by text embeddings per period.", + "x-example": [], "items": { "type": "object", "$ref": "#\/definitions\/metric" - }, - "x-example": [] + } }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed function builds per period.", + "embeddingsTextDuration": { + "type": "object", + "description": "Aggregated duration spent generating text embeddings per period.", + "x-example": [], "items": { "type": "object", "$ref": "#\/definitions\/metric" - }, - "x-example": [] - } - }, - "required": [ - "range", - "functionsTotal", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "functions", - "deployments", - "deploymentsStorage", - "buildsSuccessTotal", - "buildsFailedTotal", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed" - ], - "example": { - "range": "30d", - "functionsTotal": 0, - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "functions": 0, - "deployments": [], - "deploymentsStorage": [], - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [] - } - }, - "usageFunction": { - "description": "UsageFunction", - "type": "object", - "properties": { - "range": { - "type": "string", - "description": "The time range of the usage stats.", - "x-example": "30d" - }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of function deployments.", - "x-example": 0, - "format": "int32" + } }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of function deployments storage.", - "x-example": 0, - "format": "int32" + "embeddingsTextErrors": { + "type": "object", + "description": "Aggregated number of errors while generating text embeddings per period.", + "x-example": [], + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + } }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of function builds.", + "embeddingsTextTotal": { + "type": "object", + "description": "Total aggregated number of text embedding calls.", "x-example": 0, - "format": "int32" + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + } }, - "buildsSuccessTotal": { - "type": "integer", - "description": "Total aggregated number of successful function builds.", + "embeddingsTextTokensTotal": { + "type": "object", + "description": "Total aggregated number of tokens processed by text.", "x-example": 0, - "format": "int32" + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + } }, - "buildsFailedTotal": { - "type": "integer", - "description": "Total aggregated number of failed function builds.", + "embeddingsTextDurationTotal": { + "type": "object", + "description": "Total aggregated duration spent generating text embeddings.", "x-example": 0, - "format": "int32" + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + } }, - "buildsStorageTotal": { - "type": "integer", - "description": "total aggregated sum of function builds storage.", + "embeddingsTextErrorsTotal": { + "type": "object", + "description": "Total aggregated number of errors while generating text embeddings.", "x-example": 0, - "format": "int32" + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + } }, - "buildsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of function builds compute time.", - "x-example": 0, - "format": "int32" + "functionsExecutions": { + "type": "array", + "description": "Aggregated number of function executions per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "buildsTimeAverage": { + "functionsExecutionsTotal": { "type": "integer", - "description": "Average builds compute time.", + "description": "Total aggregated number of function executions.", "x-example": 0, "format": "int32" }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of function builds mbSeconds.", - "x-example": 0, - "format": "int32" + "sitesExecutions": { + "type": "array", + "description": "Aggregated number of site executions per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "executionsTotal": { + "sitesExecutionsTotal": { "type": "integer", - "description": "Total aggregated number of function executions.", + "description": "Total aggregated number of site executions.", "x-example": 0, "format": "int32" }, - "executionsTimeTotal": { + "networkTotal": { "type": "integer", - "description": "Total aggregated sum of function executions compute time.", + "description": "Aggregated stats for total network bandwidth.", "x-example": 0, "format": "int32" }, - "executionsMbSecondsTotal": { + "backupsStorageTotal": { "type": "integer", - "description": "Total aggregated sum of function executions mbSeconds.", + "description": "Aggregated stats for total backups storage.", "x-example": 0, "format": "int32" }, - "deployments": { + "screenshotsGenerated": { "type": "array", - "description": "Aggregated number of function deployments per period.", + "description": "An array of aggregated number of screenshots generated.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of function deployments storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "screenshotsGeneratedTotal": { + "type": "integer", + "description": "Total aggregated number of screenshots generated.", + "x-example": 0, + "format": "int32" }, - "builds": { + "imagineCredits": { "type": "array", - "description": "Aggregated number of function builds per period.", + "description": "An array of aggregated number of Imagine credits in the given period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "buildsStorage": { - "type": "array", - "description": "Aggregated sum of function builds storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "imagineCreditsTotal": { + "type": "integer", + "description": "Total aggregated number of Imagine credits.", + "x-example": 0, + "format": "int32" }, - "buildsTime": { - "type": "array", - "description": "Aggregated sum of function builds compute time per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "realtimeConnectionsTotal": { + "type": "integer", + "description": "Current aggregated number of open Realtime connections.", + "x-example": 0, + "format": "int32" }, - "buildsMbSeconds": { - "type": "array", - "description": "Aggregated number of function builds mbSeconds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "realtimeMessagesTotal": { + "type": "integer", + "description": "Total number of Realtime messages sent to clients.", + "x-example": 0, + "format": "int32" }, - "executions": { - "type": "array", - "description": "Aggregated number of function executions per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "realtimeBandwidthTotal": { + "type": "integer", + "description": "Total consumed Realtime bandwidth (in bytes).", + "x-example": 0, + "format": "int32" }, - "executionsTime": { + "realtimeConnections": { "type": "array", - "description": "Aggregated number of function executions compute time per period.", + "description": "Aggregated number of open Realtime connections per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "executionsMbSeconds": { + "realtimeMessages": { "type": "array", - "description": "Aggregated number of function mbSeconds per period.", + "description": "Aggregated number of Realtime messages sent to clients per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "buildsSuccess": { + "realtimeBandwidth": { "type": "array", - "description": "Aggregated number of successful builds per period.", + "description": "Aggregated consumed Realtime bandwidth (in bytes) per period.", "items": { "type": "object", "$ref": "#\/definitions\/metric" }, "x-example": [] + } + }, + "required": [ + "executionsTotal", + "documentsTotal", + "documentsdbDocumentsTotal", + "rowsTotal", + "databasesTotal", + "documentsdbTotal", + "databasesStorageTotal", + "documentsdbDatabasesStorageTotal", + "usersTotal", + "filesStorageTotal", + "functionsStorageTotal", + "buildsStorageTotal", + "deploymentsStorageTotal", + "bucketsTotal", + "executionsMbSecondsTotal", + "buildsMbSecondsTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "documentsdbDatabasesReadsTotal", + "documentsdbDatabasesWritesTotal", + "requests", + "network", + "users", + "executions", + "executionsBreakdown", + "bucketsBreakdown", + "databasesStorageBreakdown", + "executionsMbSecondsBreakdown", + "buildsMbSecondsBreakdown", + "functionsStorageBreakdown", + "authPhoneTotal", + "authPhoneEstimate", + "authPhoneCountryBreakdown", + "databasesReads", + "databasesWrites", + "documentsdbDatabasesReads", + "documentsdbDatabasesWrites", + "documentsdbDatabasesStorage", + "imageTransformations", + "imageTransformationsTotal", + "vectorsdbDatabasesTotal", + "vectorsdbCollectionsTotal", + "vectorsdbDocumentsTotal", + "vectorsdbDatabasesStorageTotal", + "vectorsdbDatabasesReadsTotal", + "vectorsdbDatabasesWritesTotal", + "vectorsdbDatabases", + "vectorsdbCollections", + "vectorsdbDocuments", + "vectorsdbDatabasesStorage", + "vectorsdbDatabasesReads", + "vectorsdbDatabasesWrites", + "embeddingsText", + "embeddingsTextTokens", + "embeddingsTextDuration", + "embeddingsTextErrors", + "embeddingsTextTotal", + "embeddingsTextTokensTotal", + "embeddingsTextDurationTotal", + "embeddingsTextErrorsTotal", + "functionsExecutions", + "functionsExecutionsTotal", + "sitesExecutions", + "sitesExecutionsTotal", + "networkTotal", + "backupsStorageTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "imagineCreditsTotal", + "realtimeConnectionsTotal", + "realtimeMessagesTotal", + "realtimeBandwidthTotal", + "realtimeConnections", + "realtimeMessages", + "realtimeBandwidth" + ], + "example": { + "executionsTotal": 0, + "documentsTotal": 0, + "documentsdbDocumentsTotal": 0, + "rowsTotal": 0, + "databasesTotal": 0, + "documentsdbTotal": 0, + "databasesStorageTotal": 0, + "documentsdbDatabasesStorageTotal": 0, + "usersTotal": 0, + "filesStorageTotal": 0, + "functionsStorageTotal": 0, + "buildsStorageTotal": 0, + "deploymentsStorageTotal": 0, + "bucketsTotal": 0, + "executionsMbSecondsTotal": 0, + "buildsMbSecondsTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "documentsdbDatabasesReadsTotal": 0, + "documentsdbDatabasesWritesTotal": 0, + "requests": [], + "network": [], + "users": [], + "executions": [], + "executionsBreakdown": [], + "bucketsBreakdown": [], + "databasesStorageBreakdown": [], + "executionsMbSecondsBreakdown": [], + "buildsMbSecondsBreakdown": [], + "functionsStorageBreakdown": [], + "authPhoneTotal": 0, + "authPhoneEstimate": 0, + "authPhoneCountryBreakdown": [], + "databasesReads": [], + "databasesWrites": [], + "documentsdbDatabasesReads": [], + "documentsdbDatabasesWrites": [], + "documentsdbDatabasesStorage": [], + "imageTransformations": [], + "imageTransformationsTotal": 0, + "vectorsdbDatabasesTotal": 0, + "vectorsdbCollectionsTotal": 0, + "vectorsdbDocumentsTotal": 0, + "vectorsdbDatabasesStorageTotal": 0, + "vectorsdbDatabasesReadsTotal": 0, + "vectorsdbDatabasesWritesTotal": 0, + "vectorsdbDatabases": [], + "vectorsdbCollections": [], + "vectorsdbDocuments": [], + "vectorsdbDatabasesStorage": [], + "vectorsdbDatabasesReads": [], + "vectorsdbDatabasesWrites": [], + "embeddingsText": [], + "embeddingsTextTokens": [], + "embeddingsTextDuration": [], + "embeddingsTextErrors": [], + "embeddingsTextTotal": 0, + "embeddingsTextTokensTotal": 0, + "embeddingsTextDurationTotal": 0, + "embeddingsTextErrorsTotal": 0, + "functionsExecutions": [], + "functionsExecutionsTotal": 0, + "sitesExecutions": [], + "sitesExecutionsTotal": 0, + "networkTotal": 0, + "backupsStorageTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": [], + "imagineCreditsTotal": 0, + "realtimeConnectionsTotal": 0, + "realtimeMessagesTotal": 0, + "realtimeBandwidthTotal": 0, + "realtimeConnections": [], + "realtimeMessages": [], + "realtimeBandwidth": [] + } + }, + "headers": { + "description": "Headers", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Header name.", + "x-example": "Content-Type" + }, + "value": { + "type": "string", + "description": "Header value.", + "x-example": "application\/json" + } + }, + "required": [ + "name", + "value" + ], + "example": { + "name": "Content-Type", + "value": "application\/json" + } + }, + "specification": { + "description": "Specification", + "type": "object", + "properties": { + "memory": { + "type": "integer", + "description": "Memory size in MB.", + "x-example": 512, + "format": "int32" + }, + "cpus": { + "type": "number", + "description": "Number of CPUs.", + "x-example": 1, + "format": "double" }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "enabled": { + "type": "boolean", + "description": "Is size enabled.", + "x-example": true + }, + "slug": { + "type": "string", + "description": "Size slug.", + "x-example": "s-1vcpu-512mb" } }, "required": [ - "range", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsSuccessTotal", - "buildsFailedTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsTimeAverage", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "deployments", - "deploymentsStorage", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed" + "memory", + "cpus", + "enabled", + "slug" ], "example": { - "range": "30d", - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsTimeAverage": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "deployments": [], - "deploymentsStorage": [], - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [] + "memory": 512, + "cpus": 1, + "enabled": true, + "slug": "s-1vcpu-512mb" } }, - "usageSites": { - "description": "UsageSites", + "proxyRule": { + "description": "Rule", "type": "object", "properties": { - "range": { + "$id": { "type": "string", - "description": "Time range of the usage stats.", - "x-example": "30d" - }, - "sitesTotal": { - "type": "integer", - "description": "Total aggregated number of sites.", - "x-example": 0, - "format": "int32" - }, - "sites": { - "type": "array", - "description": "Aggregated number of sites per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "description": "Rule ID.", + "x-example": "5e5ea5c16897e" }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of sites deployments.", - "x-example": 0, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Rule creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of sites deployment storage.", - "x-example": 0, - "format": "int32" + "$updatedAt": { + "type": "string", + "description": "Rule update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of sites build.", - "x-example": 0, - "format": "int32" + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": "appwrite.company.com" }, - "buildsStorageTotal": { - "type": "integer", - "description": "total aggregated sum of sites build storage.", - "x-example": 0, - "format": "int32" + "type": { + "type": "string", + "description": "Action definition for the rule. Possible values are \"api\", \"deployment\", or \"redirect\"", + "x-example": "deployment" }, - "buildsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of sites build compute time.", - "x-example": 0, - "format": "int32" + "trigger": { + "type": "string", + "description": "Defines how the rule was created. Possible values are \"manual\" or \"deployment\"", + "x-example": "manual" }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of sites build mbSeconds.", - "x-example": 0, - "format": "int32" + "redirectUrl": { + "type": "string", + "description": "URL to redirect to. Used if type is \"redirect\"", + "x-example": "https:\/\/appwrite.io\/docs" }, - "executionsTotal": { + "redirectStatusCode": { "type": "integer", - "description": "Total aggregated number of sites execution.", - "x-example": 0, + "description": "Status code to apply during redirect. Used if type is \"redirect\"", + "x-example": 301, "format": "int32" }, - "executionsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of sites execution compute time.", - "x-example": 0, - "format": "int32" + "deploymentId": { + "type": "string", + "description": "ID of deployment. Used if type is \"deployment\"", + "x-example": "n3u9feiwmf" }, - "executionsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of sites execution mbSeconds.", - "x-example": 0, - "format": "int32" + "deploymentResourceType": { + "type": "string", + "description": "Type of deployment. Possible values are \"function\", \"site\". Used if rule's type is \"deployment\".", + "x-example": "function", + "enum": [ + "function", + "site" + ], + "x-nullable": true }, - "requestsTotal": { - "type": "integer", - "description": "Total aggregated number of requests.", - "x-example": 0, - "format": "int32" + "deploymentResourceId": { + "type": "string", + "description": "ID of deployment's resource (site or function ID). Used if type is \"deployment\"", + "x-example": "n3u9feiwmf" }, - "requests": { - "type": "array", - "description": "Aggregated number of requests per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "deploymentVcsProviderBranch": { + "type": "string", + "description": "Name of Git branch that updates rule. Used if type is \"deployment\"", + "x-example": "main" }, - "inboundTotal": { - "type": "integer", - "description": "Total aggregated inbound bandwidth.", - "x-example": 0, - "format": "int32" + "status": { + "type": "string", + "description": "Domain verification status. Possible values are \"unverified\", \"verifying\", \"verified\"", + "x-example": "verified", + "enum": [ + "unverified", + "verifying", + "verified" + ] }, - "inbound": { - "type": "array", - "description": "Aggregated number of inbound bandwidth per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "logs": { + "type": "string", + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, - "outboundTotal": { - "type": "integer", - "description": "Total aggregated outbound bandwidth.", - "x-example": 0, - "format": "int32" + "renewAt": { + "type": "string", + "description": "Certificate auto-renewal date in ISO 8601 format.", + "x-example": "datetime" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "domain", + "type", + "trigger", + "redirectUrl", + "redirectStatusCode", + "deploymentId", + "deploymentResourceId", + "deploymentVcsProviderBranch", + "status", + "logs", + "renewAt" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "domain": "appwrite.company.com", + "type": "deployment", + "trigger": "manual", + "redirectUrl": "https:\/\/appwrite.io\/docs", + "redirectStatusCode": 301, + "deploymentId": "n3u9feiwmf", + "deploymentResourceType": "function", + "deploymentResourceId": "n3u9feiwmf", + "deploymentVcsProviderBranch": "main", + "status": "verified", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", + "renewAt": "datetime" + } + }, + "schedule": { + "description": "Schedule", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Schedule ID.", + "x-example": "5e5ea5c16897e" }, - "outbound": { - "type": "array", - "description": "Aggregated number of outbound bandwidth per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Schedule creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deployments": { - "type": "array", - "description": "Aggregated number of sites deployment per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Schedule update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of sites deployment storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "resourceType": { + "type": "string", + "description": "The resource type associated with this schedule.", + "x-example": "function" }, - "buildsSuccessTotal": { - "type": "integer", - "description": "Total aggregated number of successful site builds.", - "x-example": 0, - "format": "int32" + "resourceId": { + "type": "string", + "description": "The resource ID associated with this schedule.", + "x-example": "5e5ea5c16897e" }, - "buildsFailedTotal": { - "type": "integer", - "description": "Total aggregated number of failed site builds.", - "x-example": 0, - "format": "int32" + "resourceUpdatedAt": { + "type": "string", + "description": "Change-tracking timestamp used by the scheduler to detect resource changes in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "builds": { - "type": "array", - "description": "Aggregated number of sites build per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "projectId": { + "type": "string", + "description": "The project ID associated with this schedule.", + "x-example": "5e5ea5c16897e" }, - "buildsStorage": { - "type": "array", - "description": "Aggregated sum of sites build storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "schedule": { + "type": "string", + "description": "The CRON schedule expression.", + "x-example": "5 4 * * *" }, - "buildsTime": { - "type": "array", - "description": "Aggregated sum of sites build compute time per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, + "data": { + "type": "object", + "additionalProperties": true, + "description": "Schedule data used to store resource-specific context needed for execution.", "x-example": [] }, - "buildsMbSeconds": { - "type": "array", - "description": "Aggregated sum of sites build mbSeconds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "active": { + "type": "boolean", + "description": "Whether the schedule is active.", + "x-example": true }, - "executions": { - "type": "array", - "description": "Aggregated number of sites execution per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "region": { + "type": "string", + "description": "The region where the schedule is deployed.", + "x-example": "fra" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "resourceType", + "resourceId", + "resourceUpdatedAt", + "projectId", + "schedule", + "data", + "active", + "region" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "resourceType": "function", + "resourceId": "5e5ea5c16897e", + "resourceUpdatedAt": "2020-10-15T06:38:00.000+00:00", + "projectId": "5e5ea5c16897e", + "schedule": "5 4 * * *", + "data": [], + "active": true, + "region": "fra" + } + }, + "emailTemplate": { + "description": "EmailTemplate", + "type": "object", + "properties": { + "templateId": { + "type": "string", + "description": "Template type", + "x-example": "verification" }, - "executionsTime": { - "type": "array", - "description": "Aggregated number of sites execution compute time per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "locale": { + "type": "string", + "description": "Template locale", + "x-example": "en_us" }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of sites mbSeconds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "message": { + "type": "string", + "description": "Template message", + "x-example": "Click on the link to verify your account." }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful site builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "senderName": { + "type": "string", + "description": "Name of the sender", + "x-example": "My User" }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed site builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - } - }, - "required": [ - "range", - "sitesTotal", - "sites", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "requestsTotal", - "requests", - "inboundTotal", - "inbound", - "outboundTotal", - "outbound", - "deployments", - "deploymentsStorage", - "buildsSuccessTotal", - "buildsFailedTotal", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed" + "senderEmail": { + "type": "string", + "description": "Email of the sender", + "x-example": "mail@appwrite.io" + }, + "replyToEmail": { + "type": "string", + "description": "Reply to email address", + "x-example": "emails@appwrite.io" + }, + "replyToName": { + "type": "string", + "description": "Reply to name", + "x-example": "Support Team" + }, + "subject": { + "type": "string", + "description": "Email subject", + "x-example": "Please verify your email address" + } + }, + "required": [ + "templateId", + "locale", + "message", + "senderName", + "senderEmail", + "replyToEmail", + "replyToName", + "subject" ], "example": { - "range": "30d", - "sitesTotal": 0, - "sites": [], - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "requestsTotal": 0, - "requests": [], - "inboundTotal": 0, - "inbound": [], - "outboundTotal": 0, - "outbound": [], - "deployments": [], - "deploymentsStorage": [], - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [] + "templateId": "verification", + "locale": "en_us", + "message": "Click on the link to verify your account.", + "senderName": "My User", + "senderEmail": "mail@appwrite.io", + "replyToEmail": "emails@appwrite.io", + "replyToName": "Support Team", + "subject": "Please verify your email address" } }, - "usageSite": { - "description": "UsageSite", + "consoleVariables": { + "description": "Console Variables", "type": "object", "properties": { - "range": { + "_APP_DOMAIN_TARGET_CNAME": { "type": "string", - "description": "The time range of the usage stats.", - "x-example": "30d" + "description": "CNAME target for your Appwrite custom domains.", + "x-example": "appwrite.io" }, - "deploymentsTotal": { - "type": "integer", - "description": "Total aggregated number of function deployments.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_A": { + "type": "string", + "description": "A target for your Appwrite custom domains.", + "x-example": "127.0.0.1" }, - "deploymentsStorageTotal": { + "_APP_COMPUTE_BUILD_TIMEOUT": { "type": "integer", - "description": "Total aggregated sum of function deployments storage.", - "x-example": 0, + "description": "Maximum build timeout in seconds.", + "x-example": 900, "format": "int32" }, - "buildsTotal": { - "type": "integer", - "description": "Total aggregated number of function builds.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_AAAA": { + "type": "string", + "description": "AAAA target for your Appwrite custom domains.", + "x-example": "::1" }, - "buildsSuccessTotal": { - "type": "integer", - "description": "Total aggregated number of successful function builds.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_TARGET_CAA": { + "type": "string", + "description": "CAA target for your Appwrite custom domains.", + "x-example": "digicert.com" }, - "buildsFailedTotal": { + "_APP_STORAGE_LIMIT": { "type": "integer", - "description": "Total aggregated number of failed function builds.", - "x-example": 0, + "description": "Maximum file size allowed for file upload in bytes.", + "x-example": "30000000", "format": "int32" }, - "buildsStorageTotal": { + "_APP_COMPUTE_SIZE_LIMIT": { "type": "integer", - "description": "total aggregated sum of function builds storage.", - "x-example": 0, + "description": "Maximum file size allowed for deployment in bytes.", + "x-example": "30000000", "format": "int32" }, - "buildsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of function builds compute time.", - "x-example": 0, - "format": "int32" + "_APP_USAGE_STATS": { + "type": "string", + "description": "Defines if usage stats are enabled. This value is set to 'enabled' by default, to disable the usage stats set the value to 'disabled'.", + "x-example": "enabled" }, - "buildsTimeAverage": { - "type": "integer", - "description": "Average builds compute time.", - "x-example": 0, - "format": "int32" + "_APP_VCS_ENABLED": { + "type": "boolean", + "description": "Defines if VCS (Version Control System) is enabled.", + "x-example": true }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of function builds mbSeconds.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_ENABLED": { + "type": "boolean", + "description": "Defines if main domain is configured. If so, custom domains can be created.", + "x-example": true }, - "executionsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, - "format": "int32" + "_APP_ASSISTANT_ENABLED": { + "type": "boolean", + "description": "Defines if AI assistant is enabled.", + "x-example": true }, - "executionsTimeTotal": { - "type": "integer", - "description": "Total aggregated sum of function executions compute time.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_SITES": { + "type": "string", + "description": "A comma separated list of domains to use for site URLs.", + "x-example": "sites.localhost,sites.example.com" }, - "executionsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated sum of function executions mbSeconds.", - "x-example": 0, - "format": "int32" + "_APP_DOMAIN_FUNCTIONS": { + "type": "string", + "description": "A domain to use for function URLs.", + "x-example": "functions.localhost" }, - "deployments": { - "type": "array", - "description": "Aggregated number of function deployments per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "_APP_OPTIONS_FORCE_HTTPS": { + "type": "string", + "description": "Defines if HTTPS is enforced for all requests.", + "x-example": "enabled" }, - "deploymentsStorage": { - "type": "array", - "description": "Aggregated number of function deployments storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "_APP_DOMAINS_NAMESERVERS": { + "type": "string", + "description": "Comma-separated list of nameservers.", + "x-example": "ns1.example.com,ns2.example.com" }, - "builds": { - "type": "array", - "description": "Aggregated number of function builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "_APP_DB_ADAPTER": { + "type": "string", + "description": "Database adapter in use.", + "x-example": "mysql" }, - "buildsStorage": { - "type": "array", - "description": "Aggregated sum of function builds storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForRelationships": { + "type": "boolean", + "description": "Whether the database adapter supports relationships.", + "x-example": true }, - "buildsTime": { - "type": "array", - "description": "Aggregated sum of function builds compute time per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForOperators": { + "type": "boolean", + "description": "Whether the database adapter supports operators.", + "x-example": true }, - "buildsMbSeconds": { - "type": "array", - "description": "Aggregated number of function builds mbSeconds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForSpatials": { + "type": "boolean", + "description": "Whether the database adapter supports spatial attributes.", + "x-example": true }, - "executions": { - "type": "array", - "description": "Aggregated number of function executions per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForSpatialIndexNull": { + "type": "boolean", + "description": "Whether the database adapter supports spatial indexes on nullable columns.", + "x-example": false }, - "executionsTime": { - "type": "array", - "description": "Aggregated number of function executions compute time per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForFulltextWildcard": { + "type": "boolean", + "description": "Whether the database adapter supports fulltext wildcard search.", + "x-example": true }, - "executionsMbSeconds": { - "type": "array", - "description": "Aggregated number of function mbSeconds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForMultipleFulltextIndexes": { + "type": "boolean", + "description": "Whether the database adapter supports multiple fulltext indexes per collection.", + "x-example": true }, - "buildsSuccess": { - "type": "array", - "description": "Aggregated number of successful builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForAttributeResizing": { + "type": "boolean", + "description": "Whether the database adapter supports resizing attributes.", + "x-example": true }, - "buildsFailed": { - "type": "array", - "description": "Aggregated number of failed builds per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "supportForSchemas": { + "type": "boolean", + "description": "Whether the database adapter supports fixed schemas with row width limits.", + "x-example": true }, - "requestsTotal": { + "maxIndexLength": { "type": "integer", - "description": "Total aggregated number of requests.", - "x-example": 0, + "description": "Maximum index length supported by the database adapter.", + "x-example": 768, "format": "int32" }, - "requests": { + "supportForIntegerIds": { + "type": "boolean", + "description": "Whether the database adapter uses integer sequence IDs.", + "x-example": true + }, + "_APP_CONSOLE_EMAIL_VERIFICATION": { + "type": "string", + "description": "Whether email verification for console users is required. Can be \"true\" or \"false\".", + "x-example": "true" + } + }, + "required": [ + "_APP_DOMAIN_TARGET_CNAME", + "_APP_DOMAIN_TARGET_A", + "_APP_COMPUTE_BUILD_TIMEOUT", + "_APP_DOMAIN_TARGET_AAAA", + "_APP_DOMAIN_TARGET_CAA", + "_APP_STORAGE_LIMIT", + "_APP_COMPUTE_SIZE_LIMIT", + "_APP_USAGE_STATS", + "_APP_VCS_ENABLED", + "_APP_DOMAIN_ENABLED", + "_APP_ASSISTANT_ENABLED", + "_APP_DOMAIN_SITES", + "_APP_DOMAIN_FUNCTIONS", + "_APP_OPTIONS_FORCE_HTTPS", + "_APP_DOMAINS_NAMESERVERS", + "_APP_DB_ADAPTER", + "supportForRelationships", + "supportForOperators", + "supportForSpatials", + "supportForSpatialIndexNull", + "supportForFulltextWildcard", + "supportForMultipleFulltextIndexes", + "supportForAttributeResizing", + "supportForSchemas", + "maxIndexLength", + "supportForIntegerIds", + "_APP_CONSOLE_EMAIL_VERIFICATION" + ], + "example": { + "_APP_DOMAIN_TARGET_CNAME": "appwrite.io", + "_APP_DOMAIN_TARGET_A": "127.0.0.1", + "_APP_COMPUTE_BUILD_TIMEOUT": 900, + "_APP_DOMAIN_TARGET_AAAA": "::1", + "_APP_DOMAIN_TARGET_CAA": "digicert.com", + "_APP_STORAGE_LIMIT": "30000000", + "_APP_COMPUTE_SIZE_LIMIT": "30000000", + "_APP_USAGE_STATS": "enabled", + "_APP_VCS_ENABLED": true, + "_APP_DOMAIN_ENABLED": true, + "_APP_ASSISTANT_ENABLED": true, + "_APP_DOMAIN_SITES": "sites.localhost,sites.example.com", + "_APP_DOMAIN_FUNCTIONS": "functions.localhost", + "_APP_OPTIONS_FORCE_HTTPS": "enabled", + "_APP_DOMAINS_NAMESERVERS": "ns1.example.com,ns2.example.com", + "_APP_DB_ADAPTER": "mysql", + "supportForRelationships": true, + "supportForOperators": true, + "supportForSpatials": true, + "supportForSpatialIndexNull": false, + "supportForFulltextWildcard": true, + "supportForMultipleFulltextIndexes": true, + "supportForAttributeResizing": true, + "supportForSchemas": true, + "maxIndexLength": 768, + "supportForIntegerIds": true, + "_APP_CONSOLE_EMAIL_VERIFICATION": "true" + } + }, + "consoleOAuth2ProviderParameter": { + "description": "Console OAuth2 Provider Parameter", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Parameter ID. Maps to the request body field used by the project OAuth2 update endpoint (e.g. `clientId`, `appKey`, `tenant`).", + "x-example": "clientId" + }, + "name": { + "type": "string", + "description": "Verbose, user-facing parameter name as shown in the provider's own dashboard. Includes alternate names when the provider exposes more than one.", + "x-example": "Client ID or App ID" + }, + "example": { + "type": "string", + "description": "Example value for this parameter.", + "x-example": "e4d87900000000540733" + }, + "hint": { + "type": "string", + "description": "Optional hint for this parameter, typically calling out a common wrong value. Empty string when no hint is set.", + "x-example": "Example of wrong value: 370006" + } + }, + "required": [ + "$id", + "name", + "example", + "hint" + ], + "example": { + "$id": "clientId", + "name": "Client ID or App ID", + "example": "e4d87900000000540733", + "hint": "Example of wrong value: 370006" + } + }, + "consoleOAuth2Provider": { + "description": "Console OAuth2 Provider", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "OAuth2 provider ID.", + "x-example": "github" + }, + "parameters": { "type": "array", - "description": "Aggregated number of requests per period.", + "description": "List of parameters required to configure this OAuth2 provider.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/consoleOAuth2ProviderParameter" }, - "x-example": [] - }, - "inboundTotal": { + "x-example": "" + } + }, + "required": [ + "$id", + "parameters" + ], + "example": { + "$id": "github", + "parameters": "" + } + }, + "consoleOAuth2ProviderList": { + "description": "Console OAuth2 Providers List", + "type": "object", + "properties": { + "total": { "type": "integer", - "description": "Total aggregated inbound bandwidth.", - "x-example": 0, + "description": "Total number of OAuth2 providers exposed by the server.", + "x-example": 5, "format": "int32" }, - "inbound": { + "oAuth2Providers": { "type": "array", - "description": "Aggregated number of inbound bandwidth per period.", + "description": "List of OAuth2 providers, each with the parameters required to configure it.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/consoleOAuth2Provider" }, - "x-example": [] + "x-example": "" + } + }, + "required": [ + "total", + "oAuth2Providers" + ], + "example": { + "total": 5, + "oAuth2Providers": "" + } + }, + "consoleKeyScope": { + "description": "Console Key Scope", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Scope ID.", + "x-example": "users.read" }, - "outboundTotal": { + "description": { + "type": "string", + "description": "Scope description.", + "x-example": "Access to read your project's users" + }, + "category": { + "type": "string", + "description": "Scope category.", + "x-example": "Auth" + }, + "deprecated": { + "type": "boolean", + "description": "Scope is deprecated.", + "x-example": true + } + }, + "required": [ + "$id", + "description", + "category", + "deprecated" + ], + "example": { + "$id": "users.read", + "description": "Access to read your project's users", + "category": "Auth", + "deprecated": true + } + }, + "consoleKeyScopeList": { + "description": "Console Key Scopes List", + "type": "object", + "properties": { + "total": { "type": "integer", - "description": "Total aggregated outbound bandwidth.", - "x-example": 0, + "description": "Total number of key scopes exposed by the server.", + "x-example": 5, "format": "int32" }, - "outbound": { + "scopes": { "type": "array", - "description": "Aggregated number of outbound bandwidth per period.", + "description": "List of key scopes, each with its ID and description.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/consoleKeyScope" }, - "x-example": [] + "x-example": "" } }, "required": [ - "range", - "deploymentsTotal", - "deploymentsStorageTotal", - "buildsTotal", - "buildsSuccessTotal", - "buildsFailedTotal", - "buildsStorageTotal", - "buildsTimeTotal", - "buildsTimeAverage", - "buildsMbSecondsTotal", - "executionsTotal", - "executionsTimeTotal", - "executionsMbSecondsTotal", - "deployments", - "deploymentsStorage", - "builds", - "buildsStorage", - "buildsTime", - "buildsMbSeconds", - "executions", - "executionsTime", - "executionsMbSeconds", - "buildsSuccess", - "buildsFailed", - "requestsTotal", - "requests", - "inboundTotal", - "inbound", - "outboundTotal", - "outbound" + "total", + "scopes" ], "example": { - "range": "30d", - "deploymentsTotal": 0, - "deploymentsStorageTotal": 0, - "buildsTotal": 0, - "buildsSuccessTotal": 0, - "buildsFailedTotal": 0, - "buildsStorageTotal": 0, - "buildsTimeTotal": 0, - "buildsTimeAverage": 0, - "buildsMbSecondsTotal": 0, - "executionsTotal": 0, - "executionsTimeTotal": 0, - "executionsMbSecondsTotal": 0, - "deployments": [], - "deploymentsStorage": [], - "builds": [], - "buildsStorage": [], - "buildsTime": [], - "buildsMbSeconds": [], - "executions": [], - "executionsTime": [], - "executionsMbSeconds": [], - "buildsSuccess": [], - "buildsFailed": [], - "requestsTotal": 0, - "requests": [], - "inboundTotal": 0, - "inbound": [], - "outboundTotal": 0, - "outbound": [] + "total": 5, + "scopes": "" } }, - "usageProject": { - "description": "UsageProject", + "mfaChallenge": { + "description": "MFA Challenge", "type": "object", "properties": { - "executionsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, - "format": "int32" - }, - "documentsTotal": { - "type": "integer", - "description": "Total aggregated number of documents in legacy\/tablesdb.", - "x-example": 0, - "format": "int32" - }, - "documentsdbDocumentsTotal": { - "type": "integer", - "description": "Total aggregated number of documents in documentsdb.", - "x-example": 0, - "format": "int32" - }, - "rowsTotal": { - "type": "integer", - "description": "Total aggregated number of rows.", - "x-example": 0, - "format": "int32" - }, - "databasesTotal": { - "type": "integer", - "description": "Total aggregated number of databases.", - "x-example": 0, - "format": "int32" - }, - "documentsdbTotal": { - "type": "integer", - "description": "Total aggregated number of documentsdb.", - "x-example": 0, - "format": "int32" - }, - "databasesStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of databases storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "documentsdbDatabasesStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of documentsdb databases storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "usersTotal": { - "type": "integer", - "description": "Total aggregated number of users.", - "x-example": 0, - "format": "int32" - }, - "filesStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of files storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "functionsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of functions storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "buildsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of builds storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Total aggregated sum of deployments storage size (in bytes).", - "x-example": 0, - "format": "int32" - }, - "bucketsTotal": { - "type": "integer", - "description": "Total aggregated number of buckets.", - "x-example": 0, - "format": "int32" - }, - "executionsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated number of function executions mbSeconds.", - "x-example": 0, - "format": "int32" - }, - "buildsMbSecondsTotal": { - "type": "integer", - "description": "Total aggregated number of function builds mbSeconds.", - "x-example": 0, - "format": "int32" - }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" - }, - "databasesWritesTotal": { - "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, - "format": "int32" + "$id": { + "type": "string", + "description": "Token ID.", + "x-example": "bb8ea5c16897e" }, - "documentsdbDatabasesReadsTotal": { - "type": "integer", - "description": "Total number of documentsdb databases reads.", - "x-example": 0, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Token creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "documentsdbDatabasesWritesTotal": { - "type": "integer", - "description": "Total number of documentsdb databases writes.", - "x-example": 0, - "format": "int32" + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "5e5ea5c168bb8" }, - "requests": { + "expire": { + "type": "string", + "description": "Token expiration date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "$createdAt", + "userId", + "expire" + ], + "example": { + "$id": "bb8ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "userId": "5e5ea5c168bb8", + "expire": "2020-10-15T06:38:00.000+00:00" + } + }, + "mfaRecoveryCodes": { + "description": "MFA Recovery Codes", + "type": "object", + "properties": { + "recoveryCodes": { "type": "array", - "description": "Aggregated number of requests per period.", + "description": "Recovery codes.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "a3kf0-s0cl2", + "s0co1-as98s" + ] + } + }, + "required": [ + "recoveryCodes" + ], + "example": { + "recoveryCodes": [ + "a3kf0-s0cl2", + "s0co1-as98s" + ] + } + }, + "mfaType": { + "description": "MFAType", + "type": "object", + "properties": { + "secret": { + "type": "string", + "description": "Secret token used for TOTP factor.", + "x-example": "[SHARED_SECRET]" }, - "network": { - "type": "array", - "description": "Aggregated number of consumed bandwidth per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "uri": { + "type": "string", + "description": "URI for authenticator apps.", + "x-example": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" + } + }, + "required": [ + "secret", + "uri" + ], + "example": { + "secret": "[SHARED_SECRET]", + "uri": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" + } + }, + "mfaFactors": { + "description": "MFAFactors", + "type": "object", + "properties": { + "totp": { + "type": "boolean", + "description": "Can TOTP be used for MFA challenge for this account.", + "x-example": true }, - "users": { - "type": "array", - "description": "Aggregated number of users per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "phone": { + "type": "boolean", + "description": "Can phone (SMS) be used for MFA challenge for this account.", + "x-example": true }, - "executions": { - "type": "array", - "description": "Aggregated number of executions per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "email": { + "type": "boolean", + "description": "Can email be used for MFA challenge for this account.", + "x-example": true }, - "executionsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of executions by functions.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "recoveryCode": { + "type": "boolean", + "description": "Can recovery code be used for MFA challenge for this account.", + "x-example": true + } + }, + "required": [ + "totp", + "phone", + "email", + "recoveryCode" + ], + "example": { + "totp": true, + "phone": true, + "email": true, + "recoveryCode": true + } + }, + "provider": { + "description": "Provider", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Provider ID.", + "x-example": "5e5ea5c16897e" }, - "bucketsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of usage by buckets.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Provider creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "databasesStorageBreakdown": { - "type": "array", - "description": "An array of the aggregated breakdown of storage usage by databases.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Provider update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "executionsMbSecondsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of execution mbSeconds by functions.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "name": { + "type": "string", + "description": "The name for the provider instance.", + "x-example": "Mailgun" }, - "buildsMbSecondsBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of build mbSeconds by functions.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "provider": { + "type": "string", + "description": "The name of the provider service.", + "x-example": "mailgun" }, - "functionsStorageBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of functions storage size (in bytes).", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "enabled": { + "type": "boolean", + "description": "Is provider enabled?", + "x-example": true }, - "authPhoneTotal": { - "type": "integer", - "description": "Aggregated stats for total auth phone.", - "x-example": 0, - "format": "int32" + "type": { + "type": "string", + "description": "Type of provider.", + "x-example": "sms" }, - "authPhoneEstimate": { - "type": "integer", - "description": "Aggregated stats for total auth phone estimation.", - "x-example": 0, - "format": "int32" + "credentials": { + "type": "object", + "additionalProperties": true, + "description": "Provider credentials.", + "x-example": { + "key": "123456789" + } }, - "authPhoneCountryBreakdown": { - "type": "array", - "description": "Aggregated breakdown in totals of phone auth by country.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metricBreakdown" - }, - "x-example": [] + "options": { + "type": "object", + "additionalProperties": true, + "description": "Provider options.", + "x-example": { + "from": "sender-email@mydomain" + } + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "provider", + "enabled", + "type", + "credentials" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "Mailgun", + "provider": "mailgun", + "enabled": true, + "type": "sms", + "credentials": { + "key": "123456789" }, - "databasesReads": { - "type": "array", - "description": "Aggregated stats for database reads.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "options": { + "from": "sender-email@mydomain" + } + } + }, + "message": { + "description": "Message", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Message ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Message creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Message update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "databasesWrites": { - "type": "array", - "description": "Aggregated stats for database writes.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "providerType": { + "type": "string", + "description": "Message provider type.", + "x-example": "email" }, - "documentsdbDatabasesReads": { + "topics": { "type": "array", - "description": "An array of aggregated number of documentsdb database reads.", + "description": "Topic IDs set as recipients.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "5e5ea5c16897e" + ] }, - "documentsdbDatabasesWrites": { + "users": { "type": "array", - "description": "An array of aggregated number of documentsdb database writes.", + "description": "User IDs set as recipients.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "5e5ea5c16897e" + ] }, - "documentsdbDatabasesStorage": { + "targets": { "type": "array", - "description": "An array of aggregated sum of documentsdb databases storage size (in bytes) per period.", + "description": "Target IDs set as recipients.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "5e5ea5c16897e" + ] }, - "imageTransformations": { + "scheduledAt": { + "type": "string", + "description": "The scheduled time for message.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + }, + "deliveredAt": { + "type": "string", + "description": "The time when the message was delivered.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + }, + "deliveryErrors": { "type": "array", - "description": "An array of aggregated number of image transformations.", + "description": "Delivery errors if any.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "Failed to send message to target 5e5ea5c16897e: Credentials not valid." + ], + "x-nullable": true }, - "imageTransformationsTotal": { + "deliveredTotal": { "type": "integer", - "description": "Total aggregated number of image transformations.", - "x-example": 0, + "description": "Number of recipients the message was delivered to.", + "x-example": 1, "format": "int32" }, - "vectorsdbDatabasesTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB databases.", - "x-example": 0, - "format": "int32" + "data": { + "type": "object", + "additionalProperties": true, + "description": "Data of the message.", + "x-example": { + "subject": "Welcome to Appwrite", + "content": "Hi there, welcome to Appwrite family." + } }, - "vectorsdbCollectionsTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB collections.", - "x-example": 0, - "format": "int32" + "status": { + "type": "string", + "description": "Status of delivery.", + "x-example": "processing", + "enum": [ + "draft", + "processing", + "scheduled", + "sent", + "failed" + ] + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "providerType", + "topics", + "users", + "targets", + "deliveredTotal", + "data", + "status" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "topics": [ + "5e5ea5c16897e" + ], + "users": [ + "5e5ea5c16897e" + ], + "targets": [ + "5e5ea5c16897e" + ], + "scheduledAt": "2020-10-15T06:38:00.000+00:00", + "deliveredAt": "2020-10-15T06:38:00.000+00:00", + "deliveryErrors": [ + "Failed to send message to target 5e5ea5c16897e: Credentials not valid." + ], + "deliveredTotal": 1, + "data": { + "subject": "Welcome to Appwrite", + "content": "Hi there, welcome to Appwrite family." }, - "vectorsdbDocumentsTotal": { - "type": "integer", - "description": "Total aggregated number of VectorsDB documents.", - "x-example": 0, - "format": "int32" + "status": "processing" + } + }, + "topic": { + "description": "Topic", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Topic ID.", + "x-example": "259125845563242502" }, - "vectorsdbDatabasesStorageTotal": { + "$createdAt": { + "type": "string", + "description": "Topic creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Topic update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "name": { + "type": "string", + "description": "The name of the topic.", + "x-example": "events" + }, + "emailTotal": { "type": "integer", - "description": "Total aggregated VectorsDB storage (bytes).", - "x-example": 0, + "description": "Total count of email subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "vectorsdbDatabasesReadsTotal": { + "smsTotal": { "type": "integer", - "description": "Total aggregated number of VectorsDB reads.", - "x-example": 0, + "description": "Total count of SMS subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "vectorsdbDatabasesWritesTotal": { + "pushTotal": { "type": "integer", - "description": "Total aggregated number of VectorsDB writes.", - "x-example": 0, + "description": "Total count of push subscribers subscribed to the topic.", + "x-example": 100, "format": "int32" }, - "vectorsdbDatabases": { + "subscribe": { "type": "array", - "description": "Aggregated VectorsDB databases per period.", + "description": "Subscribe permissions.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": "users" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "emailTotal", + "smsTotal", + "pushTotal", + "subscribe" + ], + "example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "events", + "emailTotal": 100, + "smsTotal": 100, + "pushTotal": 100, + "subscribe": "users" + } + }, + "transaction": { + "description": "Transaction", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Transaction ID.", + "x-example": "259125845563242502" }, - "vectorsdbCollections": { - "type": "array", - "description": "Aggregated VectorsDB collections per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "$createdAt": { + "type": "string", + "description": "Transaction creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "vectorsdbDocuments": { - "type": "array", - "description": "Aggregated VectorsDB documents per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "$updatedAt": { + "type": "string", + "description": "Transaction update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "vectorsdbDatabasesStorage": { - "type": "array", - "description": "Aggregated VectorsDB storage per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "status": { + "type": "string", + "description": "Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.", + "x-example": "pending" }, - "vectorsdbDatabasesReads": { - "type": "array", - "description": "Aggregated VectorsDB reads per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "operations": { + "type": "integer", + "description": "Number of operations in the transaction.", + "x-example": 5, + "format": "int32" }, - "vectorsdbDatabasesWrites": { - "type": "array", - "description": "Aggregated VectorsDB writes per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "expiresAt": { + "type": "string", + "description": "Expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "status", + "operations", + "expiresAt" + ], + "example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "status": "pending", + "operations": 5, + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, + "subscriber": { + "description": "Subscriber", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Subscriber ID.", + "x-example": "259125845563242502" }, - "embeddingsText": { - "type": "object", - "description": "Aggregated number of text embedding calls per period.", - "x-example": [], - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "$createdAt": { + "type": "string", + "description": "Subscriber creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "embeddingsTextTokens": { + "$updatedAt": { + "type": "string", + "description": "Subscriber update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "targetId": { + "type": "string", + "description": "Target ID.", + "x-example": "259125845563242502" + }, + "target": { "type": "object", - "description": "Aggregated number of tokens processed by text embeddings per period.", - "x-example": [], + "description": "Target.", + "x-example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "providerId": "259125845563242502", + "name": "ageon-app-email", + "identifier": "random-mail@email.org", + "userId": "5e5ea5c16897e" + }, "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/target" } }, - "embeddingsTextDuration": { - "type": "object", - "description": "Aggregated duration spent generating text embeddings per period.", - "x-example": [], - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "userId": { + "type": "string", + "description": "Topic ID.", + "x-example": "5e5ea5c16897e" + }, + "userName": { + "type": "string", + "description": "User Name.", + "x-example": "Aegon Targaryen" + }, + "topicId": { + "type": "string", + "description": "Topic ID.", + "x-example": "259125845563242502" + }, + "providerType": { + "type": "string", + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "targetId", + "target", + "userId", + "userName", + "topicId", + "providerType" + ], + "example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "targetId": "259125845563242502", + "target": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "providerType": "email", + "providerId": "259125845563242502", + "name": "ageon-app-email", + "identifier": "random-mail@email.org", + "userId": "5e5ea5c16897e" + }, + "userId": "5e5ea5c16897e", + "userName": "Aegon Targaryen", + "topicId": "259125845563242502", + "providerType": "email" + } + }, + "target": { + "description": "Target", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Target ID.", + "x-example": "259125845563242502" + }, + "$createdAt": { + "type": "string", + "description": "Target creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Target update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "name": { + "type": "string", + "description": "Target Name.", + "x-example": "Apple iPhone 12" + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "259125845563242502" + }, + "providerId": { + "type": "string", + "description": "Provider ID.", + "x-example": "259125845563242502", + "x-nullable": true + }, + "providerType": { + "type": "string", + "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", + "x-example": "email" + }, + "identifier": { + "type": "string", + "description": "The target identifier.", + "x-example": "token" + }, + "expired": { + "type": "boolean", + "description": "Is the target expired.", + "x-example": false + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "name", + "userId", + "providerType", + "identifier", + "expired" + ], + "example": { + "$id": "259125845563242502", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "name": "Apple iPhone 12", + "userId": "259125845563242502", + "providerId": "259125845563242502", + "providerType": "email", + "identifier": "token", + "expired": false + } + }, + "migration": { + "description": "Migration", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Migration ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Migration creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Variable creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "status": { + "type": "string", + "description": "Migration status ( pending, processing, failed, completed ) ", + "x-example": "pending" + }, + "stage": { + "type": "string", + "description": "Migration stage ( init, processing, source-check, destination-check, migrating, finished )", + "x-example": "init" + }, + "source": { + "type": "string", + "description": "A string containing the type of source of the migration.", + "x-example": "Appwrite" }, - "embeddingsTextErrors": { - "type": "object", - "description": "Aggregated number of errors while generating text embeddings per period.", - "x-example": [], - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "destination": { + "type": "string", + "description": "A string containing the type of destination of the migration.", + "x-example": "Appwrite" }, - "embeddingsTextTotal": { - "type": "object", - "description": "Total aggregated number of text embedding calls.", - "x-example": 0, + "resources": { + "type": "array", + "description": "Resources to migrate.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "type": "string" + }, + "x-example": [ + "user" + ] }, - "embeddingsTextTokensTotal": { - "type": "object", - "description": "Total aggregated number of tokens processed by text.", - "x-example": 0, - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "resourceId": { + "type": "string", + "description": "Id of the resource to migrate.", + "x-example": "databaseId:collectionId" }, - "embeddingsTextDurationTotal": { + "statusCounters": { "type": "object", - "description": "Total aggregated duration spent generating text embeddings.", - "x-example": 0, - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "additionalProperties": true, + "description": "A group of counters that represent the total progress of the migration.", + "x-example": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}" }, - "embeddingsTextErrorsTotal": { + "resourceData": { "type": "object", - "description": "Total aggregated number of errors while generating text embeddings.", - "x-example": 0, - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - } + "additionalProperties": true, + "description": "An array of objects containing the report data of the resources that were migrated.", + "x-example": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]" }, - "functionsExecutions": { + "errors": { "type": "array", - "description": "Aggregated number of function executions per period.", + "description": "All errors that occurred during the migration process.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, "x-example": [] }, - "functionsExecutionsTotal": { + "options": { + "type": "object", + "additionalProperties": true, + "description": "Migration options used during the migration process.", + "x-example": "{\"bucketId\": \"exports\", \"notify\": false}" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "status", + "stage", + "source", + "destination", + "resources", + "resourceId", + "statusCounters", + "resourceData", + "errors", + "options" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "status": "pending", + "stage": "init", + "source": "Appwrite", + "destination": "Appwrite", + "resources": [ + "user" + ], + "resourceId": "databaseId:collectionId", + "statusCounters": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}", + "resourceData": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]", + "errors": [], + "options": "{\"bucketId\": \"exports\", \"notify\": false}" + } + }, + "migrationReport": { + "description": "Migration Report", + "type": "object", + "properties": { + "user": { "type": "integer", - "description": "Total aggregated number of function executions.", - "x-example": 0, + "description": "Number of users to be migrated.", + "x-example": 20, "format": "int32" }, - "sitesExecutions": { - "type": "array", - "description": "Aggregated number of site executions per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "team": { + "type": "integer", + "description": "Number of teams to be migrated.", + "x-example": 20, + "format": "int32" }, - "sitesExecutionsTotal": { + "database": { "type": "integer", - "description": "Total aggregated number of site executions.", - "x-example": 0, + "description": "Number of databases to be migrated.", + "x-example": 20, "format": "int32" }, - "networkTotal": { + "row": { "type": "integer", - "description": "Aggregated stats for total network bandwidth.", - "x-example": 0, + "description": "Number of rows to be migrated.", + "x-example": 20, "format": "int32" }, - "backupsStorageTotal": { + "file": { "type": "integer", - "description": "Aggregated stats for total backups storage.", - "x-example": 0, + "description": "Number of files to be migrated.", + "x-example": 20, "format": "int32" }, - "screenshotsGenerated": { - "type": "array", - "description": "An array of aggregated number of screenshots generated.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "bucket": { + "type": "integer", + "description": "Number of buckets to be migrated.", + "x-example": 20, + "format": "int32" }, - "screenshotsGeneratedTotal": { + "function": { "type": "integer", - "description": "Total aggregated number of screenshots generated.", - "x-example": 0, + "description": "Number of functions to be migrated.", + "x-example": 20, "format": "int32" }, - "imagineCredits": { - "type": "array", - "description": "An array of aggregated number of Imagine credits in the given period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "platform": { + "type": "integer", + "description": "Number of platforms to be migrated.", + "x-example": 5, + "format": "int32" }, - "imagineCreditsTotal": { + "site": { "type": "integer", - "description": "Total aggregated number of Imagine credits.", - "x-example": 0, + "description": "Number of sites to be migrated.", + "x-example": 5, "format": "int32" }, - "realtimeConnectionsTotal": { + "provider": { "type": "integer", - "description": "Current aggregated number of open Realtime connections.", - "x-example": 0, + "description": "Number of providers to be migrated.", + "x-example": 5, "format": "int32" }, - "realtimeMessagesTotal": { + "topic": { "type": "integer", - "description": "Total number of Realtime messages sent to clients.", - "x-example": 0, + "description": "Number of topics to be migrated.", + "x-example": 10, "format": "int32" }, - "realtimeBandwidthTotal": { + "subscriber": { "type": "integer", - "description": "Total consumed Realtime bandwidth (in bytes).", - "x-example": 0, + "description": "Number of subscribers to be migrated.", + "x-example": 100, "format": "int32" }, - "realtimeConnections": { - "type": "array", - "description": "Aggregated number of open Realtime connections per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "message": { + "type": "integer", + "description": "Number of messages to be migrated.", + "x-example": 50, + "format": "int32" }, - "realtimeMessages": { - "type": "array", - "description": "Aggregated number of Realtime messages sent to clients per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "size": { + "type": "integer", + "description": "Size of files to be migrated in mb.", + "x-example": 30000, + "format": "int32" }, - "realtimeBandwidth": { - "type": "array", - "description": "Aggregated consumed Realtime bandwidth (in bytes) per period.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - } - }, - "required": [ - "executionsTotal", - "documentsTotal", - "documentsdbDocumentsTotal", - "rowsTotal", - "databasesTotal", - "documentsdbTotal", - "databasesStorageTotal", - "documentsdbDatabasesStorageTotal", - "usersTotal", - "filesStorageTotal", - "functionsStorageTotal", - "buildsStorageTotal", - "deploymentsStorageTotal", - "bucketsTotal", - "executionsMbSecondsTotal", - "buildsMbSecondsTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "documentsdbDatabasesReadsTotal", - "documentsdbDatabasesWritesTotal", - "requests", - "network", - "users", - "executions", - "executionsBreakdown", - "bucketsBreakdown", - "databasesStorageBreakdown", - "executionsMbSecondsBreakdown", - "buildsMbSecondsBreakdown", - "functionsStorageBreakdown", - "authPhoneTotal", - "authPhoneEstimate", - "authPhoneCountryBreakdown", - "databasesReads", - "databasesWrites", - "documentsdbDatabasesReads", - "documentsdbDatabasesWrites", - "documentsdbDatabasesStorage", - "imageTransformations", - "imageTransformationsTotal", - "vectorsdbDatabasesTotal", - "vectorsdbCollectionsTotal", - "vectorsdbDocumentsTotal", - "vectorsdbDatabasesStorageTotal", - "vectorsdbDatabasesReadsTotal", - "vectorsdbDatabasesWritesTotal", - "vectorsdbDatabases", - "vectorsdbCollections", - "vectorsdbDocuments", - "vectorsdbDatabasesStorage", - "vectorsdbDatabasesReads", - "vectorsdbDatabasesWrites", - "embeddingsText", - "embeddingsTextTokens", - "embeddingsTextDuration", - "embeddingsTextErrors", - "embeddingsTextTotal", - "embeddingsTextTokensTotal", - "embeddingsTextDurationTotal", - "embeddingsTextErrorsTotal", - "functionsExecutions", - "functionsExecutionsTotal", - "sitesExecutions", - "sitesExecutionsTotal", - "networkTotal", - "backupsStorageTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "imagineCreditsTotal", - "realtimeConnectionsTotal", - "realtimeMessagesTotal", - "realtimeBandwidthTotal", - "realtimeConnections", - "realtimeMessages", - "realtimeBandwidth" - ], - "example": { - "executionsTotal": 0, - "documentsTotal": 0, - "documentsdbDocumentsTotal": 0, - "rowsTotal": 0, - "databasesTotal": 0, - "documentsdbTotal": 0, - "databasesStorageTotal": 0, - "documentsdbDatabasesStorageTotal": 0, - "usersTotal": 0, - "filesStorageTotal": 0, - "functionsStorageTotal": 0, - "buildsStorageTotal": 0, - "deploymentsStorageTotal": 0, - "bucketsTotal": 0, - "executionsMbSecondsTotal": 0, - "buildsMbSecondsTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "documentsdbDatabasesReadsTotal": 0, - "documentsdbDatabasesWritesTotal": 0, - "requests": [], - "network": [], - "users": [], - "executions": [], - "executionsBreakdown": [], - "bucketsBreakdown": [], - "databasesStorageBreakdown": [], - "executionsMbSecondsBreakdown": [], - "buildsMbSecondsBreakdown": [], - "functionsStorageBreakdown": [], - "authPhoneTotal": 0, - "authPhoneEstimate": 0, - "authPhoneCountryBreakdown": [], - "databasesReads": [], - "databasesWrites": [], - "documentsdbDatabasesReads": [], - "documentsdbDatabasesWrites": [], - "documentsdbDatabasesStorage": [], - "imageTransformations": [], - "imageTransformationsTotal": 0, - "vectorsdbDatabasesTotal": 0, - "vectorsdbCollectionsTotal": 0, - "vectorsdbDocumentsTotal": 0, - "vectorsdbDatabasesStorageTotal": 0, - "vectorsdbDatabasesReadsTotal": 0, - "vectorsdbDatabasesWritesTotal": 0, - "vectorsdbDatabases": [], - "vectorsdbCollections": [], - "vectorsdbDocuments": [], - "vectorsdbDatabasesStorage": [], - "vectorsdbDatabasesReads": [], - "vectorsdbDatabasesWrites": [], - "embeddingsText": [], - "embeddingsTextTokens": [], - "embeddingsTextDuration": [], - "embeddingsTextErrors": [], - "embeddingsTextTotal": 0, - "embeddingsTextTokensTotal": 0, - "embeddingsTextDurationTotal": 0, - "embeddingsTextErrorsTotal": 0, - "functionsExecutions": [], - "functionsExecutionsTotal": 0, - "sitesExecutions": [], - "sitesExecutionsTotal": 0, - "networkTotal": 0, - "backupsStorageTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": [], - "imagineCreditsTotal": 0, - "realtimeConnectionsTotal": 0, - "realtimeMessagesTotal": 0, - "realtimeBandwidthTotal": 0, - "realtimeConnections": [], - "realtimeMessages": [], - "realtimeBandwidth": [] - } - }, - "headers": { - "description": "Headers", - "type": "object", - "properties": { - "name": { + "version": { "type": "string", - "description": "Header name.", - "x-example": "Content-Type" + "description": "Version of the Appwrite instance to be migrated.", + "x-example": "1.4.0" }, - "value": { - "type": "string", - "description": "Header value.", - "x-example": "application\/json" - } - }, - "required": [ - "name", - "value" - ], - "example": { - "name": "Content-Type", - "value": "application\/json" - } - }, - "specification": { - "description": "Specification", - "type": "object", - "properties": { - "memory": { + "backup-policy": { "type": "integer", - "description": "Memory size in MB.", - "x-example": 512, + "description": "Number of backup policies to be migrated.", + "x-example": 5, "format": "int32" - }, - "cpus": { - "type": "number", - "description": "Number of CPUs.", - "x-example": 1, - "format": "double" - }, - "enabled": { - "type": "boolean", - "description": "Is size enabled.", - "x-example": true - }, - "slug": { - "type": "string", - "description": "Size slug.", - "x-example": "s-1vcpu-512mb" } }, "required": [ - "memory", - "cpus", - "enabled", - "slug" + "user", + "team", + "database", + "row", + "file", + "bucket", + "function", + "platform", + "site", + "provider", + "topic", + "subscriber", + "message", + "size", + "version", + "backup-policy" ], "example": { - "memory": 512, - "cpus": 1, - "enabled": true, - "slug": "s-1vcpu-512mb" + "user": 20, + "team": 20, + "database": 20, + "row": 20, + "file": 20, + "bucket": 20, + "function": 20, + "platform": 5, + "site": 5, + "provider": 5, + "topic": 10, + "subscriber": 100, + "message": 50, + "size": 30000, + "version": "1.4.0", + "backup-policy": 5 } }, - "proxyRule": { - "description": "Rule", + "insight": { + "description": "Insight", "type": "object", "properties": { "$id": { "type": "string", - "description": "Rule ID.", + "description": "Insight ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Rule creation date in ISO 8601 format.", + "description": "Insight creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Rule update date in ISO 8601 format.", + "description": "Insight update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "domain": { + "reportId": { "type": "string", - "description": "Domain name.", - "x-example": "appwrite.company.com" + "description": "Parent report ID. Insights always belong to a report.", + "x-example": "5e5ea5c16897e" }, "type": { "type": "string", - "description": "Action definition for the rule. Possible values are \"api\", \"deployment\", or \"redirect\"", - "x-example": "deployment" + "description": "Insight type. One of databaseIndex (legacy), tablesDBIndex, documentsDBIndex, vectorsDBIndex, databasePerformance, sitePerformance, siteAccessibility, siteSeo, functionPerformance. The index types are engine-specific so each CTA can pair the right service+method (databases.createIndex, tablesDB.createIndex, documentsDB.createIndex, or vectorsDB.createIndex).", + "x-example": "tablesDBIndex" }, - "trigger": { + "severity": { "type": "string", - "description": "Defines how the rule was created. Possible values are \"manual\" or \"deployment\"", - "x-example": "manual" + "description": "Insight severity. One of info, warning, critical.", + "x-example": "warning" + }, + "status": { + "type": "string", + "description": "Insight status. One of active, dismissed.", + "x-example": "active" }, - "redirectUrl": { + "resourceType": { "type": "string", - "description": "URL to redirect to. Used if type is \"redirect\"", - "x-example": "https:\/\/appwrite.io\/docs" + "description": "Type of the resource the insight is about. Plural noun, e.g. databases, sites, functions.", + "x-example": "databases" }, - "redirectStatusCode": { - "type": "integer", - "description": "Status code to apply during redirect. Used if type is \"redirect\"", - "x-example": 301, - "format": "int32" + "resourceId": { + "type": "string", + "description": "ID of the resource the insight is about.", + "x-example": "main" }, - "deploymentId": { + "parentResourceType": { "type": "string", - "description": "ID of deployment. Used if type is \"deployment\"", - "x-example": "n3u9feiwmf" + "description": "Plural noun for the parent resource that contains the insight's resource, e.g. an insight about a column index on a table \u2192 resourceType=indexes, parentResourceType=tables. Empty when the resource has no parent.", + "x-example": "tables" }, - "deploymentResourceType": { + "parentResourceId": { "type": "string", - "description": "Type of deployment. Possible values are \"function\", \"site\". Used if rule's type is \"deployment\".", - "x-example": "function", - "enum": [ - "function", - "site" - ], - "x-nullable": true + "description": "ID of the parent resource. Empty when the resource has no parent.", + "x-example": "orders" }, - "deploymentResourceId": { + "title": { "type": "string", - "description": "ID of deployment's resource (site or function ID). Used if type is \"deployment\"", - "x-example": "n3u9feiwmf" + "description": "Insight title.", + "x-example": "Missing index on collection orders" }, - "deploymentVcsProviderBranch": { + "summary": { "type": "string", - "description": "Name of Git branch that updates rule. Used if type is \"deployment\"", - "x-example": "main" + "description": "Short markdown summary describing the insight.", + "x-example": "Queries against `orders.status` are scanning the full collection." }, - "status": { + "ctas": { + "type": "array", + "description": "List of call-to-action buttons attached to this insight.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insightCTA" + }, + "x-example": [] + }, + "analyzedAt": { "type": "string", - "description": "Domain verification status. Possible values are \"unverified\", \"verifying\", \"verified\"", - "x-example": "verified", - "enum": [ - "unverified", - "verifying", - "verified" - ] + "description": "Time the insight was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true }, - "logs": { + "dismissedAt": { "type": "string", - "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", - "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." + "description": "Time the insight was dismissed in ISO 8601 format. Empty when not dismissed.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true }, - "renewAt": { + "dismissedBy": { "type": "string", - "description": "Certificate auto-renewal date in ISO 8601 format.", - "x-example": "datetime" + "description": "User ID that dismissed the insight. Empty when not dismissed.", + "x-example": "5e5ea5c16897e", + "x-nullable": true } }, "required": [ "$id", "$createdAt", "$updatedAt", - "domain", + "reportId", "type", - "trigger", - "redirectUrl", - "redirectStatusCode", - "deploymentId", - "deploymentResourceId", - "deploymentVcsProviderBranch", + "severity", "status", - "logs", - "renewAt" + "resourceType", + "resourceId", + "parentResourceType", + "parentResourceId", + "title", + "summary", + "ctas" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domain": "appwrite.company.com", - "type": "deployment", - "trigger": "manual", - "redirectUrl": "https:\/\/appwrite.io\/docs", - "redirectStatusCode": 301, - "deploymentId": "n3u9feiwmf", - "deploymentResourceType": "function", - "deploymentResourceId": "n3u9feiwmf", - "deploymentVcsProviderBranch": "main", - "status": "verified", - "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", - "renewAt": "datetime" + "reportId": "5e5ea5c16897e", + "type": "tablesDBIndex", + "severity": "warning", + "status": "active", + "resourceType": "databases", + "resourceId": "main", + "parentResourceType": "tables", + "parentResourceId": "orders", + "title": "Missing index on collection orders", + "summary": "Queries against `orders.status` are scanning the full collection.", + "ctas": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedBy": "5e5ea5c16897e" + } + }, + "insightCTA": { + "description": "InsightCTA", + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Human-readable label for the CTA, used in UI.", + "x-example": "Create missing index" + }, + "service": { + "type": "string", + "description": "Public API service (SDK namespace) the client should invoke. Must match the engine that owns the resource \u2014 for index suggestions: databases (legacy), tablesDB, documentsDB, or vectorsDB.", + "x-example": "tablesDB" + }, + "method": { + "type": "string", + "description": "Public API method on the chosen service the client should invoke when this CTA is triggered.", + "x-example": "createIndex" + }, + "params": { + "type": "object", + "additionalProperties": true, + "description": "Parameter map the client should pass to the service method when this CTA is triggered. Keys match the target API's parameter names (e.g. databaseId\/tableId\/columns for tablesDB, databaseId\/collectionId\/attributes for the legacy Databases API).", + "x-example": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } + } + }, + "required": [ + "label", + "service", + "method", + "params" + ], + "example": { + "label": "Create missing index", + "service": "tablesDB", + "method": "createIndex", + "params": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } } }, - "schedule": { - "description": "Schedule", + "report": { + "description": "Report", "type": "object", "properties": { "$id": { "type": "string", - "description": "Schedule ID.", + "description": "Report ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Schedule creation date in ISO 8601 format.", + "description": "Report creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Schedule update date in ISO 8601 format.", + "description": "Report update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "resourceType": { + "appId": { "type": "string", - "description": "The resource type associated with this schedule.", - "x-example": "function" + "description": "ID of the third-party app that submitted the report.", + "x-example": "5e5ea5c16897e" }, - "resourceId": { + "type": { "type": "string", - "description": "The resource ID associated with this schedule.", - "x-example": "5e5ea5c16897e" + "description": "Analyzer that produced this report. e.g. lighthouse, audit, databaseAnalyzer.", + "x-example": "lighthouse" }, - "resourceUpdatedAt": { + "title": { "type": "string", - "description": "Change-tracking timestamp used by the scheduler to detect resource changes in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Short, human-readable title for the report.", + "x-example": "Lighthouse audit for https:\/\/appwrite.io\/" }, - "projectId": { + "summary": { "type": "string", - "description": "The project ID associated with this schedule.", - "x-example": "5e5ea5c16897e" + "description": "Markdown summary describing the report.", + "x-example": "Performance score 78. 4 opportunities found." }, - "schedule": { + "targetType": { "type": "string", - "description": "The CRON schedule expression.", - "x-example": "5 4 * * *" + "description": "Plural noun describing what the report analyzes, e.g. databases, sites, urls.", + "x-example": "urls" }, - "data": { - "type": "object", - "additionalProperties": true, - "description": "Schedule data used to store resource-specific context needed for execution.", - "x-example": [] + "target": { + "type": "string", + "description": "Free-form target identifier (URL for lighthouse, resource ID for db).", + "x-example": "https:\/\/appwrite.io\/" }, - "active": { - "type": "boolean", - "description": "Whether the schedule is active.", - "x-example": true + "categories": { + "type": "array", + "description": "Categories covered by the report, e.g. performance, accessibility.", + "items": { + "type": "string" + }, + "x-example": [ + "performance", + "accessibility" + ] }, - "region": { + "insights": { + "type": "array", + "description": "Insights nested under this report.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insight" + }, + "x-example": [] + }, + "analyzedAt": { "type": "string", - "description": "The region where the schedule is deployed.", - "x-example": "fra" + "description": "Time the report was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true } }, "required": [ "$id", "$createdAt", "$updatedAt", - "resourceType", - "resourceId", - "resourceUpdatedAt", - "projectId", - "schedule", - "data", - "active", - "region" + "appId", + "type", + "title", + "summary", + "targetType", + "target", + "categories", + "insights" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "resourceType": "function", - "resourceId": "5e5ea5c16897e", - "resourceUpdatedAt": "2020-10-15T06:38:00.000+00:00", - "projectId": "5e5ea5c16897e", - "schedule": "5 4 * * *", - "data": [], - "active": true, - "region": "fra" + "appId": "5e5ea5c16897e", + "type": "lighthouse", + "title": "Lighthouse audit for https:\/\/appwrite.io\/", + "summary": "Performance score 78. 4 opportunities found.", + "targetType": "urls", + "target": "https:\/\/appwrite.io\/", + "categories": [ + "performance", + "accessibility" + ], + "insights": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00" } }, - "emailTemplate": { - "description": "EmailTemplate", + "activityEvent": { + "description": "ActivityEvent", "type": "object", "properties": { - "templateId": { + "$id": { "type": "string", - "description": "Template type", - "x-example": "verification" + "description": "Event ID.", + "x-example": "5e5ea5c16897e" }, - "locale": { + "userType": { "type": "string", - "description": "Template locale", - "x-example": "en_us" + "description": "User type.", + "x-example": "user" }, - "message": { + "userId": { "type": "string", - "description": "Template message", - "x-example": "Click on the link to verify your account." + "description": "User ID.", + "x-example": "610fc2f985ee0" }, - "senderName": { + "userEmail": { "type": "string", - "description": "Name of the sender", - "x-example": "My User" + "description": "User Email.", + "x-example": "john@appwrite.io" }, - "senderEmail": { + "userName": { "type": "string", - "description": "Email of the sender", - "x-example": "mail@appwrite.io" + "description": "User Name.", + "x-example": "John Doe" }, - "replyToEmail": { + "resourceParent": { "type": "string", - "description": "Reply to email address", - "x-example": "emails@appwrite.io" + "description": "Resource parent.", + "x-example": "database\/ID" }, - "replyToName": { + "resourceType": { "type": "string", - "description": "Reply to name", - "x-example": "Support Team" + "description": "Resource type.", + "x-example": "collection" }, - "subject": { - "type": "string", - "description": "Email subject", - "x-example": "Please verify your email address" - } - }, - "required": [ - "templateId", - "locale", - "message", - "senderName", - "senderEmail", - "replyToEmail", - "replyToName", - "subject" - ], - "example": { - "templateId": "verification", - "locale": "en_us", - "message": "Click on the link to verify your account.", - "senderName": "My User", - "senderEmail": "mail@appwrite.io", - "replyToEmail": "emails@appwrite.io", - "replyToName": "Support Team", - "subject": "Please verify your email address" - } - }, - "consoleVariables": { - "description": "Console Variables", - "type": "object", - "properties": { - "_APP_DOMAIN_TARGET_CNAME": { + "resourceId": { "type": "string", - "description": "CNAME target for your Appwrite custom domains.", - "x-example": "appwrite.io" + "description": "Resource ID.", + "x-example": "610fc2f985ee0" }, - "_APP_DOMAIN_TARGET_A": { + "resource": { "type": "string", - "description": "A target for your Appwrite custom domains.", - "x-example": "127.0.0.1" - }, - "_APP_COMPUTE_BUILD_TIMEOUT": { - "type": "integer", - "description": "Maximum build timeout in seconds.", - "x-example": 900, - "format": "int32" + "description": "Resource.", + "x-example": "collections\/610fc2f985ee0" }, - "_APP_DOMAIN_TARGET_AAAA": { + "event": { "type": "string", - "description": "AAAA target for your Appwrite custom domains.", - "x-example": "::1" + "description": "Event name.", + "x-example": "account.sessions.create" }, - "_APP_DOMAIN_TARGET_CAA": { + "userAgent": { "type": "string", - "description": "CAA target for your Appwrite custom domains.", - "x-example": "digicert.com" - }, - "_APP_STORAGE_LIMIT": { - "type": "integer", - "description": "Maximum file size allowed for file upload in bytes.", - "x-example": "30000000", - "format": "int32" + "description": "User agent.", + "x-example": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36" }, - "_APP_COMPUTE_SIZE_LIMIT": { - "type": "integer", - "description": "Maximum file size allowed for deployment in bytes.", - "x-example": "30000000", - "format": "int32" + "ip": { + "type": "string", + "description": "IP address.", + "x-example": "127.0.0.1" }, - "_APP_USAGE_STATS": { + "mode": { "type": "string", - "description": "Defines if usage stats are enabled. This value is set to 'enabled' by default, to disable the usage stats set the value to 'disabled'.", - "x-example": "enabled" + "description": "API mode when event triggered.", + "x-example": "admin" }, - "_APP_VCS_ENABLED": { - "type": "boolean", - "description": "Defines if VCS (Version Control System) is enabled.", - "x-example": true + "country": { + "type": "string", + "description": "Location.", + "x-example": "US" }, - "_APP_DOMAIN_ENABLED": { - "type": "boolean", - "description": "Defines if main domain is configured. If so, custom domains can be created.", - "x-example": true + "time": { + "type": "string", + "description": "Log creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "_APP_ASSISTANT_ENABLED": { - "type": "boolean", - "description": "Defines if AI assistant is enabled.", - "x-example": true + "projectId": { + "type": "string", + "description": "Project ID.", + "x-example": "610fc2f985ee0" }, - "_APP_DOMAIN_SITES": { + "teamId": { "type": "string", - "description": "A comma separated list of domains to use for site URLs.", - "x-example": "sites.localhost,sites.example.com" + "description": "Team ID.", + "x-example": "610fc2f985ee0" }, - "_APP_DOMAIN_FUNCTIONS": { + "hostname": { "type": "string", - "description": "A domain to use for function URLs.", - "x-example": "functions.localhost" + "description": "Hostname.", + "x-example": "appwrite.io" }, - "_APP_OPTIONS_FORCE_HTTPS": { + "osCode": { "type": "string", - "description": "Defines if HTTPS is enforced for all requests.", - "x-example": "enabled" + "description": "Operating system code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/os.json).", + "x-example": "Mac" }, - "_APP_DOMAINS_NAMESERVERS": { + "osName": { "type": "string", - "description": "Comma-separated list of nameservers.", - "x-example": "ns1.example.com,ns2.example.com" + "description": "Operating system name.", + "x-example": "Mac" }, - "_APP_DB_ADAPTER": { + "osVersion": { "type": "string", - "description": "Database adapter in use.", - "x-example": "mysql" + "description": "Operating system version.", + "x-example": "Mac" }, - "supportForRelationships": { - "type": "boolean", - "description": "Whether the database adapter supports relationships.", - "x-example": true + "clientType": { + "type": "string", + "description": "Client type.", + "x-example": "browser" }, - "supportForOperators": { - "type": "boolean", - "description": "Whether the database adapter supports operators.", - "x-example": true + "clientCode": { + "type": "string", + "description": "Client code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/clients.json).", + "x-example": "CM" }, - "supportForSpatials": { - "type": "boolean", - "description": "Whether the database adapter supports spatial attributes.", - "x-example": true + "clientName": { + "type": "string", + "description": "Client name.", + "x-example": "Chrome Mobile iOS" }, - "supportForSpatialIndexNull": { - "type": "boolean", - "description": "Whether the database adapter supports spatial indexes on nullable columns.", - "x-example": false + "clientVersion": { + "type": "string", + "description": "Client version.", + "x-example": "84.0" }, - "supportForFulltextWildcard": { - "type": "boolean", - "description": "Whether the database adapter supports fulltext wildcard search.", - "x-example": true + "clientEngine": { + "type": "string", + "description": "Client engine name.", + "x-example": "WebKit" }, - "supportForMultipleFulltextIndexes": { - "type": "boolean", - "description": "Whether the database adapter supports multiple fulltext indexes per collection.", - "x-example": true + "clientEngineVersion": { + "type": "string", + "description": "Client engine name.", + "x-example": "605.1.15" }, - "supportForAttributeResizing": { - "type": "boolean", - "description": "Whether the database adapter supports resizing attributes.", - "x-example": true + "deviceName": { + "type": "string", + "description": "Device name.", + "x-example": "smartphone" }, - "supportForSchemas": { - "type": "boolean", - "description": "Whether the database adapter supports fixed schemas with row width limits.", - "x-example": true + "deviceBrand": { + "type": "string", + "description": "Device brand name.", + "x-example": "Google" }, - "maxIndexLength": { - "type": "integer", - "description": "Maximum index length supported by the database adapter.", - "x-example": 768, - "format": "int32" + "deviceModel": { + "type": "string", + "description": "Device model name.", + "x-example": "Nexus 5" }, - "supportForIntegerIds": { - "type": "boolean", - "description": "Whether the database adapter uses integer sequence IDs.", - "x-example": true + "countryCode": { + "type": "string", + "description": "Country two-character ISO 3166-1 alpha code.", + "x-example": "US" }, - "_APP_CONSOLE_EMAIL_VERIFICATION": { + "countryName": { "type": "string", - "description": "Whether email verification for console users is required. Can be \"true\" or \"false\".", - "x-example": "true" + "description": "Country name.", + "x-example": "United States" } }, "required": [ - "_APP_DOMAIN_TARGET_CNAME", - "_APP_DOMAIN_TARGET_A", - "_APP_COMPUTE_BUILD_TIMEOUT", - "_APP_DOMAIN_TARGET_AAAA", - "_APP_DOMAIN_TARGET_CAA", - "_APP_STORAGE_LIMIT", - "_APP_COMPUTE_SIZE_LIMIT", - "_APP_USAGE_STATS", - "_APP_VCS_ENABLED", - "_APP_DOMAIN_ENABLED", - "_APP_ASSISTANT_ENABLED", - "_APP_DOMAIN_SITES", - "_APP_DOMAIN_FUNCTIONS", - "_APP_OPTIONS_FORCE_HTTPS", - "_APP_DOMAINS_NAMESERVERS", - "_APP_DB_ADAPTER", - "supportForRelationships", - "supportForOperators", - "supportForSpatials", - "supportForSpatialIndexNull", - "supportForFulltextWildcard", - "supportForMultipleFulltextIndexes", - "supportForAttributeResizing", - "supportForSchemas", - "maxIndexLength", - "supportForIntegerIds", - "_APP_CONSOLE_EMAIL_VERIFICATION" - ], - "example": { - "_APP_DOMAIN_TARGET_CNAME": "appwrite.io", - "_APP_DOMAIN_TARGET_A": "127.0.0.1", - "_APP_COMPUTE_BUILD_TIMEOUT": 900, - "_APP_DOMAIN_TARGET_AAAA": "::1", - "_APP_DOMAIN_TARGET_CAA": "digicert.com", - "_APP_STORAGE_LIMIT": "30000000", - "_APP_COMPUTE_SIZE_LIMIT": "30000000", - "_APP_USAGE_STATS": "enabled", - "_APP_VCS_ENABLED": true, - "_APP_DOMAIN_ENABLED": true, - "_APP_ASSISTANT_ENABLED": true, - "_APP_DOMAIN_SITES": "sites.localhost,sites.example.com", - "_APP_DOMAIN_FUNCTIONS": "functions.localhost", - "_APP_OPTIONS_FORCE_HTTPS": "enabled", - "_APP_DOMAINS_NAMESERVERS": "ns1.example.com,ns2.example.com", - "_APP_DB_ADAPTER": "mysql", - "supportForRelationships": true, - "supportForOperators": true, - "supportForSpatials": true, - "supportForSpatialIndexNull": false, - "supportForFulltextWildcard": true, - "supportForMultipleFulltextIndexes": true, - "supportForAttributeResizing": true, - "supportForSchemas": true, - "maxIndexLength": 768, - "supportForIntegerIds": true, - "_APP_CONSOLE_EMAIL_VERIFICATION": "true" + "$id", + "userType", + "userId", + "userEmail", + "userName", + "resourceParent", + "resourceType", + "resourceId", + "resource", + "event", + "userAgent", + "ip", + "mode", + "country", + "time", + "projectId", + "teamId", + "hostname", + "osCode", + "osName", + "osVersion", + "clientType", + "clientCode", + "clientName", + "clientVersion", + "clientEngine", + "clientEngineVersion", + "deviceName", + "deviceBrand", + "deviceModel", + "countryCode", + "countryName" + ], + "example": { + "$id": "5e5ea5c16897e", + "userType": "user", + "userId": "610fc2f985ee0", + "userEmail": "john@appwrite.io", + "userName": "John Doe", + "resourceParent": "database\/ID", + "resourceType": "collection", + "resourceId": "610fc2f985ee0", + "resource": "collections\/610fc2f985ee0", + "event": "account.sessions.create", + "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36", + "ip": "127.0.0.1", + "mode": "admin", + "country": "US", + "time": "2020-10-15T06:38:00.000+00:00", + "projectId": "610fc2f985ee0", + "teamId": "610fc2f985ee0", + "hostname": "appwrite.io", + "osCode": "Mac", + "osName": "Mac", + "osVersion": "Mac", + "clientType": "browser", + "clientCode": "CM", + "clientName": "Chrome Mobile iOS", + "clientVersion": "84.0", + "clientEngine": "WebKit", + "clientEngineVersion": "605.1.15", + "deviceName": "smartphone", + "deviceBrand": "Google", + "deviceModel": "Nexus 5", + "countryCode": "US", + "countryName": "United States" } }, - "consoleOAuth2ProviderParameter": { - "description": "Console OAuth2 Provider Parameter", + "additionalResource": { + "description": "AdditionalResource", "type": "object", "properties": { - "$id": { + "name": { "type": "string", - "description": "Parameter ID. Maps to the request body field used by the project OAuth2 update endpoint (e.g. `clientId`, `appKey`, `tenant`).", - "x-example": "clientId" + "description": "Resource name", + "x-example": "" }, - "name": { + "unit": { "type": "string", - "description": "Verbose, user-facing parameter name as shown in the provider's own dashboard. Includes alternate names when the provider exposes more than one.", - "x-example": "Client ID or App ID" + "description": "Resource unit", + "x-example": "GB" }, - "example": { + "currency": { "type": "string", - "description": "Example value for this parameter.", - "x-example": "e4d87900000000540733" + "description": "Price currency", + "x-example": "USD" }, - "hint": { + "price": { + "type": "number", + "description": "Price", + "x-example": 5, + "format": "double" + }, + "value": { + "type": "integer", + "description": "Resource value", + "x-example": 25, + "format": "int32" + }, + "invoiceDesc": { "type": "string", - "description": "Optional hint for this parameter, typically calling out a common wrong value. Empty string when no hint is set.", - "x-example": "Example of wrong value: 370006" + "description": "Description on invoice", + "x-example": "" } }, "required": [ - "$id", "name", - "example", - "hint" + "unit", + "currency", + "price", + "value", + "invoiceDesc" ], "example": { - "$id": "clientId", - "name": "Client ID or App ID", - "example": "e4d87900000000540733", - "hint": "Example of wrong value: 370006" + "name": "", + "unit": "GB", + "currency": "USD", + "price": 5, + "value": 25, + "invoiceDesc": "" } }, - "consoleOAuth2Provider": { - "description": "Console OAuth2 Provider", + "addon": { + "description": "Addon", "type": "object", "properties": { "$id": { "type": "string", - "description": "OAuth2 provider ID.", - "x-example": "github" + "description": "Addon ID.", + "x-example": "5e5ea5c16897e" }, - "parameters": { + "$createdAt": { + "type": "string", + "description": "Addon creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Addon update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { "type": "array", - "description": "List of parameters required to configure this OAuth2 provider.", + "description": "Addon permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "items": { - "type": "object", - "$ref": "#\/definitions\/consoleOAuth2ProviderParameter" + "type": "string" }, - "x-example": "" + "x-example": [ + "read(\"any\")" + ] + }, + "key": { + "type": "string", + "description": "Addon key", + "x-example": "baa" + }, + "resourceType": { + "type": "string", + "description": "Resource type (organization or project)", + "x-example": "organization" + }, + "resourceId": { + "type": "string", + "description": "Resource ID", + "x-example": "5e5ea5c16897e" + }, + "status": { + "type": "string", + "description": "Payment status. Possible values: pending (awaiting payment confirmation e.g. 3DS), active (payment confirmed and addon is running).", + "x-example": "active" + }, + "currentValue": { + "type": "integer", + "description": "Current value for this billing cycle. For toggle addons: 1 (on) or 0 (off). For numeric addons: the active quantity.", + "x-example": 1, + "format": "int32" + }, + "nextValue": { + "type": "integer", + "description": "Value to apply at the start of the next billing cycle. Null means no change is scheduled. For toggle addons, 0 means the addon will be removed at the next cycle.", + "x-example": null, + "format": "int32", + "x-nullable": true } }, "required": [ "$id", - "parameters" + "$createdAt", + "$updatedAt", + "$permissions", + "key", + "resourceType", + "resourceId", + "status", + "currentValue" ], "example": { - "$id": "github", - "parameters": "" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "key": "baa", + "resourceType": "organization", + "resourceId": "5e5ea5c16897e", + "status": "active", + "currentValue": 1, + "nextValue": null } }, - "consoleOAuth2ProviderList": { - "description": "Console OAuth2 Providers List", + "addonPrice": { + "description": "AddonPrice", "type": "object", "properties": { - "total": { + "addonKey": { + "type": "string", + "description": "Addon key.", + "x-example": "baa" + }, + "name": { + "type": "string", + "description": "Addon display name.", + "x-example": "HIPAA BAA" + }, + "monthlyPrice": { + "type": "number", + "description": "Full monthly price of the addon.", + "x-example": 350, + "format": "double" + }, + "proratedAmount": { + "type": "number", + "description": "Calculated prorated amount for the current billing cycle.", + "x-example": 175.5, + "format": "double" + }, + "remainingDays": { "type": "integer", - "description": "Total number of OAuth2 providers exposed by the server.", - "x-example": 5, + "description": "Days remaining in the current billing cycle.", + "x-example": 15, "format": "int32" }, - "oAuth2Providers": { - "type": "array", - "description": "List of OAuth2 providers, each with the parameters required to configure it.", - "items": { - "type": "object", - "$ref": "#\/definitions\/consoleOAuth2Provider" - }, - "x-example": "" + "totalCycleDays": { + "type": "integer", + "description": "Total days in the billing cycle.", + "x-example": 30, + "format": "int32" + }, + "currency": { + "type": "string", + "description": "Currency code.", + "x-example": "USD" + }, + "billingCycleEnd": { + "type": "string", + "description": "When the current billing cycle ends.", + "x-example": "2024-02-01T00:00:00.000+00:00" } }, "required": [ - "total", - "oAuth2Providers" + "addonKey", + "name", + "monthlyPrice", + "proratedAmount", + "remainingDays", + "totalCycleDays", + "currency", + "billingCycleEnd" ], "example": { - "total": 5, - "oAuth2Providers": "" + "addonKey": "baa", + "name": "HIPAA BAA", + "monthlyPrice": 350, + "proratedAmount": 175.5, + "remainingDays": 15, + "totalCycleDays": 30, + "currency": "USD", + "billingCycleEnd": "2024-02-01T00:00:00.000+00:00" } }, - "consoleKeyScope": { - "description": "Console Key Scope", + "aggregationBreakdown": { + "description": "Breakdown", "type": "object", "properties": { "$id": { "type": "string", - "description": "Scope ID.", - "x-example": "users.read" + "description": "Aggregation ID.", + "x-example": "5e5ea5c16897e" }, - "description": { + "name": { "type": "string", - "description": "Scope description.", - "x-example": "Access to read your project's users" + "description": "Project name", + "x-example": "" }, - "category": { + "region": { "type": "string", - "description": "Scope category.", - "x-example": "Auth" + "description": "Project region", + "x-example": "fra" }, - "deprecated": { - "type": "boolean", - "description": "Scope is deprecated.", - "x-example": true - } - }, - "required": [ - "$id", - "description", - "category", - "deprecated" - ], - "example": { - "$id": "users.read", - "description": "Access to read your project's users", - "category": "Auth", - "deprecated": true - } - }, - "consoleKeyScopeList": { - "description": "Console Key Scopes List", - "type": "object", - "properties": { - "total": { + "amount": { "type": "integer", - "description": "Total number of key scopes exposed by the server.", - "x-example": 5, + "description": "Aggregated amount", + "x-example": 2, "format": "int32" }, - "scopes": { + "resources": { "type": "array", - "description": "List of key scopes, each with its ID and description.", + "description": "", "items": { "type": "object", - "$ref": "#\/definitions\/consoleKeyScope" + "$ref": "#\/definitions\/usageResources" }, "x-example": "" } }, "required": [ - "total", - "scopes" + "$id", + "name", + "region", + "amount", + "resources" ], "example": { - "total": 5, - "scopes": "" + "$id": "5e5ea5c16897e", + "name": "", + "region": "fra", + "amount": 2, + "resources": "" } }, - "mfaChallenge": { - "description": "MFA Challenge", + "aggregationTeam": { + "description": "Team", "type": "object", "properties": { "$id": { "type": "string", - "description": "Token ID.", - "x-example": "bb8ea5c16897e" + "description": "Aggregation ID.", + "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Token creation date in ISO 8601 format.", + "description": "Aggregation creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "5e5ea5c168bb8" - }, - "expire": { + "$updatedAt": { "type": "string", - "description": "Token expiration date in ISO 8601 format.", + "description": "Aggregation update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "$id", - "$createdAt", - "userId", - "expire" - ], - "example": { - "$id": "bb8ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "userId": "5e5ea5c168bb8", - "expire": "2020-10-15T06:38:00.000+00:00" - } - }, - "mfaRecoveryCodes": { - "description": "MFA Recovery Codes", - "type": "object", - "properties": { - "recoveryCodes": { + }, + "$permissions": { "type": "array", - "description": "Recovery codes.", + "description": "Aggregation permissions. [Learn more about permissions](\/docs\/permissions).", "items": { "type": "string" }, "x-example": [ - "a3kf0-s0cl2", - "s0co1-as98s" + "read(\"any\")" ] - } - }, - "required": [ - "recoveryCodes" - ], - "example": { - "recoveryCodes": [ - "a3kf0-s0cl2", - "s0co1-as98s" - ] - } - }, - "mfaType": { - "description": "MFAType", - "type": "object", - "properties": { - "secret": { + }, + "from": { "type": "string", - "description": "Secret token used for TOTP factor.", - "x-example": "[SHARED_SECRET]" + "description": "Beginning date of the invoice", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "uri": { + "to": { "type": "string", - "description": "URI for authenticator apps.", - "x-example": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" - } - }, - "required": [ - "secret", - "uri" - ], - "example": { - "secret": "[SHARED_SECRET]", - "uri": "otpauth:\/\/totp\/appwrite:user@example.com?secret=[SHARED_SECRET]&issuer=appwrite" - } - }, - "mfaFactors": { - "description": "MFAFactors", - "type": "object", - "properties": { - "totp": { - "type": "boolean", - "description": "Can TOTP be used for MFA challenge for this account.", - "x-example": true + "description": "End date of the invoice", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "phone": { - "type": "boolean", - "description": "Can phone (SMS) be used for MFA challenge for this account.", - "x-example": true + "usageStorage": { + "type": "integer", + "description": "Total storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageTotalStorage": { + "type": "integer", + "description": "Total storage usage with builds storage", + "x-example": 20009090, + "format": "int32" + }, + "usageFilesStorage": { + "type": "integer", + "description": "Total files storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageDeploymentsStorage": { + "type": "integer", + "description": "Total deployments storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageBuildsStorage": { + "type": "integer", + "description": "Total builds storage usage", + "x-example": 20009090, + "format": "int32" + }, + "usageDatabasesStorage": { + "type": "integer", + "description": "Total databases storage usage", + "x-example": 2009090, + "format": "int32" + }, + "usageUsers": { + "type": "integer", + "description": "Total active users for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageExecutions": { + "type": "integer", + "description": "Total number of executions for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageBandwidth": { + "type": "integer", + "description": "Total bandwidth usage for the billing period", + "x-example": 2000, + "format": "int32" + }, + "usageRealtime": { + "type": "integer", + "description": "Peak concurrent realtime connections for the billing period", + "x-example": 200, + "format": "int32" + }, + "usageRealtimeMessages": { + "type": "integer", + "description": "Total realtime messages sent for the billing period", + "x-example": 10000, + "format": "int32" + }, + "usageRealtimeBandwidth": { + "type": "integer", + "description": "Total realtime bandwidth usage for the billing period", + "x-example": 5000000, + "format": "int32" }, - "email": { - "type": "boolean", - "description": "Can email be used for MFA challenge for this account.", - "x-example": true + "additionalMembers": { + "type": "integer", + "description": "Additional members", + "x-example": 5, + "format": "int32" }, - "recoveryCode": { - "type": "boolean", - "description": "Can recovery code be used for MFA challenge for this account.", - "x-example": true - } - }, - "required": [ - "totp", - "phone", - "email", - "recoveryCode" - ], - "example": { - "totp": true, - "phone": true, - "email": true, - "recoveryCode": true - } - }, - "provider": { - "description": "Provider", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Provider ID.", - "x-example": "5e5ea5c16897e" + "additionalMemberAmount": { + "type": "integer", + "description": "Additional members cost", + "x-example": 30, + "format": "int32" }, - "$createdAt": { - "type": "string", - "description": "Provider creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "additionalStorageAmount": { + "type": "integer", + "description": "Additional storage usage cost", + "x-example": 40, + "format": "int32" }, - "$updatedAt": { - "type": "string", - "description": "Provider update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "additionalUsersAmount": { + "type": "integer", + "description": "Additional users usage cost.", + "x-example": 4, + "format": "int32" }, - "name": { - "type": "string", - "description": "The name for the provider instance.", - "x-example": "Mailgun" + "additionalExecutionsAmount": { + "type": "integer", + "description": "Additional executions usage cost", + "x-example": 30, + "format": "int32" }, - "provider": { - "type": "string", - "description": "The name of the provider service.", - "x-example": "mailgun" + "additionalBandwidthAmount": { + "type": "integer", + "description": "Additional bandwidth usage cost", + "x-example": 40, + "format": "int32" }, - "enabled": { - "type": "boolean", - "description": "Is provider enabled?", - "x-example": true + "additionalRealtimeAmount": { + "type": "integer", + "description": "Additional realtime usage cost", + "x-example": 20, + "format": "int32" }, - "type": { + "plan": { "type": "string", - "description": "Type of provider.", - "x-example": "sms" + "description": "Billing plan", + "x-example": "tier-0" }, - "credentials": { - "type": "object", - "additionalProperties": true, - "description": "Provider credentials.", - "x-example": { - "key": "123456789" - } + "amount": { + "type": "integer", + "description": "Aggregated amount", + "x-example": 2, + "format": "int32" }, - "options": { - "type": "object", - "additionalProperties": true, - "description": "Provider options.", - "x-example": { - "from": "sender-email@mydomain" - } + "breakdown": { + "type": "array", + "description": "Aggregation project breakdown", + "items": { + "type": "object", + "$ref": "#\/definitions\/aggregationBreakdown" + }, + "x-example": [] + }, + "resources": { + "type": "array", + "description": "Usage resources", + "items": { + "type": "object", + "$ref": "#\/definitions\/usageResources" + }, + "x-example": [] } }, "required": [ "$id", "$createdAt", "$updatedAt", - "name", - "provider", - "enabled", - "type", - "credentials" + "$permissions", + "from", + "to", + "usageStorage", + "usageTotalStorage", + "usageFilesStorage", + "usageDeploymentsStorage", + "usageBuildsStorage", + "usageDatabasesStorage", + "usageUsers", + "usageExecutions", + "usageBandwidth", + "usageRealtime", + "usageRealtimeMessages", + "usageRealtimeBandwidth", + "additionalMembers", + "additionalMemberAmount", + "additionalStorageAmount", + "additionalUsersAmount", + "additionalExecutionsAmount", + "additionalBandwidthAmount", + "additionalRealtimeAmount", + "plan", + "amount", + "breakdown", + "resources" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "Mailgun", - "provider": "mailgun", - "enabled": true, - "type": "sms", - "credentials": { - "key": "123456789" - }, - "options": { - "from": "sender-email@mydomain" - } + "$permissions": [ + "read(\"any\")" + ], + "from": "2020-10-15T06:38:00.000+00:00", + "to": "2020-10-15T06:38:00.000+00:00", + "usageStorage": 20009090, + "usageTotalStorage": 20009090, + "usageFilesStorage": 20009090, + "usageDeploymentsStorage": 20009090, + "usageBuildsStorage": 20009090, + "usageDatabasesStorage": 2009090, + "usageUsers": 2000, + "usageExecutions": 2000, + "usageBandwidth": 2000, + "usageRealtime": 200, + "usageRealtimeMessages": 10000, + "usageRealtimeBandwidth": 5000000, + "additionalMembers": 5, + "additionalMemberAmount": 30, + "additionalStorageAmount": 40, + "additionalUsersAmount": 4, + "additionalExecutionsAmount": 30, + "additionalBandwidthAmount": 40, + "additionalRealtimeAmount": 20, + "plan": "tier-0", + "amount": 2, + "breakdown": [], + "resources": [] } }, - "message": { - "description": "Message", + "backupArchive": { + "description": "Archive", "type": "object", "properties": { "$id": { "type": "string", - "description": "Message ID.", + "description": "Archive ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Message creation time in ISO 8601 format.", + "description": "Archive creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Message update date in ISO 8601 format.", + "description": "Archive update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "providerType": { + "policyId": { "type": "string", - "description": "Message provider type.", - "x-example": "email" + "description": "Archive policy ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "topics": { - "type": "array", - "description": "Topic IDs set as recipients.", - "items": { - "type": "string" - }, - "x-example": [ - "5e5ea5c16897e" - ] + "size": { + "type": "integer", + "description": "Archive size in bytes.", + "x-example": 100000, + "format": "int32" }, - "users": { + "status": { + "type": "string", + "description": "The status of the archive creation. Possible values: pending, processing, uploading, completed, failed, skipped.", + "x-example": "completed" + }, + "startedAt": { + "type": "string", + "description": "The backup start time.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "migrationId": { + "type": "string", + "description": "Migration ID.", + "x-example": "did8jx6ws45jana098ab7" + }, + "services": { "type": "array", - "description": "User IDs set as recipients.", + "description": "The services that are backed up by this archive.", "items": { "type": "string" }, - "x-example": [ - "5e5ea5c16897e" - ] + "x-example": "['databases', 'storage']" }, - "targets": { + "resources": { "type": "array", - "description": "Target IDs set as recipients.", + "description": "The resources that are backed up by this archive.", "items": { "type": "string" }, - "x-example": [ - "5e5ea5c16897e" - ] + "x-example": "['databases', 'collections', 'attributes', 'indexes']" }, - "scheduledAt": { + "resourceId": { "type": "string", - "description": "The scheduled time for message.", - "x-example": "2020-10-15T06:38:00.000+00:00", + "description": "The resource ID to backup. Set only if this archive should backup a single resource.", + "x-example": "DB1", "x-nullable": true }, - "deliveredAt": { + "resourceType": { "type": "string", - "description": "The time when the message was delivered.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "x-nullable": true - }, - "deliveryErrors": { - "type": "array", - "description": "Delivery errors if any.", - "items": { - "type": "string" - }, - "x-example": [ - "Failed to send message to target 5e5ea5c16897e: Credentials not valid." - ], + "description": "The resource type to backup. Set only if this archive should backup a single resource.", + "x-example": "database", "x-nullable": true - }, - "deliveredTotal": { - "type": "integer", - "description": "Number of recipients the message was delivered to.", - "x-example": 1, - "format": "int32" - }, - "data": { - "type": "object", - "additionalProperties": true, - "description": "Data of the message.", - "x-example": { - "subject": "Welcome to Appwrite", - "content": "Hi there, welcome to Appwrite family." - } - }, - "status": { - "type": "string", - "description": "Status of delivery.", - "x-example": "processing", - "enum": [ - "draft", - "processing", - "scheduled", - "sent", - "failed" - ] } }, "required": [ "$id", "$createdAt", "$updatedAt", - "providerType", - "topics", - "users", - "targets", - "deliveredTotal", - "data", - "status" + "policyId", + "size", + "status", + "startedAt", + "migrationId", + "services", + "resources" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "topics": [ - "5e5ea5c16897e" - ], - "users": [ - "5e5ea5c16897e" - ], - "targets": [ - "5e5ea5c16897e" - ], - "scheduledAt": "2020-10-15T06:38:00.000+00:00", - "deliveredAt": "2020-10-15T06:38:00.000+00:00", - "deliveryErrors": [ - "Failed to send message to target 5e5ea5c16897e: Credentials not valid." - ], - "deliveredTotal": 1, - "data": { - "subject": "Welcome to Appwrite", - "content": "Hi there, welcome to Appwrite family." - }, - "status": "processing" + "policyId": "did8jx6ws45jana098ab7", + "size": 100000, + "status": "completed", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "migrationId": "did8jx6ws45jana098ab7", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "resourceId": "DB1", + "resourceType": "database" } }, - "topic": { - "description": "Topic", + "dedicatedDatabaseAuditLog": { + "description": "AuditLog", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Topic ID.", - "x-example": "259125845563242502" - }, - "$createdAt": { + "timestamp": { "type": "string", - "description": "Topic creation time in ISO 8601 format.", + "description": "When the event occurred.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$updatedAt": { + "user": { "type": "string", - "description": "Topic update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database user that performed the action.", + "x-example": "appwrite" }, - "name": { + "database": { "type": "string", - "description": "The name of the topic.", - "x-example": "events" + "description": "Database name.", + "x-example": "appwrite" }, - "emailTotal": { - "type": "integer", - "description": "Total count of email subscribers subscribed to the topic.", - "x-example": 100, - "format": "int32" + "action": { + "type": "string", + "description": "The action performed (e.g., CREATE TABLE, DROP INDEX).", + "x-example": "CREATE TABLE" }, - "smsTotal": { - "type": "integer", - "description": "Total count of SMS subscribers subscribed to the topic.", - "x-example": 100, - "format": "int32" + "object": { + "type": "string", + "description": "The database object affected.", + "x-example": "public.users" }, - "pushTotal": { - "type": "integer", - "description": "Total count of push subscribers subscribed to the topic.", - "x-example": 100, - "format": "int32" + "statement": { + "type": "string", + "description": "The full SQL statement.", + "x-example": "CREATE TABLE users (id serial PRIMARY KEY)" }, - "subscribe": { - "type": "array", - "description": "Subscribe permissions.", - "items": { - "type": "string" - }, - "x-example": "users" + "clientAddress": { + "type": "string", + "description": "Client IP address.", + "x-example": "192.168.1.100" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "emailTotal", - "smsTotal", - "pushTotal", - "subscribe" + "timestamp", + "user", + "database", + "action", + "object", + "statement", + "clientAddress" ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "events", - "emailTotal": 100, - "smsTotal": 100, - "pushTotal": 100, - "subscribe": "users" + "timestamp": "2020-10-15T06:38:00.000+00:00", + "user": "appwrite", + "database": "appwrite", + "action": "CREATE TABLE", + "object": "public.users", + "statement": "CREATE TABLE users (id serial PRIMARY KEY)", + "clientAddress": "192.168.1.100" } }, - "transaction": { - "description": "Transaction", + "dedicatedDatabaseBackup": { + "description": "Backup", "type": "object", "properties": { "$id": { "type": "string", - "description": "Transaction ID.", - "x-example": "259125845563242502" + "description": "Backup ID.", + "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Transaction creation time in ISO 8601 format.", + "description": "Backup creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$updatedAt": { + "databaseId": { "type": "string", - "description": "Transaction update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database ID this backup belongs to.", + "x-example": "5e5ea5c16897e" + }, + "projectId": { + "type": "string", + "description": "Project ID.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Backup type. Possible values: full (complete database snapshot), incremental (changes since last backup), wal (write-ahead log continuous archival).", + "x-example": "full" }, "status": { "type": "string", - "description": "Current status of the transaction. One of: pending, committing, committed, rolled_back, failed.", - "x-example": "pending" + "description": "Backup status. Possible values: pending (queued for processing), running (currently in progress), completed (successfully finished), failed (encountered an error), verified (integrity check passed).", + "x-example": "completed" }, - "operations": { + "sizeBytes": { "type": "integer", - "description": "Number of operations in the transaction.", - "x-example": 5, + "description": "Backup size in bytes.", + "x-example": 1073741824, "format": "int32" }, + "startedAt": { + "type": "string", + "description": "Backup start time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "completedAt": { + "type": "string", + "description": "Backup completion time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "verifiedAt": { + "type": "string", + "description": "Backup verification time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, "expiresAt": { "type": "string", - "description": "Expiration time in ISO 8601 format.", + "description": "Backup expiration time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "error": { + "type": "string", + "description": "Error message if backup failed.", + "x-example": "" } }, "required": [ "$id", "$createdAt", - "$updatedAt", + "databaseId", + "projectId", + "type", "status", - "operations", - "expiresAt" + "sizeBytes", + "startedAt", + "completedAt", + "verifiedAt", + "expiresAt", + "error" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "databaseId": "5e5ea5c16897e", + "projectId": "5e5ea5c16897e", + "type": "full", + "status": "completed", + "sizeBytes": 1073741824, + "startedAt": "2020-10-15T06:38:00.000+00:00", + "completedAt": "2020-10-15T06:38:00.000+00:00", + "verifiedAt": "2020-10-15T06:38:00.000+00:00", + "expiresAt": "2020-10-15T06:38:00.000+00:00", + "error": "" + } + }, + "dedicatedDatabaseBackupList": { + "description": "BackupList", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of backups.", + "x-example": 5, + "format": "int32" + }, + "backups": { + "type": "array", + "description": "List of backups.", + "items": { + "type": "object", + "$ref": "#\/definitions\/dedicatedDatabaseBackup" + }, + "x-example": [] + } + }, + "required": [ + "total", + "backups" + ], + "example": { + "total": 5, + "backups": [] + } + }, + "dedicatedDatabaseBackupStorage": { + "description": "BackupStorageConfig", + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Storage provider. Possible values: s3 (Amazon S3 or S3-compatible), gcs (Google Cloud Storage), azure (Azure Blob Storage).", + "x-example": "s3" + }, + "bucket": { + "type": "string", + "description": "Storage bucket or container name.", + "x-example": "my-backup-bucket" + }, + "region": { + "type": "string", + "description": "Storage region.", + "x-example": "us-east-1" + }, + "prefix": { + "type": "string", + "description": "Object key prefix for backups.", + "x-example": "backups\/" + }, + "endpoint": { + "type": "string", + "description": "Custom endpoint for S3-compatible storage.", + "x-example": "https:\/\/minio.example.com" + } + }, + "required": [ + "provider", + "bucket", + "region", + "prefix", + "endpoint" ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "status": "pending", - "operations": 5, - "expiresAt": "2020-10-15T06:38:00.000+00:00" + "provider": "s3", + "bucket": "my-backup-bucket", + "region": "us-east-1", + "prefix": "backups\/", + "endpoint": "https:\/\/minio.example.com" } }, - "subscriber": { - "description": "Subscriber", + "billingAddress": { + "description": "Address", "type": "object", "properties": { "$id": { "type": "string", - "description": "Subscriber ID.", - "x-example": "259125845563242502" + "description": "Region ID", + "x-example": "eu-fr" }, - "$createdAt": { + "userId": { "type": "string", - "description": "Subscriber creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "User ID", + "x-example": "5e5ea5c16897e" }, - "$updatedAt": { + "streetAddress": { "type": "string", - "description": "Subscriber update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Street address", + "x-example": "13th Avenue" }, - "targetId": { + "addressLine2": { "type": "string", - "description": "Target ID.", - "x-example": "259125845563242502" - }, - "target": { - "type": "object", - "description": "Target.", - "x-example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "providerId": "259125845563242502", - "name": "ageon-app-email", - "identifier": "random-mail@email.org", - "userId": "5e5ea5c16897e" - }, - "items": { - "type": "object", - "$ref": "#\/definitions\/target" - } + "description": "Address line 2", + "x-example": "" }, - "userId": { + "country": { "type": "string", - "description": "Topic ID.", - "x-example": "5e5ea5c16897e" + "description": "Address country", + "x-example": "USA" }, - "userName": { + "city": { "type": "string", - "description": "User Name.", - "x-example": "Aegon Targaryen" + "description": "city", + "x-example": "" }, - "topicId": { + "state": { "type": "string", - "description": "Topic ID.", - "x-example": "259125845563242502" + "description": "state", + "x-example": "" }, - "providerType": { + "postalCode": { "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "x-example": "email" + "description": "postal code", + "x-example": "" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "targetId", - "target", "userId", - "userName", - "topicId", - "providerType" + "streetAddress", + "addressLine2", + "country", + "city", + "state", + "postalCode" ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "targetId": "259125845563242502", - "target": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "providerType": "email", - "providerId": "259125845563242502", - "name": "ageon-app-email", - "identifier": "random-mail@email.org", - "userId": "5e5ea5c16897e" - }, + "$id": "eu-fr", "userId": "5e5ea5c16897e", - "userName": "Aegon Targaryen", - "topicId": "259125845563242502", - "providerType": "email" + "streetAddress": "13th Avenue", + "addressLine2": "", + "country": "USA", + "city": "", + "state": "", + "postalCode": "" } }, - "target": { - "description": "Target", + "billingLimits": { + "description": "Limits", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Target ID.", - "x-example": "259125845563242502" - }, - "$createdAt": { - "type": "string", - "description": "Target creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "bandwidth": { + "type": "integer", + "description": "Bandwidth limit", + "x-example": 5, + "format": "int32", + "x-nullable": true }, - "$updatedAt": { - "type": "string", - "description": "Target update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "storage": { + "type": "integer", + "description": "Storage limit", + "x-example": 150, + "format": "int32", + "x-nullable": true }, - "name": { - "type": "string", - "description": "Target Name.", - "x-example": "Apple iPhone 12" + "users": { + "type": "integer", + "description": "Users limit", + "x-example": 200000, + "format": "int32", + "x-nullable": true }, - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "259125845563242502" + "executions": { + "type": "integer", + "description": "Executions limit", + "x-example": 750000, + "format": "int32", + "x-nullable": true }, - "providerId": { - "type": "string", - "description": "Provider ID.", - "x-example": "259125845563242502", + "GBHours": { + "type": "integer", + "description": "GBHours limit", + "x-example": 100, + "format": "int32", "x-nullable": true }, - "providerType": { - "type": "string", - "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "x-example": "email" + "imageTransformations": { + "type": "integer", + "description": "Image transformations limit", + "x-example": 100, + "format": "int32", + "x-nullable": true }, - "identifier": { - "type": "string", - "description": "The target identifier.", - "x-example": "token" + "authPhone": { + "type": "integer", + "description": "Auth phone limit", + "x-example": 10, + "format": "int32", + "x-nullable": true }, - "expired": { - "type": "boolean", - "description": "Is the target expired.", - "x-example": false + "budgetLimit": { + "type": "integer", + "description": "Budget limit percentage", + "x-example": 100, + "format": "int32", + "x-nullable": true } }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "name", - "userId", - "providerType", - "identifier", - "expired" - ], "example": { - "$id": "259125845563242502", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "name": "Apple iPhone 12", - "userId": "259125845563242502", - "providerId": "259125845563242502", - "providerType": "email", - "identifier": "token", - "expired": false + "bandwidth": 5, + "storage": 150, + "users": 200000, + "executions": 750000, + "GBHours": 100, + "imageTransformations": 100, + "authPhone": 10, + "budgetLimit": 100 } }, - "migration": { - "description": "Migration", + "billingPlan": { + "description": "billingPlan", "type": "object", "properties": { "$id": { "type": "string", - "description": "Migration ID.", - "x-example": "5e5ea5c16897e" + "description": "Plan ID.", + "x-example": "tier-0" }, - "$createdAt": { + "name": { "type": "string", - "description": "Migration creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Plan name", + "x-example": "Hobby" }, - "$updatedAt": { + "desc": { "type": "string", - "description": "Variable creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Plan description", + "x-example": "Hobby plan" }, - "status": { - "type": "string", - "description": "Migration status ( pending, processing, failed, completed ) ", - "x-example": "pending" + "order": { + "type": "integer", + "description": "Plan order", + "x-example": 0, + "format": "int32" }, - "stage": { - "type": "string", - "description": "Migration stage ( init, processing, source-check, destination-check, migrating, finished )", - "x-example": "init" + "price": { + "type": "number", + "description": "Price", + "x-example": 25, + "format": "double" }, - "source": { - "type": "string", - "description": "A string containing the type of source of the migration.", - "x-example": "Appwrite" + "trial": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" }, - "destination": { - "type": "string", - "description": "A string containing the type of destination of the migration.", - "x-example": "Appwrite" + "bandwidth": { + "type": "integer", + "description": "Bandwidth", + "x-example": 25, + "format": "int32" }, - "resources": { - "type": "array", - "description": "Resources to migrate.", - "items": { - "type": "string" - }, - "x-example": [ - "user" - ] + "storage": { + "type": "integer", + "description": "Storage", + "x-example": 25, + "format": "int32" }, - "resourceId": { - "type": "string", - "description": "Id of the resource to migrate.", - "x-example": "databaseId:collectionId" + "imageTransformations": { + "type": "integer", + "description": "Image Transformations", + "x-example": 100, + "format": "int32" }, - "statusCounters": { - "type": "object", - "additionalProperties": true, - "description": "A group of counters that represent the total progress of the migration.", - "x-example": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}" + "screenshotsGenerated": { + "type": "integer", + "description": "Screenshots generated", + "x-example": 50, + "format": "int32" }, - "resourceData": { - "type": "object", - "additionalProperties": true, - "description": "An array of objects containing the report data of the resources that were migrated.", - "x-example": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]" + "members": { + "type": "integer", + "description": "Members", + "x-example": 25, + "format": "int32" }, - "errors": { - "type": "array", - "description": "All errors that occurred during the migration process.", - "items": { - "type": "string" - }, - "x-example": [] + "webhooks": { + "type": "integer", + "description": "Webhooks", + "x-example": 25, + "format": "int32" }, - "options": { - "type": "object", - "additionalProperties": true, - "description": "Migration options used during the migration process.", - "x-example": "{\"bucketId\": \"exports\", \"notify\": false}" - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "status", - "stage", - "source", - "destination", - "resources", - "resourceId", - "statusCounters", - "resourceData", - "errors", - "options" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "status": "pending", - "stage": "init", - "source": "Appwrite", - "destination": "Appwrite", - "resources": [ - "user" - ], - "resourceId": "databaseId:collectionId", - "statusCounters": "{\"Database\": {\"PENDING\": 0, \"SUCCESS\": 1, \"ERROR\": 0, \"SKIP\": 0, \"PROCESSING\": 0, \"WARNING\": 0}}", - "resourceData": "[{\"resource\":\"Database\",\"id\":\"public\",\"status\":\"SUCCESS\",\"message\":\"\"}]", - "errors": [], - "options": "{\"bucketId\": \"exports\", \"notify\": false}" - } - }, - "migrationReport": { - "description": "Migration Report", - "type": "object", - "properties": { - "user": { + "projects": { "type": "integer", - "description": "Number of users to be migrated.", - "x-example": 20, + "description": "Projects", + "x-example": 2, "format": "int32" }, - "team": { + "platforms": { "type": "integer", - "description": "Number of teams to be migrated.", - "x-example": 20, + "description": "Platforms", + "x-example": 3, "format": "int32" }, - "database": { + "users": { "type": "integer", - "description": "Number of databases to be migrated.", - "x-example": 20, + "description": "Users", + "x-example": 25, "format": "int32" }, - "row": { + "teams": { "type": "integer", - "description": "Number of rows to be migrated.", - "x-example": 20, + "description": "Teams", + "x-example": 25, "format": "int32" }, - "file": { + "databases": { "type": "integer", - "description": "Number of files to be migrated.", - "x-example": 20, + "description": "Databases", + "x-example": 25, "format": "int32" }, - "bucket": { + "databasesReads": { "type": "integer", - "description": "Number of buckets to be migrated.", - "x-example": 20, + "description": "Database reads per month", + "x-example": 500000, "format": "int32" }, - "function": { + "databasesWrites": { "type": "integer", - "description": "Number of functions to be migrated.", - "x-example": 20, + "description": "Database writes per month", + "x-example": 250000, "format": "int32" }, - "site": { + "databasesBatchSize": { "type": "integer", - "description": "Number of sites to be migrated.", - "x-example": 5, + "description": "Database batch size limit", + "x-example": 100, "format": "int32" }, - "provider": { + "buckets": { "type": "integer", - "description": "Number of providers to be migrated.", - "x-example": 5, + "description": "Buckets", + "x-example": 25, "format": "int32" }, - "topic": { + "fileSize": { "type": "integer", - "description": "Number of topics to be migrated.", - "x-example": 10, + "description": "File size", + "x-example": 25, "format": "int32" }, - "subscriber": { + "functions": { "type": "integer", - "description": "Number of subscribers to be migrated.", - "x-example": 100, + "description": "Functions", + "x-example": 25, "format": "int32" }, - "message": { + "sites": { "type": "integer", - "description": "Number of messages to be migrated.", - "x-example": 50, + "description": "Sites", + "x-example": 1, "format": "int32" }, - "size": { + "executions": { "type": "integer", - "description": "Size of files to be migrated in mb.", - "x-example": 30000, + "description": "Function executions", + "x-example": 25, "format": "int32" }, - "version": { - "type": "string", - "description": "Version of the Appwrite instance to be migrated.", - "x-example": "1.4.0" - } - }, - "required": [ - "user", - "team", - "database", - "row", - "file", - "bucket", - "function", - "site", - "provider", - "topic", - "subscriber", - "message", - "size", - "version" - ], - "example": { - "user": 20, - "team": 20, - "database": 20, - "row": 20, - "file": 20, - "bucket": 20, - "function": 20, - "site": 5, - "provider": 5, - "topic": 10, - "subscriber": 100, - "message": 50, - "size": 30000, - "version": "1.4.0" - } - }, - "activityEvent": { - "description": "ActivityEvent", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Event ID.", - "x-example": "5e5ea5c16897e" + "executionsRetentionCount": { + "type": "integer", + "description": "Rolling max executions retained per function\/site", + "x-example": 10000, + "format": "int32" }, - "userType": { - "type": "string", - "description": "User type.", - "x-example": "user" + "GBHours": { + "type": "integer", + "description": "GB hours for functions", + "x-example": 100, + "format": "int32" }, - "userId": { - "type": "string", - "description": "User ID.", - "x-example": "610fc2f985ee0" + "realtime": { + "type": "integer", + "description": "Realtime connections", + "x-example": 25, + "format": "int32" }, - "userEmail": { - "type": "string", - "description": "User Email.", - "x-example": "john@appwrite.io" + "realtimeMessages": { + "type": "integer", + "description": "Realtime messages", + "x-example": 100000, + "format": "int32" }, - "userName": { - "type": "string", - "description": "User Name.", - "x-example": "John Doe" + "messages": { + "type": "integer", + "description": "Messages per month", + "x-example": 1000, + "format": "int32" }, - "resourceParent": { - "type": "string", - "description": "Resource parent.", - "x-example": "database\/ID" + "topics": { + "type": "integer", + "description": "Topics for messaging", + "x-example": 1, + "format": "int32" }, - "resourceType": { - "type": "string", - "description": "Resource type.", - "x-example": "collection" + "authPhone": { + "type": "integer", + "description": "SMS authentications per month", + "x-example": 10, + "format": "int32" }, - "resourceId": { - "type": "string", - "description": "Resource ID.", - "x-example": "610fc2f985ee0" + "domains": { + "type": "integer", + "description": "Custom domains", + "x-example": 5, + "format": "int32" }, - "resource": { - "type": "string", - "description": "Resource.", - "x-example": "collections\/610fc2f985ee0" + "logs": { + "type": "integer", + "description": "Log days", + "x-example": 25, + "format": "int32" }, - "event": { - "type": "string", - "description": "Event name.", - "x-example": "account.sessions.create" + "projectInactivityDays": { + "type": "integer", + "description": "Number of days of console inactivity before a project is paused. 0 means pausing is disabled.", + "x-example": 7, + "format": "int32" }, - "userAgent": { - "type": "string", - "description": "User agent.", - "x-example": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36" + "alertLimit": { + "type": "integer", + "description": "Alert threshold percentage", + "x-example": 80, + "format": "int32" }, - "ip": { - "type": "string", - "description": "IP address.", - "x-example": "127.0.0.1" + "usage": { + "type": "object", + "description": "Additional resources", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/usageBillingPlan" + } }, - "mode": { - "type": "string", - "description": "API mode when event triggered.", - "x-example": "admin" + "addons": { + "type": "object", + "description": "Addons", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/billingPlanAddon" + } }, - "country": { - "type": "string", - "description": "Location.", - "x-example": "US" + "budgetCapEnabled": { + "type": "boolean", + "description": "Budget cap enabled or disabled.", + "x-example": true }, - "time": { - "type": "string", - "description": "Log creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "customSmtp": { + "type": "boolean", + "description": "Custom SMTP", + "x-example": true }, - "projectId": { - "type": "string", - "description": "Project ID.", - "x-example": "610fc2f985ee0" + "emailBranding": { + "type": "boolean", + "description": "Appwrite branding in email", + "x-example": true }, - "teamId": { - "type": "string", - "description": "Team ID.", - "x-example": "610fc2f985ee0" + "requiresPaymentMethod": { + "type": "boolean", + "description": "Does plan require payment method", + "x-example": true }, - "hostname": { - "type": "string", - "description": "Hostname.", - "x-example": "appwrite.io" + "requiresBillingAddress": { + "type": "boolean", + "description": "Does plan require billing address", + "x-example": true }, - "osCode": { - "type": "string", - "description": "Operating system code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/os.json).", - "x-example": "Mac" + "isAvailable": { + "type": "boolean", + "description": "Is the billing plan available", + "x-example": true }, - "osName": { - "type": "string", - "description": "Operating system name.", - "x-example": "Mac" + "selfService": { + "type": "boolean", + "description": "Can user change the plan themselves", + "x-example": true }, - "osVersion": { - "type": "string", - "description": "Operating system version.", - "x-example": "Mac" + "premiumSupport": { + "type": "boolean", + "description": "Does plan enable premium support", + "x-example": true }, - "clientType": { - "type": "string", - "description": "Client type.", - "x-example": "browser" + "budgeting": { + "type": "boolean", + "description": "Does plan support budget cap", + "x-example": true }, - "clientCode": { - "type": "string", - "description": "Client code name. View list of [available options](https:\/\/github.com\/appwrite\/appwrite\/blob\/master\/docs\/lists\/clients.json).", - "x-example": "CM" + "supportsMockNumbers": { + "type": "boolean", + "description": "Does plan support mock numbers", + "x-example": true }, - "clientName": { - "type": "string", - "description": "Client name.", - "x-example": "Chrome Mobile iOS" + "supportsOrganizationRoles": { + "type": "boolean", + "description": "Does plan support organization roles", + "x-example": true }, - "clientVersion": { - "type": "string", - "description": "Client version.", - "x-example": "84.0" + "supportsCredits": { + "type": "boolean", + "description": "Does plan support credit", + "x-example": true }, - "clientEngine": { - "type": "string", - "description": "Client engine name.", - "x-example": "WebKit" + "supportsDisposableEmailValidation": { + "type": "boolean", + "description": "Does plan support blocking disposable email addresses.", + "x-example": true }, - "clientEngineVersion": { - "type": "string", - "description": "Client engine name.", - "x-example": "605.1.15" + "supportsCanonicalEmailValidation": { + "type": "boolean", + "description": "Does plan support requiring canonical email addresses.", + "x-example": true }, - "deviceName": { - "type": "string", - "description": "Device name.", - "x-example": "smartphone" + "supportsFreeEmailValidation": { + "type": "boolean", + "description": "Does plan support blocking free email addresses.", + "x-example": true }, - "deviceBrand": { - "type": "string", - "description": "Device brand name.", - "x-example": "Google" + "backupsEnabled": { + "type": "boolean", + "description": "Does plan support backup policies.", + "x-example": true }, - "deviceModel": { - "type": "string", - "description": "Device model name.", - "x-example": "Nexus 5" + "usagePerProject": { + "type": "boolean", + "description": "Whether usage addons are calculated per project.", + "x-example": true }, - "countryCode": { - "type": "string", - "description": "Country two-character ISO 3166-1 alpha code.", - "x-example": "US" + "supportedAddons": { + "type": "object", + "description": "Supported addons for this plan", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/billingPlanSupportedAddons" + } }, - "countryName": { + "backupPolicies": { + "type": "integer", + "description": "How many policies does plan support", + "x-example": true, + "format": "int32" + }, + "deploymentSize": { + "type": "integer", + "description": "Maximum function and site deployment size in MB", + "x-example": 30, + "format": "int32" + }, + "buildSize": { + "type": "integer", + "description": "Maximum function and site deployment size in MB", + "x-example": 2000, + "format": "int32" + }, + "databasesAllowEncrypt": { + "type": "boolean", + "description": "Does the plan support encrypted string attributes or not.", + "x-example": false + }, + "limits": { + "type": "object", + "description": "Plan specific limits", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/billingPlanLimits" + }, + "x-nullable": true + }, + "group": { "type": "string", - "description": "Country name.", - "x-example": "United States" + "description": "Group of this billing plan for variants", + "x-example": "pro", + "enum": [ + "starter", + "pro", + "scale" + ] + }, + "program": { + "type": "object", + "description": "Details of the program this plan is a part of.", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/program" + }, + "x-nullable": true } }, "required": [ "$id", - "userType", - "userId", - "userEmail", - "userName", - "resourceParent", - "resourceType", - "resourceId", - "resource", - "event", - "userAgent", - "ip", - "mode", - "country", - "time", - "projectId", - "teamId", - "hostname", - "osCode", - "osName", - "osVersion", - "clientType", - "clientCode", - "clientName", - "clientVersion", - "clientEngine", - "clientEngineVersion", - "deviceName", - "deviceBrand", - "deviceModel", - "countryCode", - "countryName" + "name", + "desc", + "order", + "price", + "trial", + "bandwidth", + "storage", + "imageTransformations", + "screenshotsGenerated", + "members", + "webhooks", + "projects", + "platforms", + "users", + "teams", + "databases", + "databasesReads", + "databasesWrites", + "databasesBatchSize", + "buckets", + "fileSize", + "functions", + "sites", + "executions", + "executionsRetentionCount", + "GBHours", + "realtime", + "realtimeMessages", + "messages", + "topics", + "authPhone", + "domains", + "logs", + "projectInactivityDays", + "alertLimit", + "usage", + "addons", + "budgetCapEnabled", + "customSmtp", + "emailBranding", + "requiresPaymentMethod", + "requiresBillingAddress", + "isAvailable", + "selfService", + "premiumSupport", + "budgeting", + "supportsMockNumbers", + "supportsOrganizationRoles", + "supportsCredits", + "supportsDisposableEmailValidation", + "supportsCanonicalEmailValidation", + "supportsFreeEmailValidation", + "backupsEnabled", + "usagePerProject", + "supportedAddons", + "backupPolicies", + "deploymentSize", + "buildSize", + "databasesAllowEncrypt", + "group" ], "example": { - "$id": "5e5ea5c16897e", - "userType": "user", - "userId": "610fc2f985ee0", - "userEmail": "john@appwrite.io", - "userName": "John Doe", - "resourceParent": "database\/ID", - "resourceType": "collection", - "resourceId": "610fc2f985ee0", - "resource": "collections\/610fc2f985ee0", - "event": "account.sessions.create", - "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/86.0.4240.198 Safari\/537.36", - "ip": "127.0.0.1", - "mode": "admin", - "country": "US", - "time": "2020-10-15T06:38:00.000+00:00", - "projectId": "610fc2f985ee0", - "teamId": "610fc2f985ee0", - "hostname": "appwrite.io", - "osCode": "Mac", - "osName": "Mac", - "osVersion": "Mac", - "clientType": "browser", - "clientCode": "CM", - "clientName": "Chrome Mobile iOS", - "clientVersion": "84.0", - "clientEngine": "WebKit", - "clientEngineVersion": "605.1.15", - "deviceName": "smartphone", - "deviceBrand": "Google", - "deviceModel": "Nexus 5", - "countryCode": "US", - "countryName": "United States" + "$id": "tier-0", + "name": "Hobby", + "desc": "Hobby plan", + "order": 0, + "price": 25, + "trial": 14, + "bandwidth": 25, + "storage": 25, + "imageTransformations": 100, + "screenshotsGenerated": 50, + "members": 25, + "webhooks": 25, + "projects": 2, + "platforms": 3, + "users": 25, + "teams": 25, + "databases": 25, + "databasesReads": 500000, + "databasesWrites": 250000, + "databasesBatchSize": 100, + "buckets": 25, + "fileSize": 25, + "functions": 25, + "sites": 1, + "executions": 25, + "executionsRetentionCount": 10000, + "GBHours": 100, + "realtime": 25, + "realtimeMessages": 100000, + "messages": 1000, + "topics": 1, + "authPhone": 10, + "domains": 5, + "logs": 25, + "projectInactivityDays": 7, + "alertLimit": 80, + "usage": null, + "addons": null, + "budgetCapEnabled": true, + "customSmtp": true, + "emailBranding": true, + "requiresPaymentMethod": true, + "requiresBillingAddress": true, + "isAvailable": true, + "selfService": true, + "premiumSupport": true, + "budgeting": true, + "supportsMockNumbers": true, + "supportsOrganizationRoles": true, + "supportsCredits": true, + "supportsDisposableEmailValidation": true, + "supportsCanonicalEmailValidation": true, + "supportsFreeEmailValidation": true, + "backupsEnabled": true, + "usagePerProject": true, + "supportedAddons": null, + "backupPolicies": true, + "deploymentSize": 30, + "buildSize": 2000, + "databasesAllowEncrypt": false, + "limits": null, + "group": "pro", + "program": null + } + }, + "billingPlanAddon": { + "description": "Addon", + "type": "object", + "properties": { + "seats": { + "type": "object", + "description": "Addon seats", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/billingPlanAddonDetails" + } + }, + "projects": { + "type": "object", + "description": "Addon projects", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/billingPlanAddonDetails" + } + } + }, + "required": [ + "seats", + "projects" + ], + "example": { + "seats": null, + "projects": null } }, - "additionalResource": { - "description": "AdditionalResource", + "billingPlanAddonDetails": { + "description": "Details", "type": "object", "properties": { - "name": { - "type": "string", - "description": "Resource name", - "x-example": "" + "supported": { + "type": "boolean", + "description": "Is the addon supported in the plan?", + "x-example": true }, - "unit": { + "planIncluded": { + "type": "integer", + "description": "Addon plan included value", + "x-example": 1, + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "Addon limit", + "x-example": 5, + "format": "int32" + }, + "type": { "type": "string", - "description": "Resource unit", - "x-example": "GB" + "description": "Addon type", + "x-example": "numeric" }, "currency": { "type": "string", @@ -94069,1793 +99547,2386 @@ } }, "required": [ - "name", - "unit", + "supported", + "planIncluded", + "limit", + "type", "currency", "price", "value", "invoiceDesc" ], "example": { - "name": "", - "unit": "GB", + "supported": true, + "planIncluded": 1, + "limit": 5, + "type": "numeric", "currency": "USD", "price": 5, "value": 25, "invoiceDesc": "" } }, - "aggregationTeam": { - "description": "AggregationTeam", + "billingPlanLimits": { + "description": "PlanLimits", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Aggregation ID.", - "x-example": "5e5ea5c16897e" + "credits": { + "type": "integer", + "description": "Credits limit per billing cycle", + "x-example": 100, + "format": "int32", + "x-nullable": true }, + "dailyCredits": { + "type": "integer", + "description": "Daily credits limit (if applicable)", + "x-example": 5, + "format": "int32", + "x-nullable": true + } + }, + "example": { + "credits": 100, + "dailyCredits": 5 + } + }, + "billingPlanSupportedAddons": { + "description": "BillingPlanSupportedAddons", + "type": "object", + "properties": { + "baa": { + "type": "boolean", + "description": "Whether the plan supports BAA (Business Associate Agreement) addon", + "x-example": true + } + }, + "required": [ + "baa" + ], + "example": { + "baa": true + } + }, + "block": { + "description": "Block", + "type": "object", + "properties": { "$createdAt": { "type": "string", - "description": "Aggregation creation time in ISO 8601 format.", + "description": "Block creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "$updatedAt": { + "resourceType": { "type": "string", - "description": "Aggregation update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$permissions": { - "type": "array", - "description": "Aggregation permissions. [Learn more about permissions](\/docs\/permissions).", - "items": { - "type": "string" - }, - "x-example": [ - "read(\"any\")" - ] + "description": "Resource type that is blocked", + "x-example": "project" }, - "from": { + "resourceId": { "type": "string", - "description": "Beginning date of the invoice", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Resource identifier that is blocked", + "x-example": "5e5ea5c16897e" }, - "to": { + "reason": { "type": "string", - "description": "End date of the invoice", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "usageStorage": { - "type": "integer", - "description": "Total storage usage", - "x-example": 20009090, - "format": "int32" - }, - "usageTotalStorage": { - "type": "integer", - "description": "Total storage usage with builds storage", - "x-example": 20009090, - "format": "int32" - }, - "usageFilesStorage": { - "type": "integer", - "description": "Total files storage usage", - "x-example": 20009090, - "format": "int32" + "description": "Reason for the block. Can be null if no reason was provided.", + "x-example": "Payment overdue", + "x-nullable": true }, - "usageDeploymentsStorage": { - "type": "integer", - "description": "Total deployments storage usage", - "x-example": 20009090, - "format": "int32" + "expiredAt": { + "type": "string", + "description": "Block expiration date in ISO 8601 format. Can be null if the block does not expire.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true }, - "usageBuildsStorage": { - "type": "integer", - "description": "Total builds storage usage", - "x-example": 20009090, - "format": "int32" + "projectName": { + "type": "string", + "description": "Name of the project this block applies to.", + "x-example": "My Project" }, - "usageDatabasesStorage": { - "type": "integer", - "description": "Total databases storage usage", - "x-example": 2009090, - "format": "int32" + "region": { + "type": "string", + "description": "Region of the project this block applies to.", + "x-example": "fra" }, - "usageUsers": { - "type": "integer", - "description": "Total active users for the billing period", - "x-example": 2000, - "format": "int32" + "organizationName": { + "type": "string", + "description": "Name of the organization that owns the project.", + "x-example": "Acme Inc." }, - "usageExecutions": { - "type": "integer", - "description": "Total number of executions for the billing period", - "x-example": 2000, - "format": "int32" + "organizationId": { + "type": "string", + "description": "ID of the organization that owns the project.", + "x-example": "5e5ea5c16897e" }, - "usageBandwidth": { + "billingPlan": { + "type": "string", + "description": "Billing plan of the organization that owns the project.", + "x-example": "pro" + } + }, + "required": [ + "$createdAt", + "resourceType", + "resourceId", + "projectName", + "region", + "organizationName", + "organizationId", + "billingPlan" + ], + "example": { + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "resourceType": "project", + "resourceId": "5e5ea5c16897e", + "reason": "Payment overdue", + "expiredAt": "2020-10-15T06:38:00.000+00:00", + "projectName": "My Project", + "region": "fra", + "organizationName": "Acme Inc.", + "organizationId": "5e5ea5c16897e", + "billingPlan": "pro" + } + }, + "blockDelete": { + "description": "BlockDelete", + "type": "object", + "properties": { + "deleted": { "type": "integer", - "description": "Total bandwidth usage for the billing period", - "x-example": 2000, + "description": "Number of blocks deleted", + "x-example": 1, "format": "int32" }, - "usageRealtime": { - "type": "integer", - "description": "Peak concurrent realtime connections for the billing period", - "x-example": 200, - "format": "int32" + "blocks": { + "type": "array", + "description": "List of deleted blocks", + "items": { + "type": "object", + "$ref": "#\/definitions\/block" + }, + "x-example": [] + } + }, + "required": [ + "deleted", + "blocks" + ], + "example": { + "deleted": 1, + "blocks": [] + } + }, + "dedicatedDatabaseBranch": { + "description": "Branch", + "type": "object", + "properties": { + "branchId": { + "type": "string", + "description": "Branch identifier.", + "x-example": "branch-a1b2c3d4" }, - "usageRealtimeMessages": { - "type": "integer", - "description": "Total realtime messages sent for the billing period", - "x-example": 10000, - "format": "int32" + "branchName": { + "type": "string", + "description": "Branch name.", + "x-example": "branch-a1b2c3d4" }, - "usageRealtimeBandwidth": { - "type": "integer", - "description": "Total realtime bandwidth usage for the billing period", - "x-example": 5000000, - "format": "int32" + "namespace": { + "type": "string", + "description": "Kubernetes namespace where the branch is deployed.", + "x-example": "branch-a1b2c3d4" }, - "additionalMembers": { + "expiresAt": { "type": "integer", - "description": "Additional members", - "x-example": 5, + "description": "Unix timestamp when the branch expires.", + "x-example": 1711411200, "format": "int32" + } + }, + "required": [ + "branchId", + "branchName", + "namespace", + "expiresAt" + ], + "example": { + "branchId": "branch-a1b2c3d4", + "branchName": "branch-a1b2c3d4", + "namespace": "branch-a1b2c3d4", + "expiresAt": 1711411200 + } + }, + "dedicatedDatabaseBranchList": { + "description": "BranchList", + "type": "object", + "properties": { + "branches": { + "type": "array", + "description": "List of branches.", + "items": { + "type": "object", + "$ref": "#\/definitions\/dedicatedDatabaseBranch" + }, + "x-example": [] + } + }, + "required": [ + "branches" + ], + "example": { + "branches": [] + } + }, + "campaign": { + "description": "Campaign", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Campaign ID", + "x-example": "" }, - "additionalMemberAmount": { - "type": "integer", - "description": "Additional members cost", - "x-example": 30, - "format": "int32" + "template": { + "type": "string", + "description": "Campaign template", + "x-example": "" }, - "additionalStorageAmount": { - "type": "integer", - "description": "Additional storage usage cost", - "x-example": 40, - "format": "int32" + "title": { + "type": "string", + "description": "Campaign title", + "x-example": "" }, - "additionalUsersAmount": { - "type": "integer", - "description": "Additional users usage cost.", - "x-example": 4, - "format": "int32" + "description": { + "type": "string", + "description": "Campaign description", + "x-example": "" }, - "additionalExecutionsAmount": { - "type": "integer", - "description": "Additional executions usage cost", - "x-example": 30, - "format": "int32" + "plan": { + "type": "string", + "description": "Billing plan campaign is associated with", + "x-example": "", + "x-nullable": true }, - "additionalBandwidthAmount": { - "type": "integer", - "description": "Additional bandwidth usage cost", - "x-example": 40, - "format": "int32" + "cta": { + "type": "string", + "description": "Campaign CTA", + "x-example": "", + "x-nullable": true }, - "additionalRealtimeAmount": { - "type": "integer", - "description": "Additional realtime usage cost", - "x-example": 20, - "format": "int32" + "claimed": { + "type": "string", + "description": "Campaign info when claimed", + "x-example": "", + "x-nullable": true }, - "plan": { + "unclaimed": { "type": "string", - "description": "Billing plan", - "x-example": "tier-0" + "description": "Campaign infor when unclaimed", + "x-example": "", + "x-nullable": true }, - "amount": { - "type": "integer", - "description": "Aggregated amount", - "x-example": 2, - "format": "int32" + "image": { + "type": "object", + "additionalProperties": true, + "description": "Campaign images", + "x-example": "" }, - "breakdown": { + "reviews": { "type": "array", - "description": "Aggregation project breakdown", + "description": "Campaign reviews", "items": { "type": "object", - "$ref": "#\/definitions\/aggregationBreakdown" + "$ref": "#\/definitions\/review" }, - "x-example": [] + "x-example": "", + "x-nullable": true }, - "resources": { - "type": "array", - "description": "Usage resources", - "items": { - "type": "object", - "$ref": "#\/definitions\/usageResources" - }, - "x-example": [] + "onlyNewOrgs": { + "type": "boolean", + "description": "Campaign valid only for new orgs.", + "x-example": "", + "x-nullable": true + }, + "footer": { + "type": "boolean", + "description": "Is footer", + "x-example": "", + "x-nullable": true } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "from", - "to", - "usageStorage", - "usageTotalStorage", - "usageFilesStorage", - "usageDeploymentsStorage", - "usageBuildsStorage", - "usageDatabasesStorage", - "usageUsers", - "usageExecutions", - "usageBandwidth", - "usageRealtime", - "usageRealtimeMessages", - "usageRealtimeBandwidth", - "additionalMembers", - "additionalMemberAmount", - "additionalStorageAmount", - "additionalUsersAmount", - "additionalExecutionsAmount", - "additionalBandwidthAmount", - "additionalRealtimeAmount", - "plan", - "amount", - "breakdown", - "resources" + "template", + "title", + "description" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "from": "2020-10-15T06:38:00.000+00:00", - "to": "2020-10-15T06:38:00.000+00:00", - "usageStorage": 20009090, - "usageTotalStorage": 20009090, - "usageFilesStorage": 20009090, - "usageDeploymentsStorage": 20009090, - "usageBuildsStorage": 20009090, - "usageDatabasesStorage": 2009090, - "usageUsers": 2000, - "usageExecutions": 2000, - "usageBandwidth": 2000, - "usageRealtime": 200, - "usageRealtimeMessages": 10000, - "usageRealtimeBandwidth": 5000000, - "additionalMembers": 5, - "additionalMemberAmount": 30, - "additionalStorageAmount": 40, - "additionalUsersAmount": 4, - "additionalExecutionsAmount": 30, - "additionalBandwidthAmount": 40, - "additionalRealtimeAmount": 20, - "plan": "tier-0", - "amount": 2, - "breakdown": [], - "resources": [] + "$id": "", + "template": "", + "title": "", + "description": "", + "plan": "", + "cta": "", + "claimed": "", + "unclaimed": "", + "image": "", + "reviews": "", + "onlyNewOrgs": "", + "footer": "" + } + }, + "dedicatedDatabaseConnection": { + "description": "Connection", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Connection ID.", + "x-example": "5e5ea5c16897e" + }, + "username": { + "type": "string", + "description": "Connection username.", + "x-example": "app_readonly" + }, + "database": { + "type": "string", + "description": "Database name.", + "x-example": "appwrite" + }, + "role": { + "type": "string", + "description": "Connection role. Common values: readonly, readwrite.", + "x-example": "readonly" + }, + "$createdAt": { + "type": "string", + "description": "Connection creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "username", + "database", + "role", + "$createdAt" + ], + "example": { + "$id": "5e5ea5c16897e", + "username": "app_readonly", + "database": "appwrite", + "role": "readonly", + "$createdAt": "2020-10-15T06:38:00.000+00:00" } }, - "aggregationBreakdown": { - "description": "AggregationBreakdown", + "coupon": { + "description": "Coupon", "type": "object", "properties": { "$id": { "type": "string", - "description": "Aggregation ID.", - "x-example": "5e5ea5c16897e" + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "name": { + "code": { "type": "string", - "description": "Project name", - "x-example": "" + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "region": { + "credits": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" + }, + "expiration": { "type": "string", - "description": "Project region", - "x-example": "fra" + "description": "Coupon expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "amount": { + "validity": { "type": "integer", - "description": "Aggregated amount", - "x-example": 2, + "description": "Credit validity in days.", + "x-example": 180, "format": "int32" }, - "resources": { - "type": "array", - "description": "", - "items": { - "type": "object", - "$ref": "#\/definitions\/usageResources" - }, - "x-example": "" + "campaign": { + "type": "string", + "description": "Campaign the coupon is associated with`.", + "x-example": "AppwriteHeroes" + }, + "status": { + "type": "string", + "description": "Status of the coupon. Can be one of `disabled`, `active` or `expired`.", + "x-example": "disabled" + }, + "onlyNewOrgs": { + "type": "boolean", + "description": "If the coupon is only valid for new organizations or not.", + "x-example": true } }, "required": [ "$id", - "name", - "region", - "amount", - "resources" + "code", + "credits", + "expiration", + "validity", + "campaign", + "status", + "onlyNewOrgs" ], "example": { - "$id": "5e5ea5c16897e", - "name": "", - "region": "fra", - "amount": 2, - "resources": "" + "$id": "NEWBONUS", + "code": "NEWBONUS", + "credits": 50, + "expiration": "2020-10-15T06:38:00.000+00:00", + "validity": 180, + "campaign": "AppwriteHeroes", + "status": "disabled", + "onlyNewOrgs": true } }, - "backupArchive": { - "description": "Archive", + "dedicatedDatabaseCredentials": { + "description": "Credentials", "type": "object", "properties": { "$id": { "type": "string", - "description": "Archive ID.", + "description": "Database ID.", "x-example": "5e5ea5c16897e" }, - "$createdAt": { - "type": "string", - "description": "Archive creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Archive update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "policyId": { + "host": { "type": "string", - "description": "Archive policy ID.", - "x-example": "did8jx6ws45jana098ab7" + "description": "Database hostname.", + "x-example": "db-myproject-mydb.fra.appwrite.network" }, - "size": { + "port": { "type": "integer", - "description": "Archive size in bytes.", - "x-example": 100000, + "description": "Database port.", + "x-example": 5432, "format": "int32" }, - "status": { + "username": { "type": "string", - "description": "The status of the archive creation. Possible values: pending, processing, uploading, completed, failed, skipped.", - "x-example": "completed" + "description": "Database username.", + "x-example": "appwrite" }, - "startedAt": { + "password": { "type": "string", - "description": "The backup start time.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Database password.", + "x-example": "********" }, - "migrationId": { + "database": { "type": "string", - "description": "Migration ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "services": { - "type": "array", - "description": "The services that are backed up by this archive.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" - }, - "resources": { - "type": "array", - "description": "The resources that are backed up by this archive.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" + "description": "Database name.", + "x-example": "appwrite" }, - "resourceId": { + "engine": { "type": "string", - "description": "The resource ID to backup. Set only if this archive should backup a single resource.", - "x-example": "DB1", - "x-nullable": true + "description": "Database engine. Possible values: postgres, mysql, mariadb, mongodb.", + "x-example": "postgres" }, - "resourceType": { + "ssl": { + "type": "boolean", + "description": "Whether SSL is required.", + "x-example": true + }, + "connectionString": { "type": "string", - "description": "The resource type to backup. Set only if this archive should backup a single resource.", - "x-example": "database", - "x-nullable": true + "description": "Full connection string.", + "x-example": "postgresql:\/\/appwrite:****@db-myproject-mydb.fra.appwrite.network:5432\/appwrite?sslmode=require" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "policyId", - "size", - "status", - "startedAt", - "migrationId", - "services", - "resources" + "host", + "port", + "username", + "password", + "database", + "engine", + "ssl", + "connectionString" ], "example": { "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "policyId": "did8jx6ws45jana098ab7", - "size": 100000, - "status": "completed", - "startedAt": "2020-10-15T06:38:00.000+00:00", - "migrationId": "did8jx6ws45jana098ab7", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "resourceId": "DB1", - "resourceType": "database" + "host": "db-myproject-mydb.fra.appwrite.network", + "port": 5432, + "username": "appwrite", + "password": "********", + "database": "appwrite", + "engine": "postgres", + "ssl": true, + "connectionString": "postgresql:\/\/appwrite:****@db-myproject-mydb.fra.appwrite.network:5432\/appwrite?sslmode=require" } }, - "billingAddress": { - "description": "BillingAddress", + "credit": { + "description": "Credit", "type": "object", "properties": { "$id": { "type": "string", - "description": "Region ID", - "x-example": "eu-fr" + "description": "Credit ID.", + "x-example": "5e5ea5c16897e" }, - "userId": { + "$createdAt": { "type": "string", - "description": "User ID", - "x-example": "5e5ea5c16897e" + "description": "Credit creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "streetAddress": { + "$updatedAt": { "type": "string", - "description": "Street address", - "x-example": "13th Avenue" + "description": "Credit update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "addressLine2": { + "$permissions": { + "type": "array", + "description": "Credit permissions. [Learn more about permissions](\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "couponId": { "type": "string", - "description": "Address line 2", - "x-example": "" + "description": "coupon ID", + "x-example": "NEWBONUS" }, - "country": { + "userId": { "type": "string", - "description": "Address country", - "x-example": "USA" + "description": "ID of the User.", + "x-example": "5e5ea5c16897e" }, - "city": { + "teamId": { "type": "string", - "description": "city", - "x-example": "" + "description": "ID of the Team.", + "x-example": "5e5ea5c16897e" }, - "state": { + "credits": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" + }, + "total": { + "type": "number", + "description": "Provided credit amount", + "x-example": 50, + "format": "double" + }, + "expiration": { "type": "string", - "description": "state", - "x-example": "" + "description": "Credit expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "postalCode": { + "status": { "type": "string", - "description": "postal code", - "x-example": "" + "description": "Status of the credit. Can be one of `disabled`, `active` or `expired`.", + "x-example": "disabled" } }, "required": [ "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "couponId", "userId", - "streetAddress", - "addressLine2", - "country", - "city", - "state", - "postalCode" + "teamId", + "credits", + "total", + "expiration", + "status" ], "example": { - "$id": "eu-fr", + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "couponId": "NEWBONUS", "userId": "5e5ea5c16897e", - "streetAddress": "13th Avenue", - "addressLine2": "", - "country": "USA", - "city": "", - "state": "", - "postalCode": "" + "teamId": "5e5ea5c16897e", + "credits": 50, + "total": 50, + "expiration": "2020-10-15T06:38:00.000+00:00", + "status": "disabled" } }, - "billingPlan": { - "description": "billingPlan", + "creditAvailable": { + "description": "CreditAvailable", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Plan ID.", - "x-example": "tier-0" + "available": { + "type": "integer", + "description": "Total available credits for the organization.", + "x-example": 100, + "format": "int32" + } + }, + "required": [ + "available" + ], + "example": { + "available": 100 + } + }, + "creditList": { + "description": "CreditList", + "type": "object", + "properties": { + "credits": { + "type": "array", + "description": "Credits", + "items": { + "type": "object", + "$ref": "#\/definitions\/credit" + }, + "x-example": 5 }, - "name": { - "type": "string", - "description": "Plan name", - "x-example": "Hobby" + "total": { + "type": "integer", + "description": "Total number of credits", + "x-example": 5, + "format": "int32" }, - "desc": { + "available": { + "type": "number", + "description": "Total available credit balance in USD", + "x-example": 5, + "format": "double" + } + }, + "required": [ + "credits", + "total", + "available" + ], + "example": { + "credits": 5, + "total": 5, + "available": 5 + } + }, + "dedicatedDatabaseMetrics": { + "description": "DatabaseMetrics", + "type": "object", + "properties": { + "period": { "type": "string", - "description": "Plan description", - "x-example": "Hobby plan" + "description": "Metrics aggregation period. Possible values: 1h (last hour), 24h (last 24 hours), 7d (last 7 days), 30d (last 30 days).", + "x-example": "24h" }, - "order": { - "type": "integer", - "description": "Plan order", - "x-example": 0, - "format": "int32" + "cpuPercent": { + "type": "number", + "description": "Average CPU usage percentage.", + "x-example": 45.2, + "format": "double" }, - "price": { + "memoryPercent": { "type": "number", - "description": "Price", - "x-example": 25, + "description": "Average memory usage percentage.", + "x-example": 62.1, "format": "double" }, - "trial": { + "memoryUsedBytes": { "type": "integer", - "description": "Trial days", - "x-example": 14, + "description": "Memory used in bytes.", + "x-example": 536870912, "format": "int32" }, - "bandwidth": { + "memoryMaxBytes": { "type": "integer", - "description": "Bandwidth", - "x-example": 25, + "description": "Maximum memory available in bytes.", + "x-example": 1073741824, "format": "int32" }, - "storage": { + "storageUsedBytes": { "type": "integer", - "description": "Storage", - "x-example": 25, + "description": "Storage used in bytes.", + "x-example": 1073741824, "format": "int32" }, - "imageTransformations": { + "connectionsActive": { "type": "integer", - "description": "Image Transformations", - "x-example": 100, + "description": "Current active connections.", + "x-example": 15, "format": "int32" }, - "screenshotsGenerated": { + "connectionsMax": { "type": "integer", - "description": "Screenshots generated", - "x-example": 50, + "description": "Maximum connections configured.", + "x-example": 100, "format": "int32" }, - "members": { - "type": "integer", - "description": "Members", - "x-example": 25, - "format": "int32" + "iopsRead": { + "type": "number", + "description": "Average read IOPS.", + "x-example": 125.5, + "format": "double" }, - "webhooks": { - "type": "integer", - "description": "Webhooks", - "x-example": 25, - "format": "int32" + "iopsWrite": { + "type": "number", + "description": "Average write IOPS.", + "x-example": 45.3, + "format": "double" }, - "projects": { - "type": "integer", - "description": "Projects", - "x-example": 2, - "format": "int32" + "qps": { + "type": "number", + "description": "Queries per second.", + "x-example": 230.7, + "format": "double" + } + }, + "required": [ + "period", + "cpuPercent", + "memoryPercent", + "memoryUsedBytes", + "memoryMaxBytes", + "storageUsedBytes", + "connectionsActive", + "connectionsMax", + "iopsRead", + "iopsWrite", + "qps" + ], + "example": { + "period": "24h", + "cpuPercent": 45.2, + "memoryPercent": 62.1, + "memoryUsedBytes": 536870912, + "memoryMaxBytes": 1073741824, + "storageUsedBytes": 1073741824, + "connectionsActive": 15, + "connectionsMax": 100, + "iopsRead": 125.5, + "iopsWrite": 45.3, + "qps": 230.7 + } + }, + "dedicatedDatabase": { + "description": "DedicatedDatabase", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Dedicated database ID.", + "x-example": "5e5ea5c16897e" }, - "platforms": { - "type": "integer", - "description": "Platforms", - "x-example": 3, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Database creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "users": { - "type": "integer", - "description": "Users", - "x-example": 25, - "format": "int32" + "$updatedAt": { + "type": "string", + "description": "Database update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "teams": { + "projectId": { + "type": "string", + "description": "Project ID that owns this database.", + "x-example": "5e5ea5c16897e" + }, + "name": { + "type": "string", + "description": "Database display name.", + "x-example": "My Production Database" + }, + "type": { + "type": "string", + "description": "Database type: shared (serverless) or dedicated (always-on).", + "x-example": "dedicated" + }, + "region": { + "type": "string", + "description": "Region identifier (e.g., fra, nyc, syd).", + "x-example": "fra" + }, + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres" + }, + "version": { + "type": "string", + "description": "Database engine version.", + "x-example": "16" + }, + "specification": { + "type": "string", + "description": "Specification identifier.", + "x-example": "starter" + }, + "backend": { + "type": "string", + "description": "Database backend provider. Possible values: prisma, edge.", + "x-example": "edge" + }, + "hostname": { + "type": "string", + "description": "Database hostname for connections.", + "x-example": "db-myproject-mydb.fra.appwrite.network" + }, + "connectionPort": { "type": "integer", - "description": "Teams", - "x-example": 25, + "description": "Database port for connections.", + "x-example": 5432, "format": "int32" }, - "databases": { + "connectionUser": { + "type": "string", + "description": "Database username for connections.", + "x-example": "appwrite_user" + }, + "connectionPassword": { + "type": "string", + "description": "Database password for connections.", + "x-example": "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" + }, + "connectionString": { + "type": "string", + "description": "Full database connection string (URI format).", + "x-example": "postgresql:\/\/user:pass@db-myproject-mydb.fra.appwrite.network:5432\/postgres" + }, + "status": { + "type": "string", + "description": "Database status. Possible values: provisioning, ready, inactive, paused, failed, deleted, restoring, scaling.", + "x-example": "ready" + }, + "containerStatus": { + "type": "string", + "description": "Container status for shared databases: active or inactive.", + "x-example": "active" + }, + "lastAccessedAt": { + "type": "string", + "description": "Last activity timestamp in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "idleUntil": { + "type": "string", + "description": "Timestamp when container will be considered idle and scale to zero (ISO 8601 format).", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "idleTimeoutMinutes": { "type": "integer", - "description": "Databases", - "x-example": 25, + "description": "Minutes of inactivity before container scales to zero.", + "x-example": 15, "format": "int32" }, - "databasesReads": { + "cpu": { "type": "integer", - "description": "Database reads per month", - "x-example": 500000, + "description": "CPU allocated in millicores.", + "x-example": 2000, "format": "int32" }, - "databasesWrites": { + "memory": { "type": "integer", - "description": "Database writes per month", - "x-example": 250000, + "description": "Memory allocated in MB.", + "x-example": 4096, "format": "int32" }, - "databasesBatchSize": { + "storage": { "type": "integer", - "description": "Database batch size limit", + "description": "Storage allocated in GB.", "x-example": 100, "format": "int32" }, - "buckets": { - "type": "integer", - "description": "Buckets", - "x-example": 25, - "format": "int32" + "storageClass": { + "type": "string", + "description": "Storage class: ssd, nvme, or hdd.", + "x-example": "ssd" }, - "fileSize": { + "storageMaxGb": { "type": "integer", - "description": "File size", - "x-example": 25, + "description": "Maximum storage allowed in GB. 0 means use system default.", + "x-example": 100, "format": "int32" }, - "functions": { - "type": "integer", - "description": "Functions", - "x-example": 25, - "format": "int32" + "nodePool": { + "type": "string", + "description": "Kubernetes node pool where the database is scheduled.", + "x-example": "db-pool-4vcpu-8gb" }, - "sites": { - "type": "integer", - "description": "Sites", - "x-example": 1, - "format": "int32" + "highAvailability": { + "type": "boolean", + "description": "Whether high availability is enabled.", + "x-example": true }, - "executions": { + "highAvailabilityReplicaCount": { "type": "integer", - "description": "Function executions", - "x-example": 25, + "description": "Number of high availability replicas.", + "x-example": 2, "format": "int32" }, - "executionsRetentionCount": { + "highAvailabilitySyncMode": { + "type": "string", + "description": "Replication sync mode: async, sync, or quorum.", + "x-example": "async" + }, + "networkMaxConnections": { "type": "integer", - "description": "Rolling max executions retained per function\/site", - "x-example": 10000, + "description": "Maximum concurrent connections.", + "x-example": 500, "format": "int32" }, - "GBHours": { + "networkIdleTimeoutSeconds": { "type": "integer", - "description": "GB hours for functions", - "x-example": 100, + "description": "Connection idle timeout in seconds.", + "x-example": 900, "format": "int32" }, - "realtime": { + "networkIPAllowlist": { + "type": "array", + "description": "IP addresses\/CIDR ranges allowed to connect.", + "items": { + "type": "string" + }, + "x-example": [ + "10.0.0.0\/8", + "192.168.1.0\/24" + ] + }, + "backupEnabled": { + "type": "boolean", + "description": "Whether automatic backups are enabled.", + "x-example": true + }, + "backupPitr": { + "type": "boolean", + "description": "Whether point-in-time recovery is enabled.", + "x-example": true + }, + "backupCron": { + "type": "string", + "description": "Backup schedule in cron format.", + "x-example": "0 3 * * *" + }, + "backupRetentionDays": { "type": "integer", - "description": "Realtime connections", - "x-example": 25, + "description": "Number of days to retain backups.", + "x-example": 30, "format": "int32" }, - "realtimeMessages": { + "pitrRetentionDays": { "type": "integer", - "description": "Realtime messages", - "x-example": 100000, + "description": "Number of days to retain PITR data.", + "x-example": 14, "format": "int32" }, - "messages": { + "storageAutoscaling": { + "type": "boolean", + "description": "Whether automatic storage expansion is enabled.", + "x-example": true + }, + "storageAutoscalingThresholdPercent": { "type": "integer", - "description": "Messages per month", - "x-example": 1000, + "description": "Storage usage percentage that triggers automatic expansion.", + "x-example": 85, "format": "int32" }, - "topics": { + "storageAutoscalingMaxGb": { "type": "integer", - "description": "Topics for messaging", - "x-example": 1, + "description": "Maximum storage size in GB for autoscaling. 0 means no limit.", + "x-example": 500, "format": "int32" }, - "authPhone": { + "maintenanceWindowDay": { + "type": "string", + "description": "Day of the week for the maintenance window. Possible values: sun, mon, tue, wed, thu, fri, sat.", + "x-example": "sun" + }, + "maintenanceWindowHourUtc": { "type": "integer", - "description": "SMS authentications per month", - "x-example": 10, + "description": "Hour in UTC (0-23) when the maintenance window starts.", + "x-example": 3, "format": "int32" }, - "domains": { + "metricsEnabled": { + "type": "boolean", + "description": "Whether metrics collection is enabled.", + "x-example": true + }, + "sqlApiEnabled": { + "type": "boolean", + "description": "Whether the SQL API sidecar is enabled for this database.", + "x-example": true + }, + "sqlApiAllowedStatements": { + "type": "array", + "description": "Statement types accepted by the SQL API. Allowed values: SELECT, INSERT, UPDATE, DELETE.", + "items": { + "type": "string" + }, + "x-example": "SELECT" + }, + "sqlApiMaxRows": { "type": "integer", - "description": "Custom domains", - "x-example": 5, + "description": "Maximum rows returned per SQL API execution. Results larger than this are truncated.", + "x-example": 10000, "format": "int32" }, - "logs": { + "sqlApiMaxBytes": { "type": "integer", - "description": "Log days", - "x-example": 25, + "description": "Maximum serialised SQL API result payload in bytes. Results larger than this are truncated.", + "x-example": 10485760, "format": "int32" }, - "projectInactivityDays": { + "sqlApiTimeoutSeconds": { "type": "integer", - "description": "Number of days of console inactivity before a project is paused. 0 means pausing is disabled.", - "x-example": 7, + "description": "Maximum server-side SQL API execution time in seconds before the query is cancelled.", + "x-example": 30, "format": "int32" }, - "alertLimit": { + "error": { + "type": "string", + "description": "Error message if status is failed.", + "x-example": "" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "projectId", + "name", + "type", + "region", + "engine", + "version", + "specification", + "backend", + "hostname", + "connectionPort", + "connectionUser", + "connectionPassword", + "connectionString", + "status", + "containerStatus", + "lastAccessedAt", + "idleUntil", + "idleTimeoutMinutes", + "cpu", + "memory", + "storage", + "storageClass", + "storageMaxGb", + "nodePool", + "highAvailability", + "highAvailabilityReplicaCount", + "highAvailabilitySyncMode", + "networkMaxConnections", + "networkIdleTimeoutSeconds", + "networkIPAllowlist", + "backupEnabled", + "backupPitr", + "backupCron", + "backupRetentionDays", + "pitrRetentionDays", + "storageAutoscaling", + "storageAutoscalingThresholdPercent", + "storageAutoscalingMaxGb", + "maintenanceWindowDay", + "maintenanceWindowHourUtc", + "metricsEnabled", + "sqlApiEnabled", + "sqlApiAllowedStatements", + "sqlApiMaxRows", + "sqlApiMaxBytes", + "sqlApiTimeoutSeconds", + "error" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "projectId": "5e5ea5c16897e", + "name": "My Production Database", + "type": "dedicated", + "region": "fra", + "engine": "postgres", + "version": "16", + "specification": "starter", + "backend": "edge", + "hostname": "db-myproject-mydb.fra.appwrite.network", + "connectionPort": 5432, + "connectionUser": "appwrite_user", + "connectionPassword": "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", + "connectionString": "postgresql:\/\/user:pass@db-myproject-mydb.fra.appwrite.network:5432\/postgres", + "status": "ready", + "containerStatus": "active", + "lastAccessedAt": "2020-10-15T06:38:00.000+00:00", + "idleUntil": "2020-10-15T06:38:00.000+00:00", + "idleTimeoutMinutes": 15, + "cpu": 2000, + "memory": 4096, + "storage": 100, + "storageClass": "ssd", + "storageMaxGb": 100, + "nodePool": "db-pool-4vcpu-8gb", + "highAvailability": true, + "highAvailabilityReplicaCount": 2, + "highAvailabilitySyncMode": "async", + "networkMaxConnections": 500, + "networkIdleTimeoutSeconds": 900, + "networkIPAllowlist": [ + "10.0.0.0\/8", + "192.168.1.0\/24" + ], + "backupEnabled": true, + "backupPitr": true, + "backupCron": "0 3 * * *", + "backupRetentionDays": 30, + "pitrRetentionDays": 14, + "storageAutoscaling": true, + "storageAutoscalingThresholdPercent": 85, + "storageAutoscalingMaxGb": 500, + "maintenanceWindowDay": "sun", + "maintenanceWindowHourUtc": 3, + "metricsEnabled": true, + "sqlApiEnabled": true, + "sqlApiAllowedStatements": "SELECT", + "sqlApiMaxRows": 10000, + "sqlApiMaxBytes": 10485760, + "sqlApiTimeoutSeconds": 30, + "error": "" + } + }, + "dedicatedDatabaseExecution": { + "description": "Execution", + "type": "object", + "properties": { + "rows": { + "type": "object", + "additionalProperties": true, + "description": "Result rows as a list of column-name => value maps. Empty for non-returning statements.", + "x-example": [ + { + "id": 1, + "name": "example" + } + ] + }, + "rowCount": { "type": "integer", - "description": "Alert threshold percentage", - "x-example": 80, + "description": "Number of rows returned (for SELECT) or affected (for INSERT\/UPDATE\/DELETE).", + "x-example": 1, "format": "int32" }, - "usage": { - "type": "object", - "description": "Additional resources", - "x-example": null, + "columns": { + "type": "array", + "description": "Column metadata in result-set order.", "items": { "type": "object", - "$ref": "#\/definitions\/usageBillingPlan" - } + "$ref": "#\/definitions\/dedicatedDatabaseExecutionColumn" + }, + "x-example": [] }, - "addons": { - "type": "object", - "description": "Addons", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/billingPlanAddon" - } + "durationMs": { + "type": "integer", + "description": "Server-side execution time in milliseconds.", + "x-example": 12, + "format": "int32" }, - "budgetCapEnabled": { + "truncated": { "type": "boolean", - "description": "Budget cap enabled or disabled.", - "x-example": true + "description": "True when the configured row or byte cap was hit and the result was truncated.", + "x-example": false }, - "customSmtp": { - "type": "boolean", - "description": "Custom SMTP", - "x-example": true + "bytes": { + "type": "integer", + "description": "Serialised payload size in bytes.", + "x-example": 1024, + "format": "int32" + } + }, + "required": [ + "rows", + "rowCount", + "columns", + "durationMs", + "truncated", + "bytes" + ], + "example": { + "rows": [ + { + "id": 1, + "name": "example" + } + ], + "rowCount": 1, + "columns": [], + "durationMs": 12, + "truncated": false, + "bytes": 1024 + } + }, + "dedicatedDatabaseExecutionColumn": { + "description": "ExecutionColumn", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Column name as returned by the database.", + "x-example": "id" }, - "emailBranding": { - "type": "boolean", - "description": "Appwrite branding in email", - "x-example": true + "type": { + "type": "string", + "description": "Engine-specific column type (e.g. int4, text, timestamptz).", + "x-example": "int4" + } + }, + "required": [ + "name", + "type" + ], + "example": { + "name": "id", + "type": "int4" + } + }, + "dedicatedDatabaseRestoration": { + "description": "Restoration", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Restoration ID.", + "x-example": "5e5ea5c16897e" }, - "requiresPaymentMethod": { - "type": "boolean", - "description": "Does plan require payment method", - "x-example": true + "$createdAt": { + "type": "string", + "description": "Restoration creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "requiresBillingAddress": { - "type": "boolean", - "description": "Does plan require billing address", - "x-example": true + "databaseId": { + "type": "string", + "description": "Database ID being restored.", + "x-example": "5e5ea5c16897e" }, - "isAvailable": { - "type": "boolean", - "description": "Is the billing plan available", - "x-example": true + "projectId": { + "type": "string", + "description": "Project ID.", + "x-example": "5e5ea5c16897e" }, - "selfService": { - "type": "boolean", - "description": "Can user change the plan themselves", - "x-example": true + "backupId": { + "type": "string", + "description": "Backup ID used for restoration (null for PITR).", + "x-example": "5e5ea5c16897e" }, - "premiumSupport": { - "type": "boolean", - "description": "Does plan enable premium support", - "x-example": true + "type": { + "type": "string", + "description": "Restoration type. Possible values: backup (restore from a specific backup snapshot), pitr (point-in-time recovery to a specific timestamp).", + "x-example": "backup" }, - "budgeting": { - "type": "boolean", - "description": "Does plan support budget cap", - "x-example": true + "status": { + "type": "string", + "description": "Restoration status. Possible values: pending (queued for processing), running (currently in progress), completed (successfully finished), failed (encountered an error).", + "x-example": "completed" }, - "supportsMockNumbers": { - "type": "boolean", - "description": "Does plan support mock numbers", - "x-example": true + "targetTime": { + "type": "string", + "description": "Target time for PITR restoration in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "supportsOrganizationRoles": { - "type": "boolean", - "description": "Does plan support organization roles", - "x-example": true + "startedAt": { + "type": "string", + "description": "Restoration start time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "supportsCredits": { - "type": "boolean", - "description": "Does plan support credit", - "x-example": true + "completedAt": { + "type": "string", + "description": "Restoration completion time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "supportsDisposableEmailValidation": { - "type": "boolean", - "description": "Does plan support blocking disposable email addresses.", - "x-example": true + "error": { + "type": "string", + "description": "Error message if restoration failed.", + "x-example": "" + } + }, + "required": [ + "$id", + "$createdAt", + "databaseId", + "projectId", + "backupId", + "type", + "status", + "targetTime", + "startedAt", + "completedAt", + "error" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "databaseId": "5e5ea5c16897e", + "projectId": "5e5ea5c16897e", + "backupId": "5e5ea5c16897e", + "type": "backup", + "status": "completed", + "targetTime": "2020-10-15T06:38:00.000+00:00", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "completedAt": "2020-10-15T06:38:00.000+00:00", + "error": "" + } + }, + "databaseStatus": { + "description": "Status", + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "Overall health status: healthy, degraded, or unhealthy.", + "x-example": "healthy" }, - "supportsCanonicalEmailValidation": { + "ready": { "type": "boolean", - "description": "Does plan support requiring canonical email addresses.", + "description": "Whether the database is ready to accept connections.", "x-example": true }, - "supportsFreeEmailValidation": { - "type": "boolean", - "description": "Does plan support blocking free email addresses.", - "x-example": true + "engine": { + "type": "string", + "description": "Database engine: postgres, mysql, mariadb, or mongodb.", + "x-example": "postgres" }, - "backupsEnabled": { - "type": "boolean", - "description": "Does plan support backup policies.", - "x-example": true + "version": { + "type": "string", + "description": "Database engine version.", + "x-example": "17" }, - "usagePerProject": { - "type": "boolean", - "description": "Whether usage addons are calculated per project.", - "x-example": true + "uptime": { + "type": "integer", + "description": "Database uptime in seconds.", + "x-example": 86400, + "format": "int32" }, - "supportedAddons": { + "connections": { "type": "object", - "description": "Supported addons for this plan", - "x-example": null, + "description": "Connection statistics.", + "x-example": { + "current": 12, + "max": 100 + }, "items": { "type": "object", - "$ref": "#\/definitions\/billingPlanSupportedAddons" + "$ref": "#\/definitions\/databaseStatusConnections" } }, - "backupPolicies": { + "replicas": { + "type": "array", + "description": "List of database replicas and their status.", + "items": { + "type": "object", + "$ref": "#\/definitions\/databaseStatusReplica" + }, + "x-example": [ + { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": null + }, + { + "index": 1, + "role": "replica", + "healthy": true, + "lagSeconds": 0.2 + } + ] + }, + "volumes": { + "type": "array", + "description": "Storage volume information.", + "items": { + "type": "object", + "$ref": "#\/definitions\/databaseStatusVolume" + }, + "x-example": { + "data": { + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true + } + } + } + }, + "required": [ + "health", + "ready", + "engine", + "version", + "uptime", + "connections", + "replicas", + "volumes" + ], + "example": { + "health": "healthy", + "ready": true, + "engine": "postgres", + "version": "17", + "uptime": 86400, + "connections": { + "current": 12, + "max": 100 + }, + "replicas": [ + { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": null + }, + { + "index": 1, + "role": "replica", + "healthy": true, + "lagSeconds": 0.2 + } + ], + "volumes": { + "data": { + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true + } + } + } + }, + "dnsRecord": { + "description": "DNSRecord", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "DNS Record ID.", + "x-example": "5f40a6e10c65e" + }, + "$createdAt": { + "type": "string", + "description": "DNS Record creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "DNS Record update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "type": { + "type": "string", + "description": "DNS record type (e.g. A, CNAME, MX).", + "x-example": "A" + }, + "name": { + "type": "string", + "description": "Record name or subdomain.", + "x-example": "mail" + }, + "value": { + "type": "string", + "description": "Value of the record (IP address, domain, etc.).", + "x-example": "192.0.2.1" + }, + "ttl": { "type": "integer", - "description": "How many policies does plan support", - "x-example": true, + "description": "Time to live (in seconds).", + "x-example": 86400, "format": "int32" }, - "deploymentSize": { + "priority": { "type": "integer", - "description": "Maximum function and site deployment size in MB", - "x-example": 30, + "description": "Record priority (commonly used for MX).", + "x-example": 10, "format": "int32" }, - "buildSize": { + "lock": { + "type": "boolean", + "description": "Whether this record is locked (read-only).", + "x-example": false + }, + "weight": { "type": "integer", - "description": "Maximum function and site deployment size in MB", - "x-example": 2000, + "description": "Record weight (used for SRV records).", + "x-example": 10, "format": "int32" }, - "databasesAllowEncrypt": { + "port": { + "type": "integer", + "description": "Target port (used for SRV records).", + "x-example": 443, + "format": "int32" + }, + "comment": { + "type": "string", + "description": "Comment for the DNS record.", + "x-example": "Mail server record" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "type", + "name", + "value", + "ttl", + "priority", + "lock", + "weight", + "port", + "comment" + ], + "example": { + "$id": "5f40a6e10c65e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "type": "A", + "name": "mail", + "value": "192.0.2.1", + "ttl": 86400, + "priority": 10, + "lock": false, + "weight": 10, + "port": 443, + "comment": "Mail server record" + } + }, + "domain": { + "description": "Domain", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Domain ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Domain creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Domain update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": "example.com" + }, + "registrar": { + "type": "string", + "description": "Domain registrar (e.g. \"appwrite\" or \"third_party\").", + "x-example": "appwrite" + }, + "nameservers": { + "type": "string", + "description": "Nameservers setting. \"Appwrite\" or empty string.", + "x-example": "Appwrite" + }, + "expire": { + "type": "string", + "description": "Domain expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "renewal": { + "type": "string", + "description": "Domain renewal date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "autoRenewal": { "type": "boolean", - "description": "Does the plan support encrypted string attributes or not.", - "x-example": false + "description": "If set to true, the domain will automatically renew.", + "x-example": true }, - "limits": { - "type": "object", - "description": "Plan specific limits", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/billingPlanLimits" - }, - "x-nullable": true + "renewalPrice": { + "type": "integer", + "description": "Renewal price (in cents).", + "x-example": 2599, + "format": "int32" + }, + "transferStatus": { + "type": "string", + "description": "Transfer status for domains being transferred in.", + "x-example": "pending_registry", + "enum": [ + "transferrable", + "not_transferrable", + "pending_owner", + "pending_admin", + "pending_registry", + "completed", + "cancelled", + "service_unavailable" + ], + "x-enum-name": "DomainTransferStatusEnum" }, - "group": { + "teamId": { "type": "string", - "description": "Group of this billing plan for variants", - "x-example": "pro", - "enum": [ - "starter", - "pro", - "scale" - ] + "description": "Team ID.", + "x-example": "5e5ea5c16897e" }, - "program": { - "type": "object", - "description": "Details of the program this plan is a part of.", - "x-example": null, + "dnsRecords": { + "type": "array", + "description": "Dns records", "items": { "type": "object", - "$ref": "#\/definitions\/program" + "$ref": "#\/definitions\/dnsRecord" }, - "x-nullable": true + "x-example": [] } }, "required": [ "$id", - "name", - "desc", - "order", - "price", - "trial", - "bandwidth", - "storage", - "imageTransformations", - "screenshotsGenerated", - "members", - "webhooks", - "projects", - "platforms", - "users", - "teams", - "databases", - "databasesReads", - "databasesWrites", - "databasesBatchSize", - "buckets", - "fileSize", - "functions", - "sites", - "executions", - "executionsRetentionCount", - "GBHours", - "realtime", - "realtimeMessages", - "messages", - "topics", - "authPhone", - "domains", - "logs", - "projectInactivityDays", - "alertLimit", - "usage", - "addons", - "budgetCapEnabled", - "customSmtp", - "emailBranding", - "requiresPaymentMethod", - "requiresBillingAddress", - "isAvailable", - "selfService", - "premiumSupport", - "budgeting", - "supportsMockNumbers", - "supportsOrganizationRoles", - "supportsCredits", - "supportsDisposableEmailValidation", - "supportsCanonicalEmailValidation", - "supportsFreeEmailValidation", - "backupsEnabled", - "usagePerProject", - "supportedAddons", - "backupPolicies", - "deploymentSize", - "buildSize", - "databasesAllowEncrypt", - "group" + "$createdAt", + "$updatedAt", + "domain", + "registrar", + "nameservers", + "expire", + "renewal", + "autoRenewal", + "renewalPrice", + "transferStatus", + "teamId", + "dnsRecords" ], "example": { - "$id": "tier-0", - "name": "Hobby", - "desc": "Hobby plan", - "order": 0, - "price": 25, - "trial": 14, - "bandwidth": 25, - "storage": 25, - "imageTransformations": 100, - "screenshotsGenerated": 50, - "members": 25, - "webhooks": 25, - "projects": 2, - "platforms": 3, - "users": 25, - "teams": 25, - "databases": 25, - "databasesReads": 500000, - "databasesWrites": 250000, - "databasesBatchSize": 100, - "buckets": 25, - "fileSize": 25, - "functions": 25, - "sites": 1, - "executions": 25, - "executionsRetentionCount": 10000, - "GBHours": 100, - "realtime": 25, - "realtimeMessages": 100000, - "messages": 1000, - "topics": 1, - "authPhone": 10, - "domains": 5, - "logs": 25, - "projectInactivityDays": 7, - "alertLimit": 80, - "usage": null, - "addons": null, - "budgetCapEnabled": true, - "customSmtp": true, - "emailBranding": true, - "requiresPaymentMethod": true, - "requiresBillingAddress": true, - "isAvailable": true, - "selfService": true, - "premiumSupport": true, - "budgeting": true, - "supportsMockNumbers": true, - "supportsOrganizationRoles": true, - "supportsCredits": true, - "supportsDisposableEmailValidation": true, - "supportsCanonicalEmailValidation": true, - "supportsFreeEmailValidation": true, - "backupsEnabled": true, - "usagePerProject": true, - "supportedAddons": null, - "backupPolicies": true, - "deploymentSize": 30, - "buildSize": 2000, - "databasesAllowEncrypt": false, - "limits": null, - "group": "pro", - "program": null + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "domain": "example.com", + "registrar": "appwrite", + "nameservers": "Appwrite", + "expire": "2020-10-15T06:38:00.000+00:00", + "renewal": "2020-10-15T06:38:00.000+00:00", + "autoRenewal": true, + "renewalPrice": 2599, + "transferStatus": "pending_registry", + "teamId": "5e5ea5c16897e", + "dnsRecords": [] } }, - "billingPlanAddon": { - "description": "BillingPlanAddon", + "domainPrice": { + "description": "DomainPrice", "type": "object", "properties": { - "seats": { - "type": "object", - "description": "Addon seats", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/billingPlanAddonDetails" - } + "domain": { + "type": "string", + "description": "Domain name.", + "x-example": "example.com" }, - "projects": { - "type": "object", - "description": "Addon projects", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/billingPlanAddonDetails" - } + "tld": { + "type": "string", + "description": "Top-level domain for the requested domain.", + "x-example": "com" + }, + "available": { + "type": "boolean", + "description": "Whether the domain is currently available for registration.", + "x-example": true + }, + "price": { + "type": "number", + "description": "Domain registration price.", + "x-example": 25.99, + "format": "double" + }, + "periodYears": { + "type": "integer", + "description": "Price period in years.", + "x-example": 1, + "format": "int32" + }, + "premium": { + "type": "boolean", + "description": "Whether the domain is a premium domain.", + "x-example": false } }, "required": [ - "seats", - "projects" + "domain", + "tld", + "available", + "price", + "periodYears", + "premium" ], "example": { - "seats": null, - "projects": null + "domain": "example.com", + "tld": "com", + "available": true, + "price": 25.99, + "periodYears": 1, + "premium": false } }, - "billingPlanAddonDetails": { - "description": "BillingPlanAddonDetails", + "domainPurchase": { + "description": "DomainPurchase", "type": "object", "properties": { - "supported": { - "type": "boolean", - "description": "Is the addon supported in the plan?", - "x-example": true + "$id": { + "type": "string", + "description": "Purchase\/invoice ID.", + "x-example": "5e5ea5c16897e" }, - "planIncluded": { - "type": "integer", - "description": "Addon plan included value", - "x-example": 1, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Purchase creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "limit": { - "type": "integer", - "description": "Addon limit", - "x-example": 5, - "format": "int32" + "$updatedAt": { + "type": "string", + "description": "Purchase update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "type": { + "domainId": { "type": "string", - "description": "Addon type", - "x-example": "numeric" + "description": "Domain document ID.", + "x-example": "5e5ea5c16897e" }, - "currency": { + "domain": { "type": "string", - "description": "Price currency", - "x-example": "USD" + "description": "Domain name.", + "x-example": "example.com" }, - "price": { - "type": "number", - "description": "Price", - "x-example": 5, - "format": "double" + "organizationId": { + "type": "string", + "description": "Team ID that owns the domain.", + "x-example": "5e5ea5c16897e" }, - "value": { - "type": "integer", - "description": "Resource value", - "x-example": 25, - "format": "int32" + "status": { + "type": "string", + "description": "Domain purchase status.", + "x-example": "pending", + "enum": [ + "pending", + "succeeded", + "failed", + "cancelled" + ], + "x-enum-name": "DomainPurchaseStatus" }, - "invoiceDesc": { + "clientSecret": { "type": "string", - "description": "Description on invoice", + "description": "Stripe client secret for 3DS; empty when not applicable.", "x-example": "" + }, + "amount": { + "type": "number", + "description": "Purchase amount.", + "x-example": 25.99, + "format": "double" + }, + "currency": { + "type": "string", + "description": "Currency code.", + "x-example": "USD" } }, "required": [ - "supported", - "planIncluded", - "limit", - "type", - "currency", - "price", - "value", - "invoiceDesc" + "$id", + "$createdAt", + "$updatedAt", + "domainId", + "domain", + "organizationId", + "status", + "clientSecret", + "amount", + "currency" ], "example": { - "supported": true, - "planIncluded": 1, - "limit": 5, - "type": "numeric", - "currency": "USD", - "price": 5, - "value": 25, - "invoiceDesc": "" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "domainId": "5e5ea5c16897e", + "domain": "example.com", + "organizationId": "5e5ea5c16897e", + "status": "pending", + "clientSecret": "", + "amount": 25.99, + "currency": "USD" } }, - "billingPlanLimits": { - "description": "BillingPlanLimits", + "domainSuggestion": { + "description": "DomainSuggestion", "type": "object", "properties": { - "credits": { - "type": "integer", - "description": "Credits limit per billing cycle", - "x-example": 100, - "format": "int32", - "x-nullable": true + "domain": { + "type": "string", + "description": "Domain suggestion.", + "x-example": "example.com" }, - "dailyCredits": { - "type": "integer", - "description": "Daily credits limit (if applicable)", - "x-example": 5, - "format": "int32", + "premium": { + "type": "boolean", + "description": "Is the domain premium?", + "x-example": true + }, + "price": { + "type": "number", + "description": "Domain price.", + "x-example": 25.99, + "format": "double", "x-nullable": true + }, + "available": { + "type": "boolean", + "description": "Is the domain available?", + "x-example": true } }, + "required": [ + "domain", + "premium", + "available" + ], "example": { - "credits": 100, - "dailyCredits": 5 + "domain": "example.com", + "premium": true, + "price": 25.99, + "available": true } }, - "billingPlanSupportedAddons": { - "description": "BillingPlanSupportedAddons", + "domainTransferOut": { + "description": "domainTransferOut", "type": "object", "properties": { - "baa": { - "type": "boolean", - "description": "Whether the plan supports BAA (Business Associate Agreement) addon", - "x-example": true + "authCode": { + "type": "string", + "description": "Domain transfer authorization code.", + "x-example": "mock_1a2b3c4d" } }, "required": [ - "baa" + "authCode" ], "example": { - "baa": true + "authCode": "mock_1a2b3c4d" } }, - "billingLimits": { - "description": "BillingLimits", + "domainTransferStatus": { + "description": "domainTransferStatus", "type": "object", "properties": { - "bandwidth": { - "type": "integer", - "description": "Bandwidth limit", - "x-example": 5, - "format": "int32" - }, - "storage": { - "type": "integer", - "description": "Storage limit", - "x-example": 150, - "format": "int32" - }, - "users": { - "type": "integer", - "description": "Users limit", - "x-example": 200000, - "format": "int32" - }, - "executions": { - "type": "integer", - "description": "Executions limit", - "x-example": 750000, - "format": "int32" - }, - "GBHours": { - "type": "integer", - "description": "GBHours limit", - "x-example": 100, - "format": "int32" - }, - "imageTransformations": { - "type": "integer", - "description": "Image transformations limit", - "x-example": 100, - "format": "int32" + "status": { + "type": "string", + "description": "Transfer status.", + "x-example": "pending_registry", + "enum": [ + "transferrable", + "not_transferrable", + "pending_owner", + "pending_admin", + "pending_registry", + "completed", + "cancelled", + "service_unavailable" + ], + "x-enum-name": "DomainTransferStatusEnum" }, - "authPhone": { - "type": "integer", - "description": "Auth phone limit", - "x-example": 10, - "format": "int32" + "reason": { + "type": "string", + "description": "Additional transfer status information.", + "x-example": "Transfer in progress" }, - "budgetLimit": { - "type": "integer", - "description": "Budget limit percentage", - "x-example": 100, - "format": "int32" + "timestamp": { + "type": "string", + "description": "Transfer status timestamp in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" } }, "required": [ - "bandwidth", - "storage", - "users", - "executions", - "GBHours", - "imageTransformations", - "authPhone", - "budgetLimit" + "status", + "reason", + "timestamp" ], "example": { - "bandwidth": 5, - "storage": 150, - "users": 200000, - "executions": 750000, - "GBHours": 100, - "imageTransformations": 100, - "authPhone": 10, - "budgetLimit": 100 + "status": "pending_registry", + "reason": "Transfer in progress", + "timestamp": "2020-10-15T06:38:00.000+00:00" } }, - "block": { - "description": "Block", + "downgradeFeedback": { + "description": "Downgrade Feedback", "type": "object", "properties": { + "$id": { + "type": "string", + "description": "Feedback ID.", + "x-example": "5e5ea5c16897e" + }, "$createdAt": { "type": "string", - "description": "Block creation date in ISO 8601 format.", + "description": "Feedback creation date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "resourceType": { - "type": "string", - "description": "Resource type that is blocked", - "x-example": "project" - }, - "resourceId": { + "$updatedAt": { "type": "string", - "description": "Resource identifier that is blocked", - "x-example": "5e5ea5c16897e" + "description": "Feedback update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "reason": { + "title": { "type": "string", - "description": "Reason for the block. Can be null if no reason was provided.", - "x-example": "Payment overdue", - "x-nullable": true + "description": "Feedback reason", + "x-example": "I encountered a bug and outage that caused my app to lose its value" }, - "expiredAt": { + "message": { "type": "string", - "description": "Block expiration date in ISO 8601 format. Can be null if the block does not expire.", - "x-example": "2020-10-15T06:38:00.000+00:00", - "x-nullable": true + "description": "Feedback message", + "x-example": "The platform experienced significant downtime which affected my users." }, - "projectName": { + "fromPlanId": { "type": "string", - "description": "Name of the project this block applies to.", - "x-example": "My Project" + "description": "Plan ID downgrading from", + "x-example": "pro" }, - "region": { + "toPlanId": { "type": "string", - "description": "Region of the project this block applies to.", - "x-example": "fra" + "description": "Plan ID downgrading to", + "x-example": "free" }, - "organizationName": { + "teamId": { "type": "string", - "description": "Name of the organization that owns the project.", - "x-example": "Acme Inc." + "description": "Organization ID", + "x-example": "5e5ea5c16897e" }, - "organizationId": { + "userId": { "type": "string", - "description": "ID of the organization that owns the project.", + "description": "User ID who submitted feedback", "x-example": "5e5ea5c16897e" }, - "billingPlan": { + "version": { "type": "string", - "description": "Billing plan of the organization that owns the project.", - "x-example": "pro" + "description": "Console version", + "x-example": "1.8.0" } }, "required": [ + "$id", "$createdAt", - "resourceType", - "resourceId", - "projectName", - "region", - "organizationName", - "organizationId", - "billingPlan" + "$updatedAt", + "title", + "message", + "fromPlanId", + "toPlanId", + "teamId", + "userId", + "version" ], "example": { + "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", - "resourceType": "project", - "resourceId": "5e5ea5c16897e", - "reason": "Payment overdue", - "expiredAt": "2020-10-15T06:38:00.000+00:00", - "projectName": "My Project", - "region": "fra", - "organizationName": "Acme Inc.", - "organizationId": "5e5ea5c16897e", - "billingPlan": "pro" + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "title": "I encountered a bug and outage that caused my app to lose its value", + "message": "The platform experienced significant downtime which affected my users.", + "fromPlanId": "pro", + "toPlanId": "free", + "teamId": "5e5ea5c16897e", + "userId": "5e5ea5c16897e", + "version": "1.8.0" } }, - "blockDelete": { - "description": "BlockDelete", + "estimation": { + "description": "Estimation", "type": "object", "properties": { - "deleted": { - "type": "integer", - "description": "Number of blocks deleted", - "x-example": 1, - "format": "int32" + "amount": { + "type": "number", + "description": "Total amount", + "x-example": 50, + "format": "double" }, - "blocks": { + "grossAmount": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" + }, + "discount": { + "type": "number", + "description": "Discount amount", + "x-example": 50, + "format": "double" + }, + "credits": { + "type": "number", + "description": "Credits amount", + "x-example": 50, + "format": "double" + }, + "items": { "type": "array", - "description": "List of deleted blocks", + "description": "Estimation items", "items": { "type": "object", - "$ref": "#\/definitions\/block" + "$ref": "#\/definitions\/estimation_item" }, "x-example": [] + }, + "discounts": { + "type": "array", + "description": "Estimation discount items", + "items": { + "type": "object", + "$ref": "#\/definitions\/estimation_item" + }, + "x-example": [] + }, + "trialDays": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" + }, + "trialEndDate": { + "type": "string", + "description": "Trial end date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true } }, "required": [ - "deleted", - "blocks" + "amount", + "grossAmount", + "discount", + "credits", + "items", + "discounts", + "trialDays" ], "example": { - "deleted": 1, - "blocks": [] + "amount": 50, + "grossAmount": 50, + "discount": 50, + "credits": 50, + "items": [], + "discounts": [], + "trialDays": 14, + "trialEndDate": "2020-10-15T06:38:00.000+00:00" } }, - "campaign": { - "description": "Campaign", + "estimationDeleteOrganization": { + "description": "DeleteOrganization", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Campaign ID", - "x-example": "" - }, - "template": { - "type": "string", - "description": "Campaign template", - "x-example": "" - }, - "title": { - "type": "string", - "description": "Campaign title", - "x-example": "" - }, - "description": { - "type": "string", - "description": "Campaign description", - "x-example": "" - }, - "plan": { - "type": "string", - "description": "Billing plan campaign is associated with", - "x-example": "", - "x-nullable": true - }, - "cta": { - "type": "string", - "description": "Campaign CTA", - "x-example": "", - "x-nullable": true - }, - "claimed": { - "type": "string", - "description": "Campaign info when claimed", - "x-example": "", - "x-nullable": true - }, - "unclaimed": { - "type": "string", - "description": "Campaign infor when unclaimed", - "x-example": "", - "x-nullable": true - }, - "image": { - "type": "object", - "additionalProperties": true, - "description": "Campaign images", - "x-example": "" - }, - "reviews": { + "unpaidInvoices": { "type": "array", - "description": "Campaign reviews", + "description": "List of unpaid invoices", "items": { "type": "object", - "$ref": "#\/definitions\/review" + "$ref": "#\/definitions\/invoice" }, - "x-example": "", - "x-nullable": true - }, - "onlyNewOrgs": { - "type": "boolean", - "description": "Campaign valid only for new orgs.", - "x-example": "", - "x-nullable": true - }, - "footer": { - "type": "boolean", - "description": "Is footer", - "x-example": "", - "x-nullable": true + "x-example": [] } }, "required": [ - "$id", - "template", - "title", - "description" + "unpaidInvoices" ], "example": { - "$id": "", - "template": "", - "title": "", - "description": "", - "plan": "", - "cta": "", - "claimed": "", - "unclaimed": "", - "image": "", - "reviews": "", - "onlyNewOrgs": "", - "footer": "" + "unpaidInvoices": [] } }, - "program": { - "description": "Program", + "estimation_item": { + "description": "Item", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Program ID", - "x-example": "" - }, - "title": { - "type": "string", - "description": "Program title", - "x-example": "" - }, - "description": { - "type": "string", - "description": "Program description", - "x-example": "" - }, - "tag": { - "type": "string", - "description": "Program tag for highlighting on console", - "x-example": null - }, - "icon": { - "type": "string", - "description": "Program icon for highlighting on console", - "x-example": null - }, - "url": { + "label": { "type": "string", - "description": "URL for more information on this program", - "x-example": "" - }, - "active": { - "type": "boolean", - "description": "Whether this program is active", - "x-example": false - }, - "external": { - "type": "boolean", - "description": "Whether this program is external", - "x-example": false + "description": "Label", + "x-example": "Plan name" }, - "billingPlanId": { - "type": "string", - "description": "Billing plan ID that this is program is associated with.", - "x-example": "" + "value": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" } }, "required": [ - "$id", - "title", - "description", - "tag", - "icon", - "url", - "active", - "external", - "billingPlanId" + "label", + "value" ], "example": { - "$id": "", - "title": "", - "description": "", - "tag": null, - "icon": null, - "url": "", - "active": false, - "external": false, - "billingPlanId": "" + "label": "Plan name", + "value": 50 } }, - "coupon": { - "description": "Coupon", + "estimationPlanChange": { + "description": "EstimationPlanChange", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" - }, - "code": { + "currentBillingPlanId": { "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" - }, - "credits": { - "type": "number", - "description": "Provided credit amount", - "x-example": 50, - "format": "double" + "description": "Current billing plan ID", + "x-example": "tier-2" }, - "expiration": { + "targetBillingPlanId": { "type": "string", - "description": "Coupon expiration time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "validity": { - "type": "integer", - "description": "Credit validity in days.", - "x-example": 180, - "format": "int32" + "description": "Target billing plan ID", + "x-example": "tier-0" }, - "campaign": { + "direction": { "type": "string", - "description": "Campaign the coupon is associated with`.", - "x-example": "AppwriteHeroes" + "description": "Direction of plan change: upgrade, downgrade, or same", + "x-example": "downgrade" }, - "status": { - "type": "string", - "description": "Status of the coupon. Can be one of `disabled`, `active` or `expired`.", - "x-example": "disabled" + "estimation": { + "type": "object", + "description": "Cost estimation details", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/planChangeEstimationDetails" + } }, - "onlyNewOrgs": { - "type": "boolean", - "description": "If the coupon is only valid for new organizations or not.", - "x-example": true + "limits": { + "type": "object", + "description": "Plan limits and compliance information", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/planChangeLimits" + } } }, "required": [ - "$id", - "code", - "credits", - "expiration", - "validity", - "campaign", - "status", - "onlyNewOrgs" + "currentBillingPlanId", + "targetBillingPlanId", + "direction", + "estimation", + "limits" ], "example": { - "$id": "NEWBONUS", - "code": "NEWBONUS", - "credits": 50, - "expiration": "2020-10-15T06:38:00.000+00:00", - "validity": 180, - "campaign": "AppwriteHeroes", - "status": "disabled", - "onlyNewOrgs": true + "currentBillingPlanId": "tier-2", + "targetBillingPlanId": "tier-0", + "direction": "downgrade", + "estimation": null, + "limits": null } }, - "credit": { - "description": "Credit", + "estimationUpdatePlan": { + "description": "UpdatePlan", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Credit ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Credit creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Credit update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$permissions": { - "type": "array", - "description": "Credit permissions. [Learn more about permissions](\/docs\/permissions).", - "items": { - "type": "string" - }, - "x-example": [ - "read(\"any\")" - ] - }, - "couponId": { - "type": "string", - "description": "coupon ID", - "x-example": "NEWBONUS" - }, - "userId": { - "type": "string", - "description": "ID of the User.", - "x-example": "5e5ea5c16897e" + "amount": { + "type": "number", + "description": "Total amount", + "x-example": 50, + "format": "double" }, - "teamId": { - "type": "string", - "description": "ID of the Team.", - "x-example": "5e5ea5c16897e" + "grossAmount": { + "type": "number", + "description": "Gross payable amount", + "x-example": 50, + "format": "double" }, - "credits": { + "discount": { "type": "number", - "description": "Provided credit amount", + "description": "Discount amount", "x-example": 50, "format": "double" }, - "total": { + "credits": { "type": "number", - "description": "Provided credit amount", + "description": "Credits amount", "x-example": 50, "format": "double" }, - "expiration": { - "type": "string", - "description": "Credit expiration time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "items": { + "type": "array", + "description": "Estimation items", + "items": { + "type": "object", + "$ref": "#\/definitions\/estimation_item" + }, + "x-example": [] }, - "status": { + "discounts": { + "type": "array", + "description": "Estimation discount items", + "items": { + "type": "object", + "$ref": "#\/definitions\/estimation_item" + }, + "x-example": [] + }, + "trialDays": { + "type": "integer", + "description": "Trial days", + "x-example": 14, + "format": "int32" + }, + "trialEndDate": { "type": "string", - "description": "Status of the credit. Can be one of `disabled`, `active` or `expired`.", - "x-example": "disabled" + "description": "Trial end date", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + }, + "organizationCredits": { + "type": "number", + "description": "Organization's existing credits", + "x-example": 0, + "format": "double" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "couponId", - "userId", - "teamId", + "amount", + "grossAmount", + "discount", "credits", - "total", - "expiration", - "status" + "items", + "discounts", + "trialDays", + "organizationCredits" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "couponId": "NEWBONUS", - "userId": "5e5ea5c16897e", - "teamId": "5e5ea5c16897e", + "amount": 50, + "grossAmount": 50, + "discount": 50, "credits": 50, - "total": 50, - "expiration": "2020-10-15T06:38:00.000+00:00", - "status": "disabled" + "items": [], + "discounts": [], + "trialDays": 14, + "trialEndDate": "2020-10-15T06:38:00.000+00:00", + "organizationCredits": 0 } }, - "creditAvailable": { - "description": "CreditAvailable", + "dedicatedDatabaseExtensions": { + "description": "Extensions", "type": "object", "properties": { + "installed": { + "type": "array", + "description": "List of installed extensions.", + "items": { + "type": "string" + }, + "x-example": [ + "pgvector", + "uuid-ossp" + ] + }, "available": { - "type": "integer", - "description": "Total available credits for the organization.", - "x-example": 100, - "format": "int32" + "type": "array", + "description": "List of available extensions that can be installed.", + "items": { + "type": "string" + }, + "x-example": [ + "postgis", + "pg_trgm" + ] } }, "required": [ + "installed", "available" ], "example": { - "available": 100 + "installed": [ + "pgvector", + "uuid-ossp" + ], + "available": [ + "postgis", + "pg_trgm" + ] } }, - "creditList": { - "description": "CreditList", + "dedicatedDatabaseHAReplica": { + "description": "HAReplica", "type": "object", "properties": { - "credits": { - "type": "array", - "description": "Credits", - "items": { - "type": "object", - "$ref": "#\/definitions\/credit" - }, - "x-example": 5 + "$id": { + "type": "string", + "description": "Replica identifier.", + "x-example": "replica-1" }, - "total": { - "type": "integer", - "description": "Total number of credits", - "x-example": 5, - "format": "int32" + "role": { + "type": "string", + "description": "Replica role. Possible values: primary (accepts reads and writes), replica (read-only follower).", + "x-example": "replica" }, - "available": { + "status": { + "type": "string", + "description": "Replica health status. Possible values: healthy (fully synced), degraded (lagging behind primary), unhealthy (replication broken or unreachable).", + "x-example": "healthy" + }, + "lagSeconds": { "type": "number", - "description": "Total available credit balance in USD", - "x-example": 5, + "description": "Replication lag in seconds.", + "x-example": 0.5, "format": "double" } }, "required": [ - "credits", - "total", - "available" + "$id", + "role", + "status", + "lagSeconds" ], "example": { - "credits": 5, - "total": 5, - "available": 5 + "$id": "replica-1", + "role": "replica", + "status": "healthy", + "lagSeconds": 0.5 } }, - "downgradeFeedback": { - "description": "Downgrade Feedback", + "dedicatedDatabaseHAStatus": { + "description": "HAStatus", "type": "object", "properties": { - "$id": { - "type": "string", - "description": "Feedback ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Feedback creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Feedback update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "title": { - "type": "string", - "description": "Feedback reason", - "x-example": "I encountered a bug and outage that caused my app to lose its value" - }, - "message": { - "type": "string", - "description": "Feedback message", - "x-example": "The platform experienced significant downtime which affected my users." - }, - "fromPlanId": { - "type": "string", - "description": "Plan ID downgrading from", - "x-example": "pro" - }, - "toPlanId": { - "type": "string", - "description": "Plan ID downgrading to", - "x-example": "free" + "enabled": { + "type": "boolean", + "description": "Whether high availability is enabled.", + "x-example": true }, - "teamId": { - "type": "string", - "description": "Organization ID", - "x-example": "5e5ea5c16897e" + "replicaCount": { + "type": "integer", + "description": "Number of configured replicas.", + "x-example": 2, + "format": "int32" }, - "userId": { + "syncMode": { "type": "string", - "description": "User ID who submitted feedback", - "x-example": "5e5ea5c16897e" + "description": "Replication sync mode. Possible values: async (asynchronous, fastest), sync (synchronous, strong consistency), quorum (quorum-based, majority of replicas must confirm).", + "x-example": "async" }, - "version": { - "type": "string", - "description": "Console version", - "x-example": "1.8.0" + "replicas": { + "type": "array", + "description": "List of replica statuses.", + "items": { + "type": "object", + "$ref": "#\/definitions\/dedicatedDatabaseHAReplica" + }, + "x-example": [] } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "title", - "message", - "fromPlanId", - "toPlanId", - "teamId", - "userId", - "version" + "enabled", + "replicaCount", + "syncMode", + "replicas" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "title": "I encountered a bug and outage that caused my app to lose its value", - "message": "The platform experienced significant downtime which affected my users.", - "fromPlanId": "pro", - "toPlanId": "free", - "teamId": "5e5ea5c16897e", - "userId": "5e5ea5c16897e", - "version": "1.8.0" + "enabled": true, + "replicaCount": 2, + "syncMode": "async", + "replicas": [] } }, "invoice": { @@ -96224,7 +102295,8 @@ "items": { "type": "object", "$ref": "#\/definitions\/billingLimits" - } + }, + "x-nullable": true }, "billingPlanDowngrade": { "type": "string", @@ -96285,7 +102357,6 @@ "programManagerCalendar", "programDiscordChannelName", "programDiscordChannelUrl", - "billingLimits", "billingPlanDowngrade", "billingTaxId", "markedForDeletion", @@ -96469,1237 +102540,1257 @@ }, "state": { "type": "string", - "description": "State of the payment method", - "x-example": "" - }, - "lastError": { - "type": "string", - "description": "Last payment error associated with the payment method.", - "x-example": "Your card has insufficient funds." - }, - "default": { - "type": "boolean", - "description": "True when it's the default payment method.", - "x-example": false - }, - "expired": { - "type": "boolean", - "description": "True when payment method has expired.", - "x-example": false - }, - "failed": { - "type": "boolean", - "description": "True when payment method has failed to process multiple times.", - "x-example": false - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "providerMethodId", - "clientSecret", - "providerUserId", - "userId", - "expiryMonth", - "expiryYear", - "last4", - "brand", - "name", - "mandateId", - "country", - "state", - "lastError", - "default", - "expired", - "failed" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "providerMethodId": "abdk3ed3sdkfj", - "clientSecret": "seti_ddfe", - "providerUserId": "abdk3ed3sdkfj", - "userId": "5e5ea5c16897e", - "expiryMonth": 2, - "expiryYear": 2024, - "last4": "4242", - "brand": "visa", - "name": "John Doe", - "mandateId": "yxc", - "country": "de", - "state": "", - "lastError": "Your card has insufficient funds.", - "default": false, - "expired": false, - "failed": false - } - }, - "backupPolicy": { - "description": "backup", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Backup policy ID.", - "x-example": "5e5ea5c16897e" - }, - "name": { - "type": "string", - "description": "Backup policy name.", - "x-example": "Hourly backups" - }, - "$createdAt": { - "type": "string", - "description": "Policy creation date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Policy update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "services": { - "type": "array", - "description": "The services that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" - }, - "resources": { - "type": "array", - "description": "The resources that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" - }, - "resourceId": { - "type": "string", - "description": "The resource ID to backup. Set only if this policy should backup a single resource.", - "x-example": "DB1", - "x-nullable": true - }, - "resourceType": { - "type": "string", - "description": "The resource type to backup. Set only if this policy should backup a single resource.", - "x-example": "database", - "x-nullable": true - }, - "retention": { - "type": "integer", - "description": "How many days to keep the backup before it will be automatically deleted.", - "x-example": 7, - "format": "int32" - }, - "schedule": { - "type": "string", - "description": "Policy backup schedule in CRON format.", - "x-example": "0 * * * *" - }, - "enabled": { - "type": "boolean", - "description": "Is this policy enabled.", - "x-example": true - } - }, - "required": [ - "$id", - "name", - "$createdAt", - "$updatedAt", - "services", - "resources", - "retention", - "schedule", - "enabled" - ], - "example": { - "$id": "5e5ea5c16897e", - "name": "Hourly backups", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "resourceId": "DB1", - "resourceType": "database", - "retention": 7, - "schedule": "0 * * * *", - "enabled": true - } - }, - "consoleRegion": { - "description": "Region", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Region ID", - "x-example": "eu-fr" - }, - "name": { - "type": "string", - "description": "Region name", - "x-example": "EU (Frankfurt)" - }, - "available": { - "type": "boolean", - "description": "Does the organization have access to this region.", - "x-example": false - }, - "disabled": { - "type": "boolean", - "description": "Does the backend support this region.", - "x-example": false - }, - "default": { - "type": "boolean", - "description": "Is this the region default.", - "x-example": true - }, - "flag": { - "type": "string", - "description": "Region flag code.", - "x-example": "fr" - } - }, - "required": [ - "$id", - "name", - "available", - "disabled", - "default", - "flag" - ], - "example": { - "$id": "eu-fr", - "name": "EU (Frankfurt)", - "available": false, - "disabled": false, - "default": true, - "flag": "fr" - } - }, - "backupRestoration": { - "description": "Restoration", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Restoration ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Restoration creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Restoration update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "archiveId": { - "type": "string", - "description": "Backup archive ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "policyId": { - "type": "string", - "description": "Backup policy ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "status": { - "type": "string", - "description": "The status of the restoration. Possible values: pending, downloading, processing, completed, failed.", - "x-example": "completed" - }, - "startedAt": { - "type": "string", - "description": "The backup start time.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "migrationId": { - "type": "string", - "description": "Migration ID.", - "x-example": "did8jx6ws45jana098ab7" - }, - "services": { - "type": "array", - "description": "The services that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'storage']" - }, - "resources": { - "type": "array", - "description": "The resources that are backed up by this policy.", - "items": { - "type": "string" - }, - "x-example": "['databases', 'collections', 'attributes', 'indexes']" - }, - "options": { - "type": "string", - "description": "Optional data in key-value object. ", - "x-example": "{databases.database[{oldId, newId, newName}]}" - } - }, - "required": [ - "$id", - "$createdAt", - "$updatedAt", - "archiveId", - "policyId", - "status", - "startedAt", - "migrationId", - "services", - "resources", - "options" - ], - "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "archiveId": "did8jx6ws45jana098ab7", - "policyId": "did8jx6ws45jana098ab7", - "status": "completed", - "startedAt": "2020-10-15T06:38:00.000+00:00", - "migrationId": "did8jx6ws45jana098ab7", - "services": "['databases', 'storage']", - "resources": "['databases', 'collections', 'attributes', 'indexes']", - "options": "{databases.database[{oldId, newId, newName}]}" - } - }, - "review": { - "description": "Review", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of user", - "x-example": "" - }, - "image": { - "type": "string", - "description": "Reviewer image", - "x-example": "" - }, - "description": { - "type": "string", - "description": "Reviewer description", + "description": "State of the payment method", "x-example": "" }, - "review": { + "lastError": { "type": "string", - "description": "Review", - "x-example": "" - } - }, - "required": [ - "name", - "image", - "description", - "review" - ], - "example": { - "name": "", - "image": "", - "description": "", - "review": "" - } - }, - "roles": { - "description": "Roles", - "type": "object", - "properties": { - "scopes": { - "type": "array", - "description": "Array of scopes accessible to current user.", - "items": { - "type": "string" - }, - "x-example": "users.read" + "description": "Last payment error associated with the payment method.", + "x-example": "Your card has insufficient funds." }, - "roles": { - "type": "array", - "description": "Array of roles assigned to current user.", - "items": { - "type": "string" - }, - "x-example": "developer" + "default": { + "type": "boolean", + "description": "True when it's the default payment method.", + "x-example": false + }, + "expired": { + "type": "boolean", + "description": "True when payment method has expired.", + "x-example": false + }, + "failed": { + "type": "boolean", + "description": "True when payment method has failed to process multiple times.", + "x-example": false } }, "required": [ - "scopes", - "roles" + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "providerMethodId", + "clientSecret", + "providerUserId", + "userId", + "expiryMonth", + "expiryYear", + "last4", + "brand", + "name", + "mandateId", + "country", + "state", + "lastError", + "default", + "expired", + "failed" ], "example": { - "scopes": "users.read", - "roles": "developer" + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "providerMethodId": "abdk3ed3sdkfj", + "clientSecret": "seti_ddfe", + "providerUserId": "abdk3ed3sdkfj", + "userId": "5e5ea5c16897e", + "expiryMonth": 2, + "expiryYear": 2024, + "last4": "4242", + "brand": "visa", + "name": "John Doe", + "mandateId": "yxc", + "country": "de", + "state": "", + "lastError": "Your card has insufficient funds.", + "default": false, + "expired": false, + "failed": false } }, - "usageOrganization": { - "description": "UsageOrganization", + "dedicatedDatabasePerformanceInsights": { + "description": "PerformanceInsights", "type": "object", "properties": { - "bandwidth": { - "type": "array", - "description": "Aggregated stats for number of requests.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "users": { - "type": "array", - "description": "Aggregated stats for consumed bandwidth.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "executions": { - "type": "array", - "description": "Aggregated stats for function executions.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "databasesReads": { - "type": "array", - "description": "Aggregated stats for database reads.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "databasesWrites": { - "type": "array", - "description": "Aggregated stats for database writes.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "imageTransformations": { - "type": "array", - "description": "Aggregated stats for file transformations.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] - }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" - }, - "screenshotsGenerated": { + "topQueries": { "type": "array", - "description": "Aggregated stats for file transformations.", + "description": "Top queries by total execution time.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/dedicatedDatabasePerformanceInsightsQuery" }, "x-example": [] }, - "screenshotsGeneratedTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" - }, - "imagineCredits": { + "waitEvents": { "type": "array", - "description": "Aggregated stats for imagine credits.", + "description": "Active wait events.", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/dedicatedDatabasePerformanceInsightsWaitEvent" }, "x-example": [] }, - "imagineCreditsTotal": { - "type": "integer", - "description": "Aggregated stats for total imagine credits.", - "x-example": 0, - "format": "int32" - }, - "usersTotal": { - "type": "integer", - "description": "Aggregated stats for total users.", - "x-example": 0, - "format": "int32" - }, - "executionsTotal": { + "totalCalls": { "type": "integer", - "description": "Aggregated stats for total executions.", - "x-example": 0, + "description": "Total number of query calls.", + "x-example": 150000, "format": "int32" }, - "executionsMBSecondsTotal": { - "type": "integer", - "description": "Aggregated stats for function executions in mb seconds.", - "x-example": 0, - "format": "int32" + "totalTimeMs": { + "type": "number", + "description": "Total query execution time in milliseconds.", + "x-example": 85432.12, + "format": "double" }, - "buildsMBSecondsTotal": { - "type": "integer", - "description": "Aggregated stats for function builds in mb seconds.", - "x-example": 0, - "format": "int32" + "avgTimeMs": { + "type": "number", + "description": "Average query execution time in milliseconds.", + "x-example": 0.57, + "format": "double" + } + }, + "required": [ + "topQueries", + "waitEvents", + "totalCalls", + "totalTimeMs", + "avgTimeMs" + ], + "example": { + "topQueries": [], + "waitEvents": [], + "totalCalls": 150000, + "totalTimeMs": 85432.12, + "avgTimeMs": 0.57 + } + }, + "dedicatedDatabasePerformanceInsightsQuery": { + "description": "PerformanceInsightsQuery", + "type": "object", + "properties": { + "query": { + "type": "string", + "description": "The SQL query text.", + "x-example": "SELECT * FROM users WHERE email = $1" }, - "filesStorageTotal": { + "calls": { "type": "integer", - "description": "Aggregated stats for total file storage.", - "x-example": 0, + "description": "Number of times this query has been executed.", + "x-example": 42, "format": "int32" }, - "buildsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total builds storage.", - "x-example": 0, - "format": "int32" + "totalTimeMs": { + "type": "number", + "description": "Total execution time in milliseconds.", + "x-example": 1523.4, + "format": "double" }, - "deploymentsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total deployments storage.", - "x-example": 0, - "format": "int32" + "meanTimeMs": { + "type": "number", + "description": "Mean execution time in milliseconds.", + "x-example": 36.27, + "format": "double" }, - "databasesStorageTotal": { + "rows": { "type": "integer", - "description": "Aggregated stats for total databases storage.", - "x-example": 0, + "description": "Total rows returned or affected.", + "x-example": 1250, "format": "int32" + } + }, + "required": [ + "query", + "calls", + "totalTimeMs", + "meanTimeMs", + "rows" + ], + "example": { + "query": "SELECT * FROM users WHERE email = $1", + "calls": 42, + "totalTimeMs": 1523.4, + "meanTimeMs": 36.27, + "rows": 1250 + } + }, + "dedicatedDatabasePerformanceInsightsWaitEvent": { + "description": "PerformanceInsightsWaitEvent", + "type": "object", + "properties": { + "event": { + "type": "string", + "description": "Wait event name.", + "x-example": "DataFileRead" }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" + "type": { + "type": "string", + "description": "Wait event type or category.", + "x-example": "IO" }, - "databasesWritesTotal": { + "count": { "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, + "description": "Number of occurrences.", + "x-example": 15, "format": "int32" }, - "backupsStorageTotal": { - "type": "integer", - "description": "Aggregated stats for total backups storage.", - "x-example": 0, - "format": "int32" + "totalWaitMs": { + "type": "number", + "description": "Total wait time in milliseconds.", + "x-example": 234.5, + "format": "double" + } + }, + "required": [ + "event", + "type", + "count", + "totalWaitMs" + ], + "example": { + "event": "DataFileRead", + "type": "IO", + "count": 15, + "totalWaitMs": 234.5 + } + }, + "dedicatedDatabasePITRWindows": { + "description": "PITRWindows", + "type": "object", + "properties": { + "earliest": { + "type": "string", + "description": "Earliest available recovery point.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "storageTotal": { - "type": "integer", - "description": "Aggregated stats for total storage.", - "x-example": 0, - "format": "int32" + "latest": { + "type": "string", + "description": "Latest available recovery point.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "earliest", + "latest" + ], + "example": { + "earliest": "2020-10-15T06:38:00.000+00:00", + "latest": "2020-10-15T06:38:00.000+00:00" + } + }, + "planChangeEstimationDetails": { + "description": "PlanChangeEstimationDetails", + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "Currency code", + "x-example": "USD" }, - "authPhoneTotal": { - "type": "integer", - "description": "Aggregated stats for total auth phone.", - "x-example": 0, - "format": "int32" + "grossAmount": { + "type": "number", + "description": "Gross amount after all discounts and credits", + "x-example": 15, + "format": "double" }, - "authPhoneEstimate": { - "type": "integer", - "description": "Aggregated stats for total auth phone estimation.", + "credits": { + "type": "number", + "description": "Credits applied from coupon", "x-example": 0, - "format": "int32" - }, - "projects": { - "type": "array", - "description": "Aggregated stats for each projects.", - "items": { - "type": "object", - "$ref": "#\/definitions\/usageOrganizationProject" - }, - "x-example": [] + "format": "double" }, - "realtimeConnections": { - "type": "array", - "description": "Aggregated stats for realtime connections.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "organizationCredits": { + "type": "number", + "description": "Organization's existing credits applied", + "x-example": 5, + "format": "double" }, - "realtimeConnectionsTotal": { - "type": "integer", - "description": "Aggregated stats for total realtime connections.", + "discount": { + "type": "number", + "description": "Discount amount from prorated invoices", "x-example": 0, - "format": "int32" + "format": "double" }, - "realtimeMessages": { - "type": "array", - "description": "Aggregated stats for realtime messages.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "amount": { + "type": "number", + "description": "Total amount before discounts and credits", + "x-example": 20, + "format": "double" }, - "realtimeMessagesTotal": { - "type": "integer", - "description": "Aggregated stats for total realtime messages.", - "x-example": 0, - "format": "int32" + "nextInvoiceDate": { + "type": "string", + "description": "Next invoice date", + "x-example": "2025-12-01T00:00:00.000Z" }, - "realtimeBandwidth": { - "type": "array", - "description": "Aggregated stats for realtime bandwidth.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "items": { + "type": "object", + "additionalProperties": true, + "description": "Line items breakdown", + "x-example": [ + { + "label": "Starter plan", + "value": 0 + }, + { + "label": "Additional seats", + "value": 10 + } + ] }, - "realtimeBandwidthTotal": { - "type": "integer", - "description": "Aggregated stats for total realtime bandwidth.", - "x-example": 0, - "format": "int32" + "discounts": { + "type": "object", + "additionalProperties": true, + "description": "Applied discounts breakdown", + "x-example": [ + { + "label": "Organization credits", + "value": 5 + } + ] } }, "required": [ - "bandwidth", - "users", - "executions", - "databasesReads", - "databasesWrites", - "imageTransformations", - "imageTransformationsTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "imagineCreditsTotal", - "usersTotal", - "executionsTotal", - "executionsMBSecondsTotal", - "buildsMBSecondsTotal", - "filesStorageTotal", - "buildsStorageTotal", - "deploymentsStorageTotal", - "databasesStorageTotal", - "databasesReadsTotal", - "databasesWritesTotal", - "backupsStorageTotal", - "storageTotal", - "authPhoneTotal", - "authPhoneEstimate", - "projects", - "realtimeConnections", - "realtimeConnectionsTotal", - "realtimeMessages", - "realtimeMessagesTotal", - "realtimeBandwidth", - "realtimeBandwidthTotal" + "currency", + "grossAmount", + "credits", + "organizationCredits", + "discount", + "amount", + "nextInvoiceDate", + "items", + "discounts" ], "example": { - "bandwidth": [], - "users": [], - "executions": [], - "databasesReads": [], - "databasesWrites": [], - "imageTransformations": [], - "imageTransformationsTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": [], - "imagineCreditsTotal": 0, - "usersTotal": 0, - "executionsTotal": 0, - "executionsMBSecondsTotal": 0, - "buildsMBSecondsTotal": 0, - "filesStorageTotal": 0, - "buildsStorageTotal": 0, - "deploymentsStorageTotal": 0, - "databasesStorageTotal": 0, - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "backupsStorageTotal": 0, - "storageTotal": 0, - "authPhoneTotal": 0, - "authPhoneEstimate": 0, - "projects": [], - "realtimeConnections": [], - "realtimeConnectionsTotal": 0, - "realtimeMessages": [], - "realtimeMessagesTotal": 0, - "realtimeBandwidth": [], - "realtimeBandwidthTotal": 0 + "currency": "USD", + "grossAmount": 15, + "credits": 0, + "organizationCredits": 5, + "discount": 0, + "amount": 20, + "nextInvoiceDate": "2025-12-01T00:00:00.000Z", + "items": [ + { + "label": "Starter plan", + "value": 0 + }, + { + "label": "Additional seats", + "value": 10 + } + ], + "discounts": [ + { + "label": "Organization credits", + "value": 5 + } + ] } }, - "usageOrganizationProject": { - "description": "UsageOrganizationProject", + "planChangeLimits": { + "description": "PlanChangeLimits", "type": "object", "properties": { - "projectId": { - "type": "string", - "description": "projectId", - "x-example": "5e5ea5c16897e" + "totalProjects": { + "type": "integer", + "description": "Total number of projects in the organization", + "x-example": 5, + "format": "int32" }, - "bandwidth": { + "nonCompliantProjects": { + "type": "integer", + "description": "Number of projects exceeding target plan limits", + "x-example": 2, + "format": "int32" + }, + "canChangePlan": { + "type": "boolean", + "description": "Whether the plan change is allowed", + "x-example": false + }, + "projects": { "type": "array", - "description": "Aggregated stats for number of requests.", + "description": "Project compliance details", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/planChangeProjectCompliance" }, "x-example": [] }, - "users": { + "unsupportedAddons": { "type": "array", - "description": "Aggregated stats for consumed bandwidth.", + "description": "Active addon keys that the target plan does not support. When non-empty, `canChangePlan` is false.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": [ + "baa" + ] + } + }, + "required": [ + "totalProjects", + "nonCompliantProjects", + "canChangePlan", + "projects", + "unsupportedAddons" + ], + "example": { + "totalProjects": 5, + "nonCompliantProjects": 2, + "canChangePlan": false, + "projects": [], + "unsupportedAddons": [ + "baa" + ] + } + }, + "planChangeProjectCompliance": { + "description": "PlanChangeProjectCompliance", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Project ID", + "x-example": "proj_a" }, - "executions": { - "type": "integer", - "description": "Aggregated stats for function executions.", - "x-example": [], - "format": "int32" + "name": { + "type": "string", + "description": "Project name", + "x-example": "Marketing Site" }, - "databasesReads": { - "type": "array", - "description": "Aggregated stats for database reads.", - "items": { - "type": "object", - "$ref": "#\/definitions\/metric" - }, - "x-example": [] + "isCompliant": { + "type": "boolean", + "description": "Whether the project complies with target plan limits", + "x-example": false }, - "databasesWrites": { + "resources": { "type": "array", - "description": "Aggregated stats for database writes.", + "description": "Resource compliance details", "items": { "type": "object", - "$ref": "#\/definitions\/metric" + "$ref": "#\/definitions\/planChangeResourceCompliance" }, "x-example": [] }, - "executionsMBSeconds": { - "type": "integer", - "description": "Aggregated stats for function executions in mb seconds.", - "x-example": 0, - "format": "int32" + "error": { + "type": "string", + "description": "Failure reason when compliance could not be evaluated. Present only when the project DB or Regions API was unreachable; in that case `isCompliant` is false (fail closed) and `resources` is empty.", + "x-example": "Failed to get project compliance from Regions API. Status: 500", + "x-nullable": true + } + }, + "required": [ + "$id", + "name", + "isCompliant", + "resources" + ], + "example": { + "$id": "proj_a", + "name": "Marketing Site", + "isCompliant": false, + "resources": [], + "error": "Failed to get project compliance from Regions API. Status: 500" + } + }, + "planChangeResourceCompliance": { + "description": "PlanChangeResourceCompliance", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Resource type", + "x-example": "databases" }, - "buildsMBSeconds": { + "currentUsage": { "type": "integer", - "description": "Aggregated stats for function builds in mb seconds.", - "x-example": 0, + "description": "Current usage count", + "x-example": 3, "format": "int32" }, - "storage": { + "limit": { "type": "integer", - "description": "Aggregated stats for number of documents.", - "x-example": [], + "description": "Allowed limit in target plan", + "x-example": 1, "format": "int32" }, - "authPhoneTotal": { + "status": { + "type": "string", + "description": "Compliance status", + "x-example": "over_limit" + }, + "excess": { "type": "integer", - "description": "Aggregated stats for phone authentication.", - "x-example": [], + "description": "Number of resources exceeding the limit", + "x-example": 2, "format": "int32" }, - "authPhoneEstimate": { - "type": "number", - "description": "Aggregated stats for phone authentication estimated cost.", - "x-example": [], - "format": "double" + "resolutionHint": { + "type": "string", + "description": "Suggestion for resolving the compliance issue", + "x-example": "Delete or migrate 2 databases." + } + }, + "required": [ + "type", + "currentUsage", + "limit", + "status", + "excess", + "resolutionHint" + ], + "example": { + "type": "databases", + "currentUsage": 3, + "limit": 1, + "status": "over_limit", + "excess": 2, + "resolutionHint": "Delete or migrate 2 databases." + } + }, + "backupPolicy": { + "description": "backup", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Backup policy ID.", + "x-example": "5e5ea5c16897e" }, - "databasesReadsTotal": { - "type": "integer", - "description": "Aggregated stats for total databases reads.", - "x-example": 0, - "format": "int32" + "name": { + "type": "string", + "description": "Backup policy name.", + "x-example": "Hourly backups" }, - "databasesWritesTotal": { - "type": "integer", - "description": "Aggregated stats for total databases writes.", - "x-example": 0, - "format": "int32" + "$createdAt": { + "type": "string", + "description": "Policy creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "imageTransformations": { + "$updatedAt": { + "type": "string", + "description": "Policy update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "services": { "type": "array", - "description": "Aggregated stats for file transformations.", + "description": "The services that are backed up by this policy.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] - }, - "imageTransformationsTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "x-example": "['databases', 'storage']" }, - "screenshotsGenerated": { + "resources": { "type": "array", - "description": "Aggregated stats for file transformations.", + "description": "The resources that are backed up by this policy.", "items": { - "type": "object", - "$ref": "#\/definitions\/metric" + "type": "string" }, - "x-example": [] + "x-example": "['databases', 'collections', 'attributes', 'indexes']" }, - "screenshotsGeneratedTotal": { - "type": "integer", - "description": "Aggregated stats for total file transformations.", - "x-example": 0, - "format": "int32" + "resourceId": { + "type": "string", + "description": "The resource ID to backup. Set only if this policy should backup a single resource.", + "x-example": "DB1", + "x-nullable": true }, - "imagineCredits": { + "resourceType": { + "type": "string", + "description": "The resource type to backup. Set only if this policy should backup a single resource.", + "x-example": "database", + "x-nullable": true + }, + "retention": { "type": "integer", - "description": "Aggregated stats for imagine credits.", - "x-example": 0, + "description": "How many days to keep the backup before it will be automatically deleted.", + "x-example": 7, "format": "int32" }, - "realtimeConnections": { + "schedule": { + "type": "string", + "description": "Policy backup schedule in CRON format.", + "x-example": "0 * * * *" + }, + "enabled": { + "type": "boolean", + "description": "Is this policy enabled.", + "x-example": true + } + }, + "required": [ + "$id", + "name", + "$createdAt", + "$updatedAt", + "services", + "resources", + "retention", + "schedule", + "enabled" + ], + "example": { + "$id": "5e5ea5c16897e", + "name": "Hourly backups", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "resourceId": "DB1", + "resourceType": "database", + "retention": 7, + "schedule": "0 * * * *", + "enabled": true + } + }, + "dedicatedDatabasePooler": { + "description": "PoolerConfig", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether connection pooling is enabled.", + "x-example": true + }, + "mode": { + "type": "string", + "description": "Connection pool mode. Possible values: transaction (releases connections back to pool after each transaction), session (holds connections for the entire client session).", + "x-example": "transaction" + }, + "maxConnections": { "type": "integer", - "description": "Aggregated stats for realtime connections.", - "x-example": 0, + "description": "Maximum number of pooled connections.", + "x-example": 200, "format": "int32" }, - "realtimeMessages": { + "defaultPoolSize": { "type": "integer", - "description": "Aggregated stats for realtime messages.", - "x-example": 0, + "description": "Default pool size per user.", + "x-example": 25, "format": "int32" }, - "realtimeBandwidth": { + "port": { "type": "integer", - "description": "Aggregated stats for realtime bandwidth.", - "x-example": 0, + "description": "Pooler listening port.", + "x-example": 6432, "format": "int32" + }, + "readWriteSplitting": { + "type": "boolean", + "description": "Whether SELECTs are routed to HA replicas while writes and locked reads stay on the primary. Active only when HA is enabled.", + "x-example": true + }, + "poolerCpuRequest": { + "type": "string", + "description": "Effective CPU request applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (5% of DB CPU, floor 100m) unless overridden.", + "x-example": "100m" + }, + "poolerCpuLimit": { + "type": "string", + "description": "Effective CPU limit applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (10% of DB CPU, floor 200m) unless overridden.", + "x-example": "200m" + }, + "poolerMemoryRequest": { + "type": "string", + "description": "Effective memory request applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (7.5% of DB memory, floor 64Mi) unless overridden.", + "x-example": "64Mi" + }, + "poolerMemoryLimit": { + "type": "string", + "description": "Effective memory limit applied to the pooler sidecar container (Kubernetes quantity). Returns the proportional default (15% of DB memory, floor 128Mi) unless overridden.", + "x-example": "128Mi" } }, "required": [ - "projectId", - "bandwidth", - "users", - "executions", - "databasesReads", - "databasesWrites", - "executionsMBSeconds", - "buildsMBSeconds", - "storage", - "authPhoneTotal", - "authPhoneEstimate", - "databasesReadsTotal", - "databasesWritesTotal", - "imageTransformations", - "imageTransformationsTotal", - "screenshotsGenerated", - "screenshotsGeneratedTotal", - "imagineCredits", - "realtimeConnections", - "realtimeMessages", - "realtimeBandwidth" + "enabled", + "mode", + "maxConnections", + "defaultPoolSize", + "port", + "readWriteSplitting", + "poolerCpuRequest", + "poolerCpuLimit", + "poolerMemoryRequest", + "poolerMemoryLimit" ], "example": { - "projectId": "5e5ea5c16897e", - "bandwidth": [], - "users": [], - "executions": [], - "databasesReads": [], - "databasesWrites": [], - "executionsMBSeconds": 0, - "buildsMBSeconds": 0, - "storage": [], - "authPhoneTotal": [], - "authPhoneEstimate": [], - "databasesReadsTotal": 0, - "databasesWritesTotal": 0, - "imageTransformations": [], - "imageTransformationsTotal": 0, - "screenshotsGenerated": [], - "screenshotsGeneratedTotal": 0, - "imagineCredits": 0, - "realtimeConnections": 0, - "realtimeMessages": 0, - "realtimeBandwidth": 0 + "enabled": true, + "mode": "transaction", + "maxConnections": 200, + "defaultPoolSize": 25, + "port": 6432, + "readWriteSplitting": true, + "poolerCpuRequest": "100m", + "poolerCpuLimit": "200m", + "poolerMemoryRequest": "64Mi", + "poolerMemoryLimit": "128Mi" } }, - "domain": { - "description": "Domain", + "program": { + "description": "Program", "type": "object", "properties": { "$id": { "type": "string", - "description": "Domain ID.", - "x-example": "5e5ea5c16897e" - }, - "$createdAt": { - "type": "string", - "description": "Domain creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - }, - "$updatedAt": { - "type": "string", - "description": "Domain update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Program ID", + "x-example": "" }, - "domain": { + "title": { "type": "string", - "description": "Domain name.", - "x-example": "example.com" + "description": "Program title", + "x-example": "" }, - "registrar": { + "description": { "type": "string", - "description": "Domain registrar (e.g. \"appwrite\" or \"third_party\").", - "x-example": "appwrite" + "description": "Program description", + "x-example": "" }, - "nameservers": { + "tag": { "type": "string", - "description": "Nameservers setting. \"Appwrite\" or empty string.", - "x-example": "Appwrite" + "description": "Program tag for highlighting on console", + "x-example": null }, - "expire": { + "icon": { "type": "string", - "description": "Domain expiry date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Program icon for highlighting on console", + "x-example": null }, - "renewal": { + "url": { "type": "string", - "description": "Domain renewal date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "URL for more information on this program", + "x-example": "" }, - "autoRenewal": { + "active": { "type": "boolean", - "description": "If set to true, the domain will automatically renew.", - "x-example": true - }, - "renewalPrice": { - "type": "integer", - "description": "Renewal price (in cents).", - "x-example": 2599, - "format": "int32" + "description": "Whether this program is active", + "x-example": false }, - "transferStatus": { - "type": "string", - "description": "Transfer status for domains being transferred in.", - "x-example": "pending_registry", - "enum": [ - "transferrable", - "not_transferrable", - "pending_owner", - "pending_admin", - "pending_registry", - "completed", - "cancelled", - "service_unavailable" - ], - "x-enum-name": "DomainTransferStatusEnum" + "external": { + "type": "boolean", + "description": "Whether this program is external", + "x-example": false }, - "teamId": { + "billingPlanId": { "type": "string", - "description": "Team ID.", - "x-example": "5e5ea5c16897e" - }, - "dnsRecords": { + "description": "Billing plan ID that this is program is associated with.", + "x-example": "" + } + }, + "required": [ + "$id", + "title", + "description", + "tag", + "icon", + "url", + "active", + "external", + "billingPlanId" + ], + "example": { + "$id": "", + "title": "", + "description": "", + "tag": null, + "icon": null, + "url": "", + "active": false, + "external": false, + "billingPlanId": "" + } + }, + "dedicatedDatabaseQueryExplanation": { + "description": "QueryExplanation", + "type": "object", + "properties": { + "plan": { "type": "array", - "description": "Dns records", + "description": "Structured query execution plan. Contents are engine-specific.", "items": { "type": "object", - "$ref": "#\/definitions\/dnsRecord" + "$ref": "#\/definitions\/any" }, "x-example": [] + }, + "raw": { + "type": "string", + "description": "Raw EXPLAIN output from the database engine.", + "x-example": "Seq Scan on users (cost=0.00..35.50 rows=2550 width=36)" + } + }, + "required": [ + "plan", + "raw" + ], + "example": { + "plan": [], + "raw": "Seq Scan on users (cost=0.00..35.50 rows=2550 width=36)" + } + }, + "consoleRegion": { + "description": "Region", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Region ID", + "x-example": "eu-fr" + }, + "name": { + "type": "string", + "description": "Region name", + "x-example": "EU (Frankfurt)" + }, + "available": { + "type": "boolean", + "description": "Does the organization have access to this region.", + "x-example": false + }, + "disabled": { + "type": "boolean", + "description": "Does the backend support this region.", + "x-example": false + }, + "default": { + "type": "boolean", + "description": "Is this the region default.", + "x-example": true + }, + "flag": { + "type": "string", + "description": "Region flag code.", + "x-example": "fr" } }, "required": [ "$id", - "$createdAt", - "$updatedAt", - "domain", - "registrar", - "nameservers", - "expire", - "renewal", - "autoRenewal", - "renewalPrice", - "transferStatus", - "teamId", - "dnsRecords" + "name", + "available", + "disabled", + "default", + "flag" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domain": "example.com", - "registrar": "appwrite", - "nameservers": "Appwrite", - "expire": "2020-10-15T06:38:00.000+00:00", - "renewal": "2020-10-15T06:38:00.000+00:00", - "autoRenewal": true, - "renewalPrice": 2599, - "transferStatus": "pending_registry", - "teamId": "5e5ea5c16897e", - "dnsRecords": [] + "$id": "eu-fr", + "name": "EU (Frankfurt)", + "available": false, + "disabled": false, + "default": true, + "flag": "fr" } }, - "domainPurchase": { - "description": "DomainPurchase", + "backupRestoration": { + "description": "Restoration", "type": "object", "properties": { "$id": { "type": "string", - "description": "Purchase\/invoice ID.", + "description": "Restoration ID.", "x-example": "5e5ea5c16897e" }, "$createdAt": { "type": "string", - "description": "Purchase creation time in ISO 8601 format.", + "description": "Restoration creation time in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, "$updatedAt": { "type": "string", - "description": "Purchase update date in ISO 8601 format.", + "description": "Restoration update date in ISO 8601 format.", "x-example": "2020-10-15T06:38:00.000+00:00" }, - "domainId": { + "archiveId": { "type": "string", - "description": "Domain document ID.", - "x-example": "5e5ea5c16897e" + "description": "Backup archive ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "domain": { + "policyId": { "type": "string", - "description": "Domain name.", - "x-example": "example.com" + "description": "Backup policy ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "organizationId": { + "status": { "type": "string", - "description": "Team ID that owns the domain.", - "x-example": "5e5ea5c16897e" + "description": "The status of the restoration. Possible values: pending, downloading, processing, completed, failed.", + "x-example": "completed" }, - "status": { + "startedAt": { "type": "string", - "description": "Domain purchase status.", - "x-example": "pending", - "enum": [ - "pending", - "succeeded", - "failed", - "cancelled" - ], - "x-enum-name": "DomainPurchaseStatus" + "description": "The backup start time.", + "x-example": "2020-10-15T06:38:00.000+00:00" }, - "clientSecret": { + "migrationId": { "type": "string", - "description": "Stripe client secret for 3DS; empty when not applicable.", - "x-example": "" + "description": "Migration ID.", + "x-example": "did8jx6ws45jana098ab7" }, - "amount": { - "type": "number", - "description": "Purchase amount.", - "x-example": 25.99, - "format": "double" + "services": { + "type": "array", + "description": "The services that are backed up by this policy.", + "items": { + "type": "string" + }, + "x-example": "['databases', 'storage']" }, - "currency": { + "resources": { + "type": "array", + "description": "The resources that are backed up by this policy.", + "items": { + "type": "string" + }, + "x-example": "['databases', 'collections', 'attributes', 'indexes']" + }, + "options": { "type": "string", - "description": "Currency code.", - "x-example": "USD" + "description": "Optional data in key-value object. ", + "x-example": "{databases.database[{oldId, newId, newName}]}" } }, "required": [ "$id", "$createdAt", "$updatedAt", - "domainId", - "domain", - "organizationId", + "archiveId", + "policyId", "status", - "clientSecret", - "amount", - "currency" + "startedAt", + "migrationId", + "services", + "resources", + "options" ], "example": { "$id": "5e5ea5c16897e", "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "domainId": "5e5ea5c16897e", - "domain": "example.com", - "organizationId": "5e5ea5c16897e", - "status": "pending", - "clientSecret": "", - "amount": 25.99, - "currency": "USD" + "archiveId": "did8jx6ws45jana098ab7", + "policyId": "did8jx6ws45jana098ab7", + "status": "completed", + "startedAt": "2020-10-15T06:38:00.000+00:00", + "migrationId": "did8jx6ws45jana098ab7", + "services": "['databases', 'storage']", + "resources": "['databases', 'collections', 'attributes', 'indexes']", + "options": "{databases.database[{oldId, newId, newName}]}" } }, - "dnsRecord": { - "description": "DNSRecord", + "dedicatedDatabaseRestorationList": { + "description": "Dedicated database restorations list", "type": "object", "properties": { - "$id": { + "total": { + "type": "integer", + "description": "Total number of restorations that matched your query.", + "x-example": 5, + "format": "int32" + }, + "restorations": { + "type": "array", + "description": "List of restorations.", + "items": { + "type": "object", + "$ref": "#\/definitions\/dedicatedDatabaseRestoration" + }, + "x-example": "" + } + }, + "required": [ + "total", + "restorations" + ], + "example": { + "total": 5, + "restorations": "" + } + }, + "review": { + "description": "Review", + "type": "object", + "properties": { + "name": { "type": "string", - "description": "DNS Record ID.", - "x-example": "5f40a6e10c65e" + "description": "Name of user", + "x-example": "" }, - "$createdAt": { + "image": { "type": "string", - "description": "DNS Record creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Reviewer image", + "x-example": "" }, - "$updatedAt": { + "description": { "type": "string", - "description": "DNS Record update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "description": "Reviewer description", + "x-example": "" }, - "type": { + "review": { "type": "string", - "description": "DNS record type (e.g. A, CNAME, MX).", - "x-example": "A" + "description": "Review", + "x-example": "" + } + }, + "required": [ + "name", + "image", + "description", + "review" + ], + "example": { + "name": "", + "image": "", + "description": "", + "review": "" + } + }, + "roles": { + "description": "Roles", + "type": "object", + "properties": { + "scopes": { + "type": "array", + "description": "Array of scopes accessible to current user.", + "items": { + "type": "string" + }, + "x-example": "users.read" }, - "name": { + "roles": { + "type": "array", + "description": "Array of roles assigned to current user.", + "items": { + "type": "string" + }, + "x-example": "developer" + } + }, + "required": [ + "scopes", + "roles" + ], + "example": { + "scopes": "users.read", + "roles": "developer" + } + }, + "dedicatedDatabaseSchema": { + "description": "Schema", + "type": "object", + "properties": { + "tables": { + "type": "array", + "description": "List of tables with columns, types, and constraints.", + "items": { + "type": "object", + "$ref": "#\/definitions\/any" + }, + "x-example": [] + }, + "indexes": { + "type": "array", + "description": "List of indexes across all tables.", + "items": { + "type": "object", + "$ref": "#\/definitions\/any" + }, + "x-example": [] + } + }, + "required": [ + "tables", + "indexes" + ], + "example": { + "tables": [], + "indexes": [] + } + }, + "dedicatedDatabaseSchemaPreview": { + "description": "SchemaPreview", + "type": "object", + "properties": { + "supportsTransactionalDDL": { + "type": "boolean", + "description": "Whether the engine supports transactional DDL for safe preview.", + "x-example": true + }, + "preview": { "type": "string", - "description": "Record name or subdomain.", - "x-example": "mail" + "description": "Schema change preview output.", + "x-example": "ALTER TABLE users ADD COLUMN age INTEGER" }, - "value": { + "tables": { + "type": "array", + "description": "List of tables in the database after the change.", + "items": { + "type": "string" + }, + "x-example": [ + "users", + "orders" + ] + } + }, + "required": [ + "supportsTransactionalDDL", + "preview", + "tables" + ], + "example": { + "supportsTransactionalDDL": true, + "preview": "ALTER TABLE users ADD COLUMN age INTEGER", + "tables": [ + "users", + "orders" + ] + } + }, + "dedicatedDatabaseSlowQuery": { + "description": "SlowQuery", + "type": "object", + "properties": { + "query": { "type": "string", - "description": "Value of the record (IP address, domain, etc.).", - "x-example": "192.0.2.1" + "description": "The SQL query text.", + "x-example": "SELECT * FROM users WHERE email = $1" }, - "ttl": { - "type": "integer", - "description": "Time to live (in seconds).", - "x-example": 86400, - "format": "int32" + "durationMs": { + "type": "number", + "description": "Query duration in milliseconds.", + "x-example": 523.4, + "format": "double" }, - "priority": { + "calls": { "type": "integer", - "description": "Record priority (commonly used for MX).", - "x-example": 10, + "description": "Number of times this query has been executed.", + "x-example": 42, "format": "int32" }, - "lock": { - "type": "boolean", - "description": "Whether this record is locked (read-only).", - "x-example": false + "user": { + "type": "string", + "description": "Database user that executed the query.", + "x-example": "appwrite" }, - "weight": { + "database": { + "type": "string", + "description": "Database name.", + "x-example": "appwrite" + } + }, + "required": [ + "query", + "durationMs", + "calls", + "user", + "database" + ], + "example": { + "query": "SELECT * FROM users WHERE email = $1", + "durationMs": 523.4, + "calls": 42, + "user": "appwrite", + "database": "appwrite" + } + }, + "databaseStatusConnections": { + "description": "Connections", + "type": "object", + "properties": { + "current": { "type": "integer", - "description": "Record weight (used for SRV records).", - "x-example": 10, + "description": "Current number of active connections.", + "x-example": 12, "format": "int32" }, - "port": { + "max": { "type": "integer", - "description": "Target port (used for SRV records).", - "x-example": 443, + "description": "Maximum allowed connections.", + "x-example": 100, "format": "int32" - }, - "comment": { - "type": "string", - "description": "Comment for the DNS record.", - "x-example": "Mail server record" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "type", - "name", - "value", - "ttl", - "priority", - "lock", - "weight", - "port", - "comment" + "current", + "max" ], "example": { - "$id": "5f40a6e10c65e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "type": "A", - "name": "mail", - "value": "192.0.2.1", - "ttl": 86400, - "priority": 10, - "lock": false, - "weight": 10, - "port": 443, - "comment": "Mail server record" + "current": 12, + "max": 100 } }, - "usageResources": { - "description": "UsageResource", + "databaseStatusReplica": { + "description": "Replica", "type": "object", "properties": { - "name": { - "type": "string", - "description": "Invoice name", - "x-example": "" - }, - "value": { + "index": { "type": "integer", - "description": "Invoice value", + "description": "StatefulSet pod index (0 = primary, 1+ = replicas).", "x-example": 0, "format": "int32" }, - "amount": { - "type": "number", - "description": "Invoice amount", - "x-example": 500, - "format": "double" + "role": { + "type": "string", + "description": "Replica role: primary or replica.", + "x-example": "primary" }, - "rate": { + "healthy": { + "type": "boolean", + "description": "Whether the replica is healthy.", + "x-example": true + }, + "lagSeconds": { "type": "number", - "description": "Invoice rate", - "x-example": 12.5, - "format": "double" + "description": "Replication lag in seconds (null for primary).", + "x-example": 0.2, + "format": "double", + "x-nullable": true + } + }, + "required": [ + "index", + "role", + "healthy" + ], + "example": { + "index": 0, + "role": "primary", + "healthy": true, + "lagSeconds": 0.2 + } + }, + "databaseStatusVolume": { + "description": "Volume", + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Mount path of the volume.", + "x-example": "\/var\/lib\/postgresql\/data" }, - "desc": { + "usedPercent": { "type": "string", - "description": "Invoice description", - "x-example": "Your monthly recurring Pro plan." + "description": "Percentage of storage used.", + "x-example": "45%" }, - "resourceId": { + "available": { "type": "string", - "description": "Resource ID", - "x-example": "" + "description": "Available storage space.", + "x-example": "55GB" + }, + "mounted": { + "type": "boolean", + "description": "Whether the volume is mounted.", + "x-example": true } }, "required": [ - "name", - "value", - "amount", - "rate", - "desc", - "resourceId" + "path", + "usedPercent", + "available", + "mounted" ], "example": { - "name": "", - "value": 0, - "amount": 500, - "rate": 12.5, - "desc": "Your monthly recurring Pro plan.", - "resourceId": "" + "path": "\/var\/lib\/postgresql\/data", + "usedPercent": "45%", + "available": "55GB", + "mounted": true } }, "usageBillingPlan": { @@ -97796,945 +103887,1029 @@ "$ref": "#\/definitions\/additionalResource" } }, - "credits": { - "type": "object", - "description": "Credits additional resources", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/additionalResource" - } - } - }, - "required": [ - "bandwidth", - "executions", - "member", - "realtime", - "realtimeMessages", - "realtimeBandwidth", - "storage", - "users", - "GBHours", - "imageTransformations", - "credits" - ], - "example": { - "bandwidth": null, - "executions": null, - "member": null, - "realtime": null, - "realtimeMessages": null, - "realtimeBandwidth": null, - "storage": null, - "users": null, - "GBHours": null, - "imageTransformations": null, - "credits": null - } - }, - "estimation": { - "description": "Estimation", - "type": "object", - "properties": { - "amount": { + "credits": { + "type": "object", + "description": "Credits additional resources", + "x-example": null, + "items": { + "type": "object", + "$ref": "#\/definitions\/additionalResource" + } + } + }, + "required": [ + "bandwidth", + "executions", + "member", + "realtime", + "realtimeMessages", + "realtimeBandwidth", + "storage", + "users", + "GBHours", + "imageTransformations", + "credits" + ], + "example": { + "bandwidth": null, + "executions": null, + "member": null, + "realtime": null, + "realtimeMessages": null, + "realtimeBandwidth": null, + "storage": null, + "users": null, + "GBHours": null, + "imageTransformations": null, + "credits": null + } + }, + "dedicatedDatabaseUsage": { + "description": "DedicatedDatabase", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Database ID.", + "x-example": "5e5ea5c16897e" + }, + "range": { + "type": "string", + "description": "The time range of the usage stats.", + "x-example": "30d" + }, + "provisionedCpu": { + "type": "number", + "description": "Provisioned CPU cores for the database specification.", + "x-example": 2, + "format": "double" + }, + "provisionedMemoryBytes": { + "type": "integer", + "description": "Provisioned memory in bytes for the database specification.", + "x-example": 4294967296, + "format": "int32" + }, + "provisionedStorageBytes": { + "type": "integer", + "description": "Provisioned storage in bytes for the database specification.", + "x-example": 107374182400, + "format": "int32" + }, + "provisionedConnections": { + "type": "integer", + "description": "Maximum concurrent connections allowed by the database specification.", + "x-example": 200, + "format": "int32" + }, + "computeTotal": { + "type": "integer", + "description": "Total aggregated compute time in milliseconds.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Total aggregated storage used in bytes.", + "x-example": 0, + "format": "int32" + }, + "inboundTotal": { + "type": "integer", + "description": "Total aggregated inbound network traffic in bytes.", + "x-example": 0, + "format": "int32" + }, + "outboundTotal": { + "type": "integer", + "description": "Total aggregated outbound network traffic in bytes.", + "x-example": 0, + "format": "int32" + }, + "connectionsTotal": { + "type": "integer", + "description": "Total aggregated number of database connections.", + "x-example": 0, + "format": "int32" + }, + "coldStartsTotal": { + "type": "integer", + "description": "Total aggregated number of cold starts.", + "x-example": 0, + "format": "int32" + }, + "cpuTotal": { "type": "number", - "description": "Total amount", - "x-example": 50, + "description": "Latest CPU usage percent (0-100).", + "x-example": 45.2, "format": "double" }, - "grossAmount": { + "memoryTotal": { "type": "number", - "description": "Gross payable amount", - "x-example": 50, + "description": "Latest memory usage percent (0-100).", + "x-example": 62.1, "format": "double" }, - "discount": { + "qpsTotal": { "type": "number", - "description": "Discount amount", - "x-example": 50, + "description": "Latest queries per second.", + "x-example": 230.7, "format": "double" }, - "credits": { + "iopsReadTotal": { "type": "number", - "description": "Credits amount", - "x-example": 50, + "description": "Latest read IOPS.", + "x-example": 125.5, "format": "double" }, - "items": { + "iopsWriteTotal": { + "type": "number", + "description": "Latest write IOPS.", + "x-example": 45.3, + "format": "double" + }, + "compute": { "type": "array", - "description": "Estimation items", + "description": "Aggregated compute time per period in milliseconds.", "items": { "type": "object", - "$ref": "#\/definitions\/estimation_item" + "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "discounts": { + "storage": { "type": "array", - "description": "Estimation discount items", + "description": "Aggregated storage used per period in bytes.", "items": { "type": "object", - "$ref": "#\/definitions\/estimation_item" + "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "trialDays": { - "type": "integer", - "description": "Trial days", - "x-example": 14, - "format": "int32" - }, - "trialEndDate": { - "type": "string", - "description": "Trial end date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "x-nullable": true - } - }, - "required": [ - "amount", - "grossAmount", - "discount", - "credits", - "items", - "discounts", - "trialDays" - ], - "example": { - "amount": 50, - "grossAmount": 50, - "discount": 50, - "credits": 50, - "items": [], - "discounts": [], - "trialDays": 14, - "trialEndDate": "2020-10-15T06:38:00.000+00:00" - } - }, - "estimationUpdatePlan": { - "description": "EstimationUpdatePlan", - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "Total amount", - "x-example": 50, - "format": "double" + "inbound": { + "type": "array", + "description": "Aggregated inbound network traffic per period in bytes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "grossAmount": { - "type": "number", - "description": "Gross payable amount", - "x-example": 50, - "format": "double" + "outbound": { + "type": "array", + "description": "Aggregated outbound network traffic per period in bytes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "discount": { - "type": "number", - "description": "Discount amount", - "x-example": 50, - "format": "double" + "connections": { + "type": "array", + "description": "Aggregated number of database connections per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "credits": { - "type": "number", - "description": "Credits amount", - "x-example": 50, - "format": "double" + "coldStarts": { + "type": "array", + "description": "Aggregated number of cold starts per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "items": { + "cpu": { "type": "array", - "description": "Estimation items", + "description": "CPU usage percent per period.", "items": { "type": "object", - "$ref": "#\/definitions\/estimation_item" + "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "discounts": { + "memory": { "type": "array", - "description": "Estimation discount items", + "description": "Memory usage percent per period.", "items": { "type": "object", - "$ref": "#\/definitions\/estimation_item" + "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "trialDays": { - "type": "integer", - "description": "Trial days", - "x-example": 14, - "format": "int32" + "qps": { + "type": "array", + "description": "Queries per second per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "trialEndDate": { - "type": "string", - "description": "Trial end date", - "x-example": "2020-10-15T06:38:00.000+00:00", - "x-nullable": true + "iopsRead": { + "type": "array", + "description": "Read IOPS per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "organizationCredits": { - "type": "number", - "description": "Organization's existing credits", - "x-example": 0, - "format": "double" + "iopsWrite": { + "type": "array", + "description": "Write IOPS per period.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] } }, "required": [ - "amount", - "grossAmount", - "discount", - "credits", - "items", - "discounts", - "trialDays", - "organizationCredits" + "$id", + "range", + "provisionedCpu", + "provisionedMemoryBytes", + "provisionedStorageBytes", + "provisionedConnections", + "computeTotal", + "storageTotal", + "inboundTotal", + "outboundTotal", + "connectionsTotal", + "coldStartsTotal", + "cpuTotal", + "memoryTotal", + "qpsTotal", + "iopsReadTotal", + "iopsWriteTotal", + "compute", + "storage", + "inbound", + "outbound", + "connections", + "coldStarts", + "cpu", + "memory", + "qps", + "iopsRead", + "iopsWrite" ], "example": { - "amount": 50, - "grossAmount": 50, - "discount": 50, - "credits": 50, - "items": [], - "discounts": [], - "trialDays": 14, - "trialEndDate": "2020-10-15T06:38:00.000+00:00", - "organizationCredits": 0 + "$id": "5e5ea5c16897e", + "range": "30d", + "provisionedCpu": 2, + "provisionedMemoryBytes": 4294967296, + "provisionedStorageBytes": 107374182400, + "provisionedConnections": 200, + "computeTotal": 0, + "storageTotal": 0, + "inboundTotal": 0, + "outboundTotal": 0, + "connectionsTotal": 0, + "coldStartsTotal": 0, + "cpuTotal": 45.2, + "memoryTotal": 62.1, + "qpsTotal": 230.7, + "iopsReadTotal": 125.5, + "iopsWriteTotal": 45.3, + "compute": [], + "storage": [], + "inbound": [], + "outbound": [], + "connections": [], + "coldStarts": [], + "cpu": [], + "memory": [], + "qps": [], + "iopsRead": [], + "iopsWrite": [] } }, - "estimationPlanChange": { - "description": "EstimationPlanChange", + "usageEvent": { + "description": "usageEvent", "type": "object", "properties": { - "currentBillingPlanId": { + "metric": { "type": "string", - "description": "Current billing plan ID", - "x-example": "tier-2" + "description": "The metric key.", + "x-example": "bandwidth" }, - "targetBillingPlanId": { + "value": { + "type": "integer", + "description": "The metric value.", + "x-example": 5000, + "format": "int32" + }, + "time": { "type": "string", - "description": "Target billing plan ID", - "x-example": "tier-0" + "description": "The event timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" }, - "direction": { + "path": { "type": "string", - "description": "Direction of plan change: upgrade, downgrade, or same", - "x-example": "downgrade" + "description": "The API endpoint path.", + "x-example": "\/v1\/storage\/files" }, - "estimation": { - "type": "object", - "description": "Cost estimation details", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/planChangeEstimationDetails" - } + "method": { + "type": "string", + "description": "The HTTP method.", + "x-example": "POST" }, - "limits": { - "type": "object", - "description": "Plan limits and compliance information", - "x-example": null, - "items": { - "type": "object", - "$ref": "#\/definitions\/planChangeLimits" - } + "status": { + "type": "string", + "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", + "x-example": "201" + }, + "resourceType": { + "type": "string", + "description": "The resource type.", + "x-example": "bucket" + }, + "resourceId": { + "type": "string", + "description": "The resource ID.", + "x-example": "abc123" + }, + "countryCode": { + "type": "string", + "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", + "x-example": "US" + }, + "userAgent": { + "type": "string", + "description": "The user agent string.", + "x-example": "AppwriteSDK\/1.0" } }, "required": [ - "currentBillingPlanId", - "targetBillingPlanId", - "direction", - "estimation", - "limits" + "metric", + "value", + "time", + "path", + "method", + "status", + "resourceType", + "resourceId", + "countryCode", + "userAgent" ], "example": { - "currentBillingPlanId": "tier-2", - "targetBillingPlanId": "tier-0", - "direction": "downgrade", - "estimation": null, - "limits": null + "metric": "bandwidth", + "value": 5000, + "time": "2026-04-09T12:00:00.000+00:00", + "path": "\/v1\/storage\/files", + "method": "POST", + "status": "201", + "resourceType": "bucket", + "resourceId": "abc123", + "countryCode": "US", + "userAgent": "AppwriteSDK\/1.0" } }, - "planChangeEstimationDetails": { - "description": "PlanChangeEstimationDetails", + "usageGauge": { + "description": "usageGauge", "type": "object", "properties": { - "currency": { + "metric": { "type": "string", - "description": "Currency code", - "x-example": "USD" - }, - "grossAmount": { - "type": "number", - "description": "Gross amount after all discounts and credits", - "x-example": 15, - "format": "double" - }, - "credits": { - "type": "number", - "description": "Credits applied from coupon", - "x-example": 0, - "format": "double" - }, - "organizationCredits": { - "type": "number", - "description": "Organization's existing credits applied", - "x-example": 5, - "format": "double" - }, - "discount": { - "type": "number", - "description": "Discount amount from prorated invoices", - "x-example": 0, - "format": "double" + "description": "The metric key.", + "x-example": "users" }, - "amount": { - "type": "number", - "description": "Total amount before discounts and credits", - "x-example": 20, - "format": "double" + "value": { + "type": "integer", + "description": "The current snapshot value.", + "x-example": 1500, + "format": "int32" }, - "nextInvoiceDate": { + "time": { "type": "string", - "description": "Next invoice date", - "x-example": "2025-12-01T00:00:00.000Z" - }, - "items": { - "type": "object", - "additionalProperties": true, - "description": "Line items breakdown", - "x-example": [ - { - "label": "Starter plan", - "value": 0 - }, - { - "label": "Additional seats", - "value": 10 - } - ] - }, - "discounts": { - "type": "object", - "additionalProperties": true, - "description": "Applied discounts breakdown", - "x-example": [ - { - "label": "Organization credits", - "value": 5 - } - ] + "description": "The snapshot timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" } }, "required": [ - "currency", - "grossAmount", - "credits", - "organizationCredits", - "discount", - "amount", - "nextInvoiceDate", - "items", - "discounts" + "metric", + "value", + "time" ], "example": { - "currency": "USD", - "grossAmount": 15, - "credits": 0, - "organizationCredits": 5, - "discount": 0, - "amount": 20, - "nextInvoiceDate": "2025-12-01T00:00:00.000Z", - "items": [ - { - "label": "Starter plan", - "value": 0 - }, - { - "label": "Additional seats", - "value": 10 - } - ], - "discounts": [ - { - "label": "Organization credits", - "value": 5 - } - ] + "metric": "users", + "value": 1500, + "time": "2026-04-09T12:00:00.000+00:00" } }, - "planChangeLimits": { - "description": "PlanChangeLimits", + "usageOrganization": { + "description": "Organization", "type": "object", "properties": { - "totalProjects": { + "bandwidth": { + "type": "array", + "description": "Aggregated stats for number of requests.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "users": { + "type": "array", + "description": "Aggregated stats for consumed bandwidth.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "executions": { + "type": "array", + "description": "Aggregated stats for function executions.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "databasesReads": { + "type": "array", + "description": "Aggregated stats for database reads.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "databasesWrites": { + "type": "array", + "description": "Aggregated stats for database writes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "imageTransformations": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "imageTransformationsTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" + }, + "screenshotsGenerated": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "screenshotsGeneratedTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" + }, + "imagineCredits": { + "type": "array", + "description": "Aggregated stats for imagine credits.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] + }, + "imagineCreditsTotal": { + "type": "integer", + "description": "Aggregated stats for total imagine credits.", + "x-example": 0, + "format": "int32" + }, + "usersTotal": { + "type": "integer", + "description": "Aggregated stats for total users.", + "x-example": 0, + "format": "int32" + }, + "executionsTotal": { + "type": "integer", + "description": "Aggregated stats for total executions.", + "x-example": 0, + "format": "int32" + }, + "executionsMBSecondsTotal": { + "type": "integer", + "description": "Aggregated stats for function executions in mb seconds.", + "x-example": 0, + "format": "int32" + }, + "buildsMBSecondsTotal": { + "type": "integer", + "description": "Aggregated stats for function builds in mb seconds.", + "x-example": 0, + "format": "int32" + }, + "filesStorageTotal": { "type": "integer", - "description": "Total number of projects in the organization", - "x-example": 5, + "description": "Aggregated stats for total file storage.", + "x-example": 0, "format": "int32" }, - "nonCompliantProjects": { + "buildsStorageTotal": { "type": "integer", - "description": "Number of projects exceeding target plan limits", - "x-example": 2, + "description": "Aggregated stats for total builds storage.", + "x-example": 0, "format": "int32" }, - "canChangePlan": { - "type": "boolean", - "description": "Whether the plan change is allowed", - "x-example": false + "deploymentsStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total deployments storage.", + "x-example": 0, + "format": "int32" + }, + "databasesStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total databases storage.", + "x-example": 0, + "format": "int32" + }, + "databasesReadsTotal": { + "type": "integer", + "description": "Aggregated stats for total databases reads.", + "x-example": 0, + "format": "int32" + }, + "databasesWritesTotal": { + "type": "integer", + "description": "Aggregated stats for total databases writes.", + "x-example": 0, + "format": "int32" + }, + "backupsStorageTotal": { + "type": "integer", + "description": "Aggregated stats for total backups storage.", + "x-example": 0, + "format": "int32" + }, + "storageTotal": { + "type": "integer", + "description": "Aggregated stats for total storage.", + "x-example": 0, + "format": "int32" + }, + "authPhoneTotal": { + "type": "integer", + "description": "Aggregated stats for total auth phone.", + "x-example": 0, + "format": "int32" + }, + "authPhoneEstimate": { + "type": "integer", + "description": "Aggregated stats for total auth phone estimation.", + "x-example": 0, + "format": "int32" }, "projects": { "type": "array", - "description": "Project compliance details", + "description": "Aggregated stats for each projects.", "items": { "type": "object", - "$ref": "#\/definitions\/planChangeProjectCompliance" + "$ref": "#\/definitions\/usageOrganizationProject" }, "x-example": [] }, - "unsupportedAddons": { + "realtimeConnections": { "type": "array", - "description": "Active addon keys that the target plan does not support. When non-empty, `canChangePlan` is false.", + "description": "Aggregated stats for realtime connections.", "items": { - "type": "string" + "type": "object", + "$ref": "#\/definitions\/metric" }, - "x-example": [ - "baa" - ] - } - }, - "required": [ - "totalProjects", - "nonCompliantProjects", - "canChangePlan", - "projects", - "unsupportedAddons" - ], - "example": { - "totalProjects": 5, - "nonCompliantProjects": 2, - "canChangePlan": false, - "projects": [], - "unsupportedAddons": [ - "baa" - ] - } - }, - "planChangeProjectCompliance": { - "description": "PlanChangeProjectCompliance", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Project ID", - "x-example": "proj_a" - }, - "name": { - "type": "string", - "description": "Project name", - "x-example": "Marketing Site" + "x-example": [] }, - "isCompliant": { - "type": "boolean", - "description": "Whether the project complies with target plan limits", - "x-example": false + "realtimeConnectionsTotal": { + "type": "integer", + "description": "Aggregated stats for total realtime connections.", + "x-example": 0, + "format": "int32" }, - "resources": { + "realtimeMessages": { "type": "array", - "description": "Resource compliance details", + "description": "Aggregated stats for realtime messages.", "items": { "type": "object", - "$ref": "#\/definitions\/planChangeResourceCompliance" + "$ref": "#\/definitions\/metric" }, "x-example": [] }, - "error": { - "type": "string", - "description": "Failure reason when compliance could not be evaluated. Present only when the project DB or Regions API was unreachable; in that case `isCompliant` is false (fail closed) and `resources` is empty.", - "x-example": "Failed to get project compliance from Regions API. Status: 500", - "x-nullable": true - } - }, - "required": [ - "$id", - "name", - "isCompliant", - "resources" - ], - "example": { - "$id": "proj_a", - "name": "Marketing Site", - "isCompliant": false, - "resources": [], - "error": "Failed to get project compliance from Regions API. Status: 500" - } - }, - "planChangeResourceCompliance": { - "description": "PlanChangeResourceCompliance", - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Resource type", - "x-example": "databases" - }, - "currentUsage": { - "type": "integer", - "description": "Current usage count", - "x-example": 3, - "format": "int32" - }, - "limit": { + "realtimeMessagesTotal": { "type": "integer", - "description": "Allowed limit in target plan", - "x-example": 1, + "description": "Aggregated stats for total realtime messages.", + "x-example": 0, "format": "int32" }, - "status": { - "type": "string", - "description": "Compliance status", - "x-example": "over_limit" + "realtimeBandwidth": { + "type": "array", + "description": "Aggregated stats for realtime bandwidth.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "excess": { + "realtimeBandwidthTotal": { "type": "integer", - "description": "Number of resources exceeding the limit", - "x-example": 2, + "description": "Aggregated stats for total realtime bandwidth.", + "x-example": 0, "format": "int32" - }, - "resolutionHint": { - "type": "string", - "description": "Suggestion for resolving the compliance issue", - "x-example": "Delete or migrate 2 databases." } }, "required": [ - "type", - "currentUsage", - "limit", - "status", - "excess", - "resolutionHint" + "bandwidth", + "users", + "executions", + "databasesReads", + "databasesWrites", + "imageTransformations", + "imageTransformationsTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "imagineCreditsTotal", + "usersTotal", + "executionsTotal", + "executionsMBSecondsTotal", + "buildsMBSecondsTotal", + "filesStorageTotal", + "buildsStorageTotal", + "deploymentsStorageTotal", + "databasesStorageTotal", + "databasesReadsTotal", + "databasesWritesTotal", + "backupsStorageTotal", + "storageTotal", + "authPhoneTotal", + "authPhoneEstimate", + "projects", + "realtimeConnections", + "realtimeConnectionsTotal", + "realtimeMessages", + "realtimeMessagesTotal", + "realtimeBandwidth", + "realtimeBandwidthTotal" ], "example": { - "type": "databases", - "currentUsage": 3, - "limit": 1, - "status": "over_limit", - "excess": 2, - "resolutionHint": "Delete or migrate 2 databases." + "bandwidth": [], + "users": [], + "executions": [], + "databasesReads": [], + "databasesWrites": [], + "imageTransformations": [], + "imageTransformationsTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": [], + "imagineCreditsTotal": 0, + "usersTotal": 0, + "executionsTotal": 0, + "executionsMBSecondsTotal": 0, + "buildsMBSecondsTotal": 0, + "filesStorageTotal": 0, + "buildsStorageTotal": 0, + "deploymentsStorageTotal": 0, + "databasesStorageTotal": 0, + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "backupsStorageTotal": 0, + "storageTotal": 0, + "authPhoneTotal": 0, + "authPhoneEstimate": 0, + "projects": [], + "realtimeConnections": [], + "realtimeConnectionsTotal": 0, + "realtimeMessages": [], + "realtimeMessagesTotal": 0, + "realtimeBandwidth": [], + "realtimeBandwidthTotal": 0 } }, - "estimationDeleteOrganization": { - "description": "EstimationDeleteOrganization", + "usageOrganizationProject": { + "description": "OrganizationProject", "type": "object", "properties": { - "unpaidInvoices": { + "projectId": { + "type": "string", + "description": "projectId", + "x-example": "5e5ea5c16897e" + }, + "bandwidth": { "type": "array", - "description": "List of unpaid invoices", + "description": "Aggregated stats for number of requests.", "items": { "type": "object", - "$ref": "#\/definitions\/invoice" + "$ref": "#\/definitions\/metric" }, "x-example": [] - } - }, - "required": [ - "unpaidInvoices" - ], - "example": { - "unpaidInvoices": [] - } - }, - "estimation_item": { - "description": "EstimationItem", - "type": "object", - "properties": { - "label": { - "type": "string", - "description": "Label", - "x-example": "Plan name" }, - "value": { - "type": "number", - "description": "Gross payable amount", - "x-example": 50, - "format": "double" - } - }, - "required": [ - "label", - "value" - ], - "example": { - "label": "Plan name", - "value": 50 - } - }, - "domainPrice": { - "description": "DomainPrice", - "type": "object", - "properties": { - "domain": { - "type": "string", - "description": "Domain name.", - "x-example": "example.com" + "users": { + "type": "array", + "description": "Aggregated stats for consumed bandwidth.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "tld": { - "type": "string", - "description": "Top-level domain for the requested domain.", - "x-example": "com" + "executions": { + "type": "integer", + "description": "Aggregated stats for function executions.", + "x-example": [], + "format": "int32" }, - "available": { - "type": "boolean", - "description": "Whether the domain is currently available for registration.", - "x-example": true + "databasesReads": { + "type": "array", + "description": "Aggregated stats for database reads.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "price": { - "type": "number", - "description": "Domain registration price.", - "x-example": 25.99, - "format": "double" + "databasesWrites": { + "type": "array", + "description": "Aggregated stats for database writes.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "periodYears": { + "executionsMBSeconds": { "type": "integer", - "description": "Price period in years.", - "x-example": 1, + "description": "Aggregated stats for function executions in mb seconds.", + "x-example": 0, "format": "int32" }, - "premium": { - "type": "boolean", - "description": "Whether the domain is a premium domain.", - "x-example": false - } - }, - "required": [ - "domain", - "tld", - "available", - "price", - "periodYears", - "premium" - ], - "example": { - "domain": "example.com", - "tld": "com", - "available": true, - "price": 25.99, - "periodYears": 1, - "premium": false - } - }, - "domainSuggestion": { - "description": "DomainSuggestion", - "type": "object", - "properties": { - "domain": { - "type": "string", - "description": "Domain suggestion.", - "x-example": "example.com" + "buildsMBSeconds": { + "type": "integer", + "description": "Aggregated stats for function builds in mb seconds.", + "x-example": 0, + "format": "int32" }, - "premium": { - "type": "boolean", - "description": "Is the domain premium?", - "x-example": true + "storage": { + "type": "integer", + "description": "Aggregated stats for number of documents.", + "x-example": [], + "format": "int32" }, - "price": { - "type": "number", - "description": "Domain price.", - "x-example": 25.99, - "format": "double", - "x-nullable": true + "authPhoneTotal": { + "type": "integer", + "description": "Aggregated stats for phone authentication.", + "x-example": [], + "format": "int32" }, - "available": { - "type": "boolean", - "description": "Is the domain available?", - "x-example": true - } - }, - "required": [ - "domain", - "premium", - "available" - ], - "example": { - "domain": "example.com", - "premium": true, - "price": 25.99, - "available": true - } - }, - "addon": { - "description": "Addon", - "type": "object", - "properties": { - "$id": { - "type": "string", - "description": "Addon ID.", - "x-example": "5e5ea5c16897e" + "authPhoneEstimate": { + "type": "number", + "description": "Aggregated stats for phone authentication estimated cost.", + "x-example": [], + "format": "double" }, - "$createdAt": { - "type": "string", - "description": "Addon creation time in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "databasesReadsTotal": { + "type": "integer", + "description": "Aggregated stats for total databases reads.", + "x-example": 0, + "format": "int32" }, - "$updatedAt": { - "type": "string", - "description": "Addon update date in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" + "databasesWritesTotal": { + "type": "integer", + "description": "Aggregated stats for total databases writes.", + "x-example": 0, + "format": "int32" }, - "$permissions": { + "imageTransformations": { "type": "array", - "description": "Addon permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "description": "Aggregated stats for file transformations.", "items": { - "type": "string" + "type": "object", + "$ref": "#\/definitions\/metric" }, - "x-example": [ - "read(\"any\")" - ] + "x-example": [] }, - "key": { - "type": "string", - "description": "Addon key", - "x-example": "baa" + "imageTransformationsTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" }, - "resourceType": { - "type": "string", - "description": "Resource type (organization or project)", - "x-example": "organization" + "screenshotsGenerated": { + "type": "array", + "description": "Aggregated stats for file transformations.", + "items": { + "type": "object", + "$ref": "#\/definitions\/metric" + }, + "x-example": [] }, - "resourceId": { - "type": "string", - "description": "Resource ID", - "x-example": "5e5ea5c16897e" + "screenshotsGeneratedTotal": { + "type": "integer", + "description": "Aggregated stats for total file transformations.", + "x-example": 0, + "format": "int32" }, - "status": { - "type": "string", - "description": "Payment status. Possible values: pending (awaiting payment confirmation e.g. 3DS), active (payment confirmed and addon is running).", - "x-example": "active" + "imagineCredits": { + "type": "integer", + "description": "Aggregated stats for imagine credits.", + "x-example": 0, + "format": "int32" }, - "currentValue": { + "realtimeConnections": { "type": "integer", - "description": "Current value for this billing cycle. For toggle addons: 1 (on) or 0 (off). For numeric addons: the active quantity.", - "x-example": 1, + "description": "Aggregated stats for realtime connections.", + "x-example": 0, "format": "int32" }, - "nextValue": { + "realtimeMessages": { "type": "integer", - "description": "Value to apply at the start of the next billing cycle. Null means no change is scheduled. For toggle addons, 0 means the addon will be removed at the next cycle.", - "x-example": null, - "format": "int32", - "x-nullable": true + "description": "Aggregated stats for realtime messages.", + "x-example": 0, + "format": "int32" + }, + "realtimeBandwidth": { + "type": "integer", + "description": "Aggregated stats for realtime bandwidth.", + "x-example": 0, + "format": "int32" } }, "required": [ - "$id", - "$createdAt", - "$updatedAt", - "$permissions", - "key", - "resourceType", - "resourceId", - "status", - "currentValue" + "projectId", + "bandwidth", + "users", + "executions", + "databasesReads", + "databasesWrites", + "executionsMBSeconds", + "buildsMBSeconds", + "storage", + "authPhoneTotal", + "authPhoneEstimate", + "databasesReadsTotal", + "databasesWritesTotal", + "imageTransformations", + "imageTransformationsTotal", + "screenshotsGenerated", + "screenshotsGeneratedTotal", + "imagineCredits", + "realtimeConnections", + "realtimeMessages", + "realtimeBandwidth" ], "example": { - "$id": "5e5ea5c16897e", - "$createdAt": "2020-10-15T06:38:00.000+00:00", - "$updatedAt": "2020-10-15T06:38:00.000+00:00", - "$permissions": [ - "read(\"any\")" - ], - "key": "baa", - "resourceType": "organization", - "resourceId": "5e5ea5c16897e", - "status": "active", - "currentValue": 1, - "nextValue": null + "projectId": "5e5ea5c16897e", + "bandwidth": [], + "users": [], + "executions": [], + "databasesReads": [], + "databasesWrites": [], + "executionsMBSeconds": 0, + "buildsMBSeconds": 0, + "storage": [], + "authPhoneTotal": [], + "authPhoneEstimate": [], + "databasesReadsTotal": 0, + "databasesWritesTotal": 0, + "imageTransformations": [], + "imageTransformationsTotal": 0, + "screenshotsGenerated": [], + "screenshotsGeneratedTotal": 0, + "imagineCredits": 0, + "realtimeConnections": 0, + "realtimeMessages": 0, + "realtimeBandwidth": 0 } }, - "addonPrice": { - "description": "AddonPrice", + "usageResources": { + "description": "Resource", "type": "object", "properties": { - "addonKey": { - "type": "string", - "description": "Addon key.", - "x-example": "baa" - }, "name": { "type": "string", - "description": "Addon display name.", - "x-example": "HIPAA BAA" + "description": "Invoice name", + "x-example": "" }, - "monthlyPrice": { + "value": { + "type": "integer", + "description": "Invoice value", + "x-example": 0, + "format": "int32" + }, + "amount": { "type": "number", - "description": "Full monthly price of the addon.", - "x-example": 350, + "description": "Invoice amount", + "x-example": 500, "format": "double" }, - "proratedAmount": { + "rate": { "type": "number", - "description": "Calculated prorated amount for the current billing cycle.", - "x-example": 175.5, + "description": "Invoice rate", + "x-example": 12.5, "format": "double" }, - "remainingDays": { - "type": "integer", - "description": "Days remaining in the current billing cycle.", - "x-example": 15, - "format": "int32" - }, - "totalCycleDays": { - "type": "integer", - "description": "Total days in the billing cycle.", - "x-example": 30, - "format": "int32" - }, - "currency": { + "desc": { "type": "string", - "description": "Currency code.", - "x-example": "USD" + "description": "Invoice description", + "x-example": "Your monthly recurring Pro plan." }, - "billingCycleEnd": { + "resourceId": { "type": "string", - "description": "When the current billing cycle ends.", - "x-example": "2024-02-01T00:00:00.000+00:00" + "description": "Resource ID", + "x-example": "" } }, "required": [ - "addonKey", "name", - "monthlyPrice", - "proratedAmount", - "remainingDays", - "totalCycleDays", - "currency", - "billingCycleEnd" - ], - "example": { - "addonKey": "baa", - "name": "HIPAA BAA", - "monthlyPrice": 350, - "proratedAmount": 175.5, - "remainingDays": 15, - "totalCycleDays": 30, - "currency": "USD", - "billingCycleEnd": "2024-02-01T00:00:00.000+00:00" - } - }, - "domainTransferOut": { - "description": "domainTransferOut", - "type": "object", - "properties": { - "authCode": { - "type": "string", - "description": "Domain transfer authorization code.", - "x-example": "mock_1a2b3c4d" - } - }, - "required": [ - "authCode" - ], - "example": { - "authCode": "mock_1a2b3c4d" - } - }, - "domainTransferStatus": { - "description": "domainTransferStatus", - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Transfer status.", - "x-example": "pending_registry", - "enum": [ - "transferrable", - "not_transferrable", - "pending_owner", - "pending_admin", - "pending_registry", - "completed", - "cancelled", - "service_unavailable" - ], - "x-enum-name": "DomainTransferStatusEnum" - }, - "reason": { - "type": "string", - "description": "Additional transfer status information.", - "x-example": "Transfer in progress" - }, - "timestamp": { - "type": "string", - "description": "Transfer status timestamp in ISO 8601 format.", - "x-example": "2020-10-15T06:38:00.000+00:00" - } - }, - "required": [ - "status", - "reason", - "timestamp" + "value", + "amount", + "rate", + "desc", + "resourceId" ], "example": { - "status": "pending_registry", - "reason": "Transfer in progress", - "timestamp": "2020-10-15T06:38:00.000+00:00" + "name": "", + "value": 0, + "amount": 500, + "rate": 12.5, + "desc": "Your monthly recurring Pro plan.", + "resourceId": "" } }, - "addonList": { - "description": "Addons list", + "activityEventList": { + "description": "Activity event list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of addons that matched your query.", + "description": "Total number of events that matched your query.", "x-example": 5, "format": "int32" }, - "addons": { + "events": { "type": "array", - "description": "List of addons.", + "description": "List of events.", "items": { "type": "object", - "$ref": "#\/definitions\/addon" + "$ref": "#\/definitions\/activityEvent" }, "x-example": "" } }, "required": [ "total", - "addons" + "events" ], "example": { "total": 5, - "addons": "" + "events": "" } }, - "activityEventList": { - "description": "Activity event list", + "addonList": { + "description": "Addons list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of events that matched your query.", + "description": "Total number of addons that matched your query.", "x-example": 5, "format": "int32" }, - "events": { + "addons": { "type": "array", - "description": "List of events.", + "description": "List of addons.", "items": { "type": "object", - "$ref": "#\/definitions\/activityEvent" + "$ref": "#\/definitions\/addon" }, "x-example": "" } }, "required": [ "total", - "events" + "addons" ], "example": { "total": 5, - "events": "" + "addons": "" } }, "aggregationTeamList": { @@ -98853,62 +105028,62 @@ "restorations": "" } }, - "invoiceList": { - "description": "Billing invoices list", + "billingAddressList": { + "description": "Billing address list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of invoices that matched your query.", + "description": "Total number of billingAddresses that matched your query.", "x-example": 5, "format": "int32" }, - "invoices": { + "billingAddresses": { "type": "array", - "description": "List of invoices.", + "description": "List of billingAddresses.", "items": { "type": "object", - "$ref": "#\/definitions\/invoice" + "$ref": "#\/definitions\/billingAddress" }, "x-example": "" } }, "required": [ "total", - "invoices" + "billingAddresses" ], "example": { "total": 5, - "invoices": "" + "billingAddresses": "" } }, - "billingAddressList": { - "description": "Billing address list", + "invoiceList": { + "description": "Billing invoices list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of billingAddresses that matched your query.", + "description": "Total number of invoices that matched your query.", "x-example": 5, "format": "int32" }, - "billingAddresses": { + "invoices": { "type": "array", - "description": "List of billingAddresses.", + "description": "List of invoices.", "items": { "type": "object", - "$ref": "#\/definitions\/billingAddress" + "$ref": "#\/definitions\/invoice" }, "x-example": "" } }, "required": [ "total", - "billingAddresses" + "invoices" ], "example": { "total": 5, - "billingAddresses": "" + "invoices": "" } }, "billingPlanList": { @@ -98940,149 +105115,149 @@ "plans": "" } }, - "organizationList": { - "description": "Organizations list", + "blockList": { + "description": "Blocks list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of teams that matched your query.", + "description": "Total number of blocks that matched your query.", "x-example": 5, "format": "int32" }, - "teams": { + "blocks": { "type": "array", - "description": "List of teams.", + "description": "List of blocks.", "items": { "type": "object", - "$ref": "#\/definitions\/organization" + "$ref": "#\/definitions\/block" }, "x-example": "" } }, "required": [ "total", - "teams" + "blocks" ], "example": { "total": 5, - "teams": "" + "blocks": "" } }, - "paymentMethodList": { - "description": "Payment methods list", + "dedicatedDatabaseAuditLogList": { + "description": "Dedicated database audit logs list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of paymentMethods that matched your query.", + "description": "Total number of auditLogs that matched your query.", "x-example": 5, "format": "int32" }, - "paymentMethods": { + "auditLogs": { "type": "array", - "description": "List of paymentMethods.", + "description": "List of auditLogs.", "items": { "type": "object", - "$ref": "#\/definitions\/paymentMethod" + "$ref": "#\/definitions\/dedicatedDatabaseAuditLog" }, "x-example": "" } }, "required": [ "total", - "paymentMethods" + "auditLogs" ], "example": { "total": 5, - "paymentMethods": "" + "auditLogs": "" } }, - "blockList": { - "description": "Blocks list", + "dedicatedDatabaseConnectionList": { + "description": "Dedicated database connections list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of blocks that matched your query.", + "description": "Total number of connections that matched your query.", "x-example": 5, "format": "int32" }, - "blocks": { + "connections": { "type": "array", - "description": "List of blocks.", + "description": "List of connections.", "items": { "type": "object", - "$ref": "#\/definitions\/block" + "$ref": "#\/definitions\/dedicatedDatabaseConnection" }, "x-example": "" } }, "required": [ "total", - "blocks" + "connections" ], "example": { "total": 5, - "blocks": "" + "connections": "" } }, - "consoleRegionList": { - "description": "Regions list", + "dedicatedDatabaseSlowQueryList": { + "description": "Dedicated database slow queries list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of regions that matched your query.", + "description": "Total number of slowQueries that matched your query.", "x-example": 5, "format": "int32" }, - "regions": { + "slowQueries": { "type": "array", - "description": "List of regions.", + "description": "List of slowQueries.", "items": { "type": "object", - "$ref": "#\/definitions\/consoleRegion" + "$ref": "#\/definitions\/dedicatedDatabaseSlowQuery" }, "x-example": "" } }, "required": [ "total", - "regions" + "slowQueries" ], "example": { "total": 5, - "regions": "" + "slowQueries": "" } }, - "domainsList": { - "description": "Domains list", + "dedicatedDatabaseList": { + "description": "Dedicated databases list", "type": "object", "properties": { "total": { "type": "integer", - "description": "Total number of domains that matched your query.", + "description": "Total number of databases that matched your query.", "x-example": 5, "format": "int32" }, - "domains": { + "databases": { "type": "array", - "description": "List of domains.", + "description": "List of databases.", "items": { "type": "object", - "$ref": "#\/definitions\/domain" + "$ref": "#\/definitions\/dedicatedDatabase" }, "x-example": "" } }, "required": [ "total", - "domains" + "databases" ], "example": { "total": 5, - "domains": "" + "databases": "" } }, "dnsRecordsList": { @@ -99142,6 +105317,180 @@ "total": 5, "suggestions": "" } + }, + "domainsList": { + "description": "Domains list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of domains that matched your query.", + "x-example": 5, + "format": "int32" + }, + "domains": { + "type": "array", + "description": "List of domains.", + "items": { + "type": "object", + "$ref": "#\/definitions\/domain" + }, + "x-example": "" + } + }, + "required": [ + "total", + "domains" + ], + "example": { + "total": 5, + "domains": "" + } + }, + "organizationList": { + "description": "Organizations list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of teams that matched your query.", + "x-example": 5, + "format": "int32" + }, + "teams": { + "type": "array", + "description": "List of teams.", + "items": { + "type": "object", + "$ref": "#\/definitions\/organization" + }, + "x-example": "" + } + }, + "required": [ + "total", + "teams" + ], + "example": { + "total": 5, + "teams": "" + } + }, + "paymentMethodList": { + "description": "Payment methods list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of paymentMethods that matched your query.", + "x-example": 5, + "format": "int32" + }, + "paymentMethods": { + "type": "array", + "description": "List of paymentMethods.", + "items": { + "type": "object", + "$ref": "#\/definitions\/paymentMethod" + }, + "x-example": "" + } + }, + "required": [ + "total", + "paymentMethods" + ], + "example": { + "total": 5, + "paymentMethods": "" + } + }, + "consoleRegionList": { + "description": "Regions list", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of regions that matched your query.", + "x-example": 5, + "format": "int32" + }, + "regions": { + "type": "array", + "description": "List of regions.", + "items": { + "type": "object", + "$ref": "#\/definitions\/consoleRegion" + }, + "x-example": "" + } + }, + "required": [ + "total", + "regions" + ], + "example": { + "total": 5, + "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": { + "type": "object", + "$ref": "#\/definitions\/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": { + "type": "object", + "$ref": "#\/definitions\/usageGauge" + }, + "x-example": "" + } + }, + "required": [ + "total", + "gauges" + ], + "example": { + "total": 5, + "gauges": "" + } } }, "externalDocs": { diff --git a/specs/1.9.x/swagger2-1.9.x-server.json b/specs/1.9.x/swagger2-1.9.x-server.json index 03204a115..203ab9375 100644 --- a/specs/1.9.x/swagger2-1.9.x-server.json +++ b/specs/1.9.x/swagger2-1.9.x-server.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "1.9.4", + "version": "1.9.5", "title": "Appwrite", "description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)", "termsOfService": "https:\/\/appwrite.io\/policy\/terms", @@ -17,6 +17,9 @@ }, "host": "cloud.appwrite.io", "x-host-docs": "<REGION>.cloud.appwrite.io", + "x-appwrite": { + "endpointDocs": "https:\/\/<REGION>.cloud.appwrite.io\/v1" + }, "basePath": "\/v1", "schemes": [ "https" @@ -225,27 +228,24 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -322,14 +322,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -545,8 +543,8 @@ "duration": { "type": "integer", "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "default": 900, "x-example": 0, + "default": 900, "format": "int32" } } @@ -658,7 +656,7 @@ "x-appwrite": { "method": "updateMFA", "group": "mfa", - "weight": 166, + "weight": 165, "cookies": false, "type": "", "demo": "account\/update-mfa.md", @@ -696,7 +694,6 @@ "mfa": { "type": "boolean", "description": "Enable or disable MFA.", - "default": null, "x-example": false } }, @@ -734,7 +731,7 @@ "x-appwrite": { "method": "createMfaAuthenticator", "group": "mfa", - "weight": 168, + "weight": 167, "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", @@ -861,7 +858,7 @@ "x-appwrite": { "method": "updateMfaAuthenticator", "group": "mfa", - "weight": 169, + "weight": 168, "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", @@ -974,7 +971,6 @@ "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -1005,7 +1001,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 170, + "weight": 169, "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", @@ -1132,7 +1128,7 @@ "x-appwrite": { "method": "createMfaChallenge", "group": "mfa", - "weight": 174, + "weight": 173, "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", @@ -1228,7 +1224,6 @@ "factor": { "type": "string", "description": "Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.", - "default": null, "x-example": "email", "enum": [ "email", @@ -1272,7 +1267,7 @@ "x-appwrite": { "method": "updateMfaChallenge", "group": "mfa", - "weight": 175, + "weight": 174, "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", @@ -1372,13 +1367,11 @@ "challengeId": { "type": "string", "description": "ID of the challenge.", - "default": null, "x-example": "<CHALLENGE_ID>" }, "otp": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<OTP>" } }, @@ -1415,7 +1408,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 167, + "weight": 166, "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", @@ -1519,7 +1512,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 173, + "weight": 172, "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", @@ -1623,7 +1616,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 171, + "weight": 170, "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", @@ -1727,7 +1720,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 172, + "weight": 171, "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", @@ -1871,7 +1864,6 @@ "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -1947,14 +1939,13 @@ "password": { "type": "string", "description": "New user password. Must be at least 8 chars.", - "default": null, "x-example": null }, "oldPassword": { "type": "string", "description": "Current user password. Must be at least 8 chars.", - "default": "", "x-example": "password", + "default": "", "format": "password" } }, @@ -2030,14 +2021,12 @@ "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -2167,8 +2156,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}" + "x-example": "{\"language\":\"en\",\"timezone\":\"UTC\",\"darkTheme\":true}", + "default": {} } }, "required": [ @@ -2246,14 +2235,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -2329,19 +2316,16 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid reset token.", - "default": null, "x-example": "<SECRET>" }, "password": { "type": "string", "description": "New user password. Must be between 8 and 256 chars.", - "default": null, "x-example": null } }, @@ -2578,14 +2562,12 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password. Must be at least 8 chars.", - "default": null, "x-example": "password", "format": "password" } @@ -2667,13 +2649,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -2686,6 +2666,146 @@ ] } }, + "\/account\/sessions\/oauth2\/{provider}": { + "get": { + "summary": "Create OAuth2 session", + "operationId": "accountCreateOAuth2Session", + "consumes": [], + "produces": [ + "text\/html" + ], + "tags": [ + "account" + ], + "description": "Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.\n\nIf there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", + "responses": { + "301": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createOAuth2Session", + "group": "sessions", + "weight": 19, + "cookies": false, + "type": "webAuth", + "demo": "account\/create-o-auth-2-session.md", + "rate-limit": 50, + "rate-time": 3600, + "rate-key": "ip:{ip}", + "scope": "sessions.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "provider", + "description": "OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, x, yahoo, yammer, yandex, zoho, zoom.", + "required": true, + "type": "string", + "x-example": "amazon", + "enum": [ + "amazon", + "apple", + "auth0", + "authentik", + "autodesk", + "bitbucket", + "bitly", + "box", + "dailymotion", + "discord", + "disqus", + "dropbox", + "etsy", + "facebook", + "figma", + "fusionauth", + "github", + "gitlab", + "google", + "keycloak", + "kick", + "linkedin", + "microsoft", + "notion", + "oidc", + "okta", + "paypal", + "paypalSandbox", + "podio", + "salesforce", + "slack", + "spotify", + "stripe", + "tradeshift", + "tradeshiftBox", + "twitch", + "wordpress", + "x", + "yahoo", + "yammer", + "yandex", + "zoho", + "zoom" + ], + "x-enum-name": "OAuthProvider", + "x-enum-keys": [], + "in": "path" + }, + { + "name": "success", + "description": "URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "required": false, + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "", + "in": "query" + }, + { + "name": "failure", + "description": "URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", + "required": false, + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "", + "in": "query" + }, + { + "name": "scopes", + "description": "A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + } + ] + } + }, "\/account\/sessions\/phone": { "put": { "summary": "Update phone session", @@ -2754,13 +2874,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -2837,13 +2955,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Secret of a token generated by login methods. For example, the `createMagicURLToken` or `createPhoneToken` methods.", - "default": null, "x-example": "<SECRET>" } }, @@ -3099,10 +3215,10 @@ ] } }, - "\/account\/tokens\/email": { + "\/account\/targets\/push": { "post": { - "summary": "Create email token (OTP)", - "operationId": "accountCreateEmailToken", + "summary": "Create push target", + "operationId": "accountCreatePushTarget", "consumes": [ "application\/json" ], @@ -3112,30 +3228,27 @@ "tags": [ "account" ], - "description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. Use the returned user ID and secret and submit a request to the [POST \/v1\/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process. The secret sent to the user's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", + "description": "Use this endpoint to register a device for push notifications. Provide a target ID (custom or generated using ID.unique()), a device identifier (usually a device token), and optionally specify which provider should send notifications to this target. The target is automatically linked to the current session and includes device information like brand and model.", "responses": { "201": { - "description": "Token", + "description": "Target", "schema": { - "$ref": "#\/definitions\/token" + "$ref": "#\/definitions\/target" } } }, "deprecated": false, "x-appwrite": { - "method": "createEmailToken", - "group": "tokens", - "weight": 25, + "method": "createPushTarget", + "group": "pushTargets", + "weight": 44, "cookies": false, "type": "", - "demo": "account\/create-email-token.md", - "rate-limit": 10, + "demo": "account\/create-push-target.md", + "rate-limit": 0, "rate-time": 3600, - "rate-key": [ - "url:{url},email:{param-email}", - "url:{url},ip:{ip}" - ], - "scope": "sessions.write", + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", "platforms": [ "console", "client", @@ -3143,7 +3256,7 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [], "Session": [] @@ -3163,39 +3276,178 @@ "schema": { "type": "object", "properties": { - "userId": { + "targetId": { "type": "string", - "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, - "x-example": "<USER_ID>" + "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", + "x-example": "<TARGET_ID>" }, - "email": { + "identifier": { "type": "string", - "description": "User email.", - "default": null, - "x-example": "email@example.com", - "format": "email" + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" }, - "phrase": { - "type": "boolean", - "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "providerId": { + "type": "string", + "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", + "x-example": "<PROVIDER_ID>", + "default": "" } }, "required": [ - "userId", - "email" + "targetId", + "identifier" ] } } ] } }, - "\/account\/tokens\/magic-url": { + "\/account\/targets\/{targetId}\/push": { + "put": { + "summary": "Update push target", + "operationId": "accountUpdatePushTarget", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "account" + ], + "description": "Update the currently logged in user's push notification target. You can modify the target's identifier (device token) and provider ID (token, email, phone etc.). The target must exist and belong to the current user. If you change the provider ID, notifications will be sent through the new messaging provider instead.", + "responses": { + "200": { + "description": "Target", + "schema": { + "$ref": "#\/definitions\/target" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updatePushTarget", + "group": "pushTargets", + "weight": 45, + "cookies": false, + "type": "", + "demo": "account\/update-push-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "type": "string", + "x-example": "<TARGET_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The target identifier (token, email, phone etc.)", + "x-example": "<IDENTIFIER>" + } + }, + "required": [ + "identifier" + ] + } + } + ] + }, + "delete": { + "summary": "Delete push target", + "operationId": "accountDeletePushTarget", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "account" + ], + "description": "Delete a push notification target for the currently logged in user. After deletion, the device will no longer receive push notifications. The target must exist and belong to the current user.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deletePushTarget", + "group": "pushTargets", + "weight": 46, + "cookies": false, + "type": "", + "demo": "account\/delete-push-target.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "targets.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "targetId", + "description": "Target ID.", + "required": true, + "type": "string", + "x-example": "<TARGET_ID>", + "in": "path" + } + ] + } + }, + "\/account\/tokens\/email": { "post": { - "summary": "Create magic URL token", - "operationId": "accountCreateMagicURLToken", + "summary": "Create email token (OTP)", + "operationId": "accountCreateEmailToken", "consumes": [ "application\/json" ], @@ -3205,7 +3457,7 @@ "tags": [ "account" ], - "description": "Sends the user an email with a secret key for creating a session. If the provided user ID has not been registered, a new user will be created. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [POST \/v1\/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process. The link sent to the user's email address is valid for 1 hour.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", + "description": "Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided `userId`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. Use the returned user ID and secret and submit a request to the [POST \/v1\/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process. The secret sent to the user's email is valid for 15 minutes.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", "responses": { "201": { "description": "Token", @@ -3216,13 +3468,13 @@ }, "deprecated": false, "x-appwrite": { - "method": "createMagicURLToken", + "method": "createEmailToken", "group": "tokens", - "weight": 24, + "weight": 25, "cookies": false, "type": "", - "demo": "account\/create-magic-url-token.md", - "rate-limit": 60, + "demo": "account\/create-email-token.md", + "rate-limit": 10, "rate-time": 3600, "rate-key": [ "url:{url},email:{param-email}", @@ -3236,7 +3488,98 @@ ], "packaging": false, "public": true, - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", + "x-example": "<USER_ID>" + }, + "email": { + "type": "string", + "description": "User email.", + "x-example": "email@example.com", + "format": "email" + }, + "phrase": { + "type": "boolean", + "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", + "x-example": false, + "default": false + } + }, + "required": [ + "userId", + "email" + ] + } + } + ] + } + }, + "\/account\/tokens\/magic-url": { + "post": { + "summary": "Create magic URL token", + "operationId": "accountCreateMagicURLToken", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "account" + ], + "description": "Sends the user an email with a secret key for creating a session. If the provided user ID has not been registered, a new user will be created. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [POST \/v1\/account\/sessions\/token](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint to complete the login process. The link sent to the user's email address is valid for 1 hour.\n\nA user is limited to 10 active sessions at a time by default. [Learn more about session limits](https:\/\/appwrite.io\/docs\/authentication-security#limits).\n", + "responses": { + "201": { + "description": "Token", + "schema": { + "$ref": "#\/definitions\/token" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createMagicURLToken", + "group": "tokens", + "weight": 24, + "cookies": false, + "type": "", + "demo": "account\/create-magic-url-token.md", + "rate-limit": 60, + "rate-time": 3600, + "rate-key": [ + "url:{url},email:{param-email}", + "url:{url},ip:{ip}" + ], + "scope": "sessions.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [], "Session": [] @@ -3259,28 +3602,26 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "url": { "type": "string", "description": "URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", "x-example": "https:\/\/example.com", + "default": "", "format": "url" }, "phrase": { "type": "boolean", "description": "Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -3499,13 +3840,11 @@ "userId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.", - "default": null, "x-example": "<USER_ID>" }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone" } @@ -3637,7 +3976,6 @@ "url": { "type": "string", "description": "URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": null, "x-example": "https:\/\/example.com", "format": "url" } @@ -3770,13 +4108,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -3910,13 +4246,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Valid verification token.", - "default": null, "x-example": "<SECRET>" } }, @@ -3953,7 +4287,7 @@ "x-appwrite": { "method": "listEvents", "group": null, - "weight": 1193, + "weight": 1258, "cookies": false, "type": "", "demo": "activities\/list-events.md", @@ -4015,7 +4349,7 @@ "x-appwrite": { "method": "getEvent", "group": "events", - "weight": 1194, + "weight": 1259, "cookies": false, "type": "", "demo": "activities\/get-event.md", @@ -4077,7 +4411,7 @@ "x-appwrite": { "method": "getBrowser", "group": null, - "weight": 177, + "weight": 176, "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", @@ -4205,7 +4539,7 @@ "x-appwrite": { "method": "getCreditCard", "group": null, - "weight": 176, + "weight": 175, "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", @@ -4339,7 +4673,7 @@ "x-appwrite": { "method": "getFavicon", "group": null, - "weight": 180, + "weight": 179, "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", @@ -4405,7 +4739,7 @@ "x-appwrite": { "method": "getFlag", "group": null, - "weight": 178, + "weight": 177, "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", @@ -4895,7 +5229,7 @@ "x-appwrite": { "method": "getImage", "group": null, - "weight": 179, + "weight": 178, "cookies": false, "type": "location", "demo": "avatars\/get-image.md", @@ -4981,7 +5315,7 @@ "x-appwrite": { "method": "getInitials", "group": null, - "weight": 182, + "weight": 181, "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", @@ -5075,7 +5409,7 @@ "x-appwrite": { "method": "getQR", "group": null, - "weight": 181, + "weight": 180, "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", @@ -5169,7 +5503,7 @@ "x-appwrite": { "method": "getScreenshot", "group": null, - "weight": 183, + "weight": 182, "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", @@ -5294,7 +5628,7 @@ "description": "IANA timezone identifier (e.g., \"America\/New_York\", \"Europe\/London\"). Defaults to browser default.", "required": false, "type": "string", - "x-example": "america\/new_york", + "x-example": "America\/New_York", "enum": [ "africa\/abidjan", "africa\/accra", @@ -5718,7 +6052,6 @@ ], "x-enum-name": null, "x-enum-keys": [], - "default": "", "in": "query" }, { @@ -5854,7 +6187,6 @@ ], "x-enum-name": "ImageFormat", "x-enum-keys": [], - "default": "", "in": "query" } ] @@ -5884,7 +6216,7 @@ "x-appwrite": { "method": "listArchives", "group": null, - "weight": 1064, + "weight": 1127, "cookies": false, "type": "", "demo": "backups\/list-archives.md", @@ -5950,7 +6282,7 @@ "x-appwrite": { "method": "createArchive", "group": null, - "weight": 1065, + "weight": 1128, "cookies": false, "type": "", "demo": "backups\/create-archive.md", @@ -5986,7 +6318,6 @@ "services": { "type": "array", "description": "Array of services to backup", - "default": null, "x-example": null, "items": { "type": "string", @@ -6005,7 +6336,6 @@ "resourceId": { "type": "string", "description": "Resource ID. When set, only this single resource will be backed up.", - "default": null, "x-example": "<RESOURCE_ID>", "x-nullable": true } @@ -6042,7 +6372,7 @@ "x-appwrite": { "method": "getArchive", "group": null, - "weight": 1063, + "weight": 1126, "cookies": false, "type": "", "demo": "backups\/get-archive.md", @@ -6101,7 +6431,7 @@ "x-appwrite": { "method": "deleteArchive", "group": null, - "weight": 1066, + "weight": 1129, "cookies": false, "type": "", "demo": "backups\/delete-archive.md", @@ -6163,7 +6493,7 @@ "x-appwrite": { "method": "listPolicies", "group": null, - "weight": 1059, + "weight": 1122, "cookies": false, "type": "", "demo": "backups\/list-policies.md", @@ -6232,7 +6562,7 @@ "x-appwrite": { "method": "createPolicy", "group": null, - "weight": 1060, + "weight": 1123, "cookies": false, "type": "", "demo": "backups\/create-policy.md", @@ -6271,19 +6601,17 @@ "policyId": { "type": "string", "description": "Policy ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<POLICY_ID>" }, "name": { "type": "string", "description": "Policy name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "services": { "type": "array", "description": "Array of services to backup", - "default": null, "x-example": null, "items": { "type": "string", @@ -6302,27 +6630,24 @@ "resourceId": { "type": "string", "description": "Resource ID. When set, only this single resource will be backed up.", - "default": null, "x-example": "<RESOURCE_ID>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "Is policy enabled? When set to 'disabled', no backups will be taken", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "retention": { "type": "integer", "description": "Days to keep backups before deletion", - "default": null, "x-example": 1, "format": "int32" }, "schedule": { "type": "string", "description": "Schedule CRON syntax.", - "default": null, "x-example": null } }, @@ -6361,7 +6686,7 @@ "x-appwrite": { "method": "getPolicy", "group": null, - "weight": 1058, + "weight": 1121, "cookies": false, "type": "", "demo": "backups\/get-policy.md", @@ -6426,7 +6751,7 @@ "x-appwrite": { "method": "updatePolicy", "group": null, - "weight": 1061, + "weight": 1124, "cookies": false, "type": "", "demo": "backups\/update-policy.md", @@ -6473,14 +6798,12 @@ "name": { "type": "string", "description": "Policy name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>", "x-nullable": true }, "retention": { "type": "integer", "description": "Days to keep backups before deletion", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -6488,13 +6811,11 @@ "schedule": { "type": "string", "description": "Cron expression", - "default": null, "x-example": null }, "enabled": { "type": "boolean", "description": "Is Backup enabled? When set to 'disabled', No backup will be taken", - "default": null, "x-example": false, "x-nullable": true } @@ -6525,7 +6846,7 @@ "x-appwrite": { "method": "deletePolicy", "group": null, - "weight": 1062, + "weight": 1125, "cookies": false, "type": "", "demo": "backups\/delete-policy.md", @@ -6592,7 +6913,7 @@ "x-appwrite": { "method": "createRestoration", "group": null, - "weight": 1069, + "weight": 1132, "cookies": false, "type": "", "demo": "backups\/create-restoration.md", @@ -6628,13 +6949,11 @@ "archiveId": { "type": "string", "description": "Backup archive ID to restore", - "default": null, "x-example": "<ARCHIVE_ID>" }, "services": { "type": "array", "description": "Array of services to restore", - "default": null, "x-example": null, "items": { "type": "string", @@ -6653,14 +6972,14 @@ "newResourceId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<NEW_RESOURCE_ID>" + "x-example": "<NEW_RESOURCE_ID>", + "default": "" }, "newResourceName": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": "", - "x-example": "<NEW_RESOURCE_NAME>" + "x-example": "<NEW_RESOURCE_NAME>", + "default": "" } }, "required": [ @@ -6696,7 +7015,7 @@ "x-appwrite": { "method": "listRestorations", "group": null, - "weight": 1068, + "weight": 1131, "cookies": false, "type": "", "demo": "backups\/list-restorations.md", @@ -6762,7 +7081,7 @@ "x-appwrite": { "method": "getRestoration", "group": null, - "weight": 1067, + "weight": 1130, "cookies": false, "type": "", "demo": "backups\/get-restoration.md", @@ -6824,7 +7143,7 @@ "x-appwrite": { "method": "list", "group": "databases", - "weight": 691, + "weight": 704, "cookies": false, "type": "", "demo": "databases\/list.md", @@ -6942,7 +7261,7 @@ "x-appwrite": { "method": "create", "group": "databases", - "weight": 687, + "weight": 700, "cookies": false, "type": "", "demo": "databases\/create.md", @@ -7015,20 +7334,18 @@ "databaseId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<DATABASE_ID>" }, "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -7064,7 +7381,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 761, + "weight": 774, "cookies": false, "type": "", "demo": "databases\/list-transactions.md", @@ -7133,7 +7450,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 757, + "weight": 770, "cookies": false, "type": "", "demo": "databases\/create-transaction.md", @@ -7172,8 +7489,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -7206,7 +7523,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 758, + "weight": 771, "cookies": false, "type": "", "demo": "databases\/get-transaction.md", @@ -7271,7 +7588,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 759, + "weight": 772, "cookies": false, "type": "", "demo": "databases\/update-transaction.md", @@ -7318,14 +7635,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -7352,7 +7669,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 760, + "weight": 773, "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", @@ -7419,7 +7736,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 762, + "weight": 775, "cookies": false, "type": "", "demo": "databases\/create-operations.md", @@ -7466,8 +7783,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -7502,7 +7819,7 @@ "x-appwrite": { "method": "get", "group": "databases", - "weight": 688, + "weight": 701, "cookies": false, "type": "", "demo": "databases\/get.md", @@ -7598,7 +7915,7 @@ "x-appwrite": { "method": "update", "group": "databases", - "weight": 689, + "weight": 702, "cookies": false, "type": "", "demo": "databases\/update.md", @@ -7678,14 +7995,13 @@ "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } } } @@ -7712,7 +8028,7 @@ "x-appwrite": { "method": "delete", "group": "databases", - "weight": 690, + "weight": 703, "cookies": false, "type": "", "demo": "databases\/delete.md", @@ -7807,7 +8123,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 699, + "weight": 712, "cookies": false, "type": "", "demo": "databases\/list-collections.md", @@ -7903,7 +8219,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 695, + "weight": 708, "cookies": false, "type": "", "demo": "databases\/create-collection.md", @@ -7951,19 +8267,16 @@ "collectionId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<COLLECTION_ID>" }, "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -7973,20 +8286,20 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "attributes": { "type": "array", "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -7994,8 +8307,8 @@ "indexes": { "type": "array", "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -8034,7 +8347,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 696, + "weight": 709, "cookies": false, "type": "", "demo": "databases\/get-collection.md", @@ -8108,7 +8421,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 697, + "weight": 710, "cookies": false, "type": "", "demo": "databases\/update-collection.md", @@ -8164,13 +8477,11 @@ "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -8180,20 +8491,20 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "purge": { "type": "boolean", "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -8220,7 +8531,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 698, + "weight": 711, "cookies": false, "type": "", "demo": "databases\/delete-collection.md", @@ -8294,7 +8605,7 @@ "x-appwrite": { "method": "listAttributes", "group": "attributes", - "weight": 716, + "weight": 729, "cookies": false, "type": "", "demo": "databases\/list-attributes.md", @@ -8391,7 +8702,7 @@ "x-appwrite": { "method": "createBigIntAttribute", "group": "attributes", - "weight": 729, + "weight": 742, "cookies": false, "type": "", "demo": "databases\/create-big-int-attribute.md", @@ -8447,19 +8758,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8467,7 +8775,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8475,7 +8782,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8483,8 +8789,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -8522,7 +8828,7 @@ "x-appwrite": { "method": "updateBigIntAttribute", "group": "attributes", - "weight": 730, + "weight": 743, "cookies": false, "type": "", "demo": "databases\/update-big-int-attribute.md", @@ -8585,13 +8891,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8599,7 +8903,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8607,7 +8910,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -8615,7 +8917,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -8655,7 +8956,7 @@ "x-appwrite": { "method": "createBooleanAttribute", "group": "attributes", - "weight": 717, + "weight": 730, "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", @@ -8711,27 +9012,24 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": false, "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -8769,7 +9067,7 @@ "x-appwrite": { "method": "updateBooleanAttribute", "group": "attributes", - "weight": 718, + "weight": 731, "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", @@ -8832,20 +9130,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": false, "x-nullable": true }, "newKey": { "type": "string", "description": "New attribute key.", - "default": null, "x-example": null, "x-nullable": true } @@ -8885,7 +9180,7 @@ "x-appwrite": { "method": "createDatetimeAttribute", "group": "attributes", - "weight": 719, + "weight": 732, "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", @@ -8941,19 +9236,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for the attribute in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when attribute is required.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -8961,8 +9253,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -9000,7 +9292,7 @@ "x-appwrite": { "method": "updateDatetimeAttribute", "group": "attributes", - "weight": 720, + "weight": 733, "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", @@ -9063,13 +9355,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -9077,7 +9367,6 @@ "newKey": { "type": "string", "description": "New attribute key.", - "default": null, "x-example": null, "x-nullable": true } @@ -9117,7 +9406,7 @@ "x-appwrite": { "method": "createEmailAttribute", "group": "attributes", - "weight": 721, + "weight": 734, "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", @@ -9173,19 +9462,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -9193,8 +9479,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -9232,7 +9518,7 @@ "x-appwrite": { "method": "updateEmailAttribute", "group": "attributes", - "weight": 722, + "weight": 735, "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", @@ -9295,13 +9581,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -9309,7 +9593,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -9349,7 +9632,7 @@ "x-appwrite": { "method": "createEnumAttribute", "group": "attributes", - "weight": 723, + "weight": 736, "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", @@ -9405,13 +9688,11 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "elements": { "type": "array", "description": "Array of enum values.", - "default": null, "x-example": null, "items": { "type": "string" @@ -9420,21 +9701,19 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -9473,7 +9752,7 @@ "x-appwrite": { "method": "updateEnumAttribute", "group": "attributes", - "weight": 724, + "weight": 737, "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", @@ -9536,7 +9815,6 @@ "elements": { "type": "array", "description": "Updated list of enum values.", - "default": null, "x-example": null, "items": { "type": "string" @@ -9545,20 +9823,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -9599,7 +9874,7 @@ "x-appwrite": { "method": "createFloatAttribute", "group": "attributes", - "weight": 725, + "weight": 738, "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", @@ -9655,19 +9930,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "number", "description": "Minimum value.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9675,7 +9947,6 @@ "max": { "type": "number", "description": "Maximum value.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9683,7 +9954,6 @@ "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9691,8 +9961,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -9730,7 +10000,7 @@ "x-appwrite": { "method": "updateFloatAttribute", "group": "attributes", - "weight": 726, + "weight": 739, "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", @@ -9793,13 +10063,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "number", "description": "Minimum value.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9807,7 +10075,6 @@ "max": { "type": "number", "description": "Maximum value.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9815,7 +10082,6 @@ "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -9823,7 +10089,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -9863,7 +10128,7 @@ "x-appwrite": { "method": "createIntegerAttribute", "group": "attributes", - "weight": 727, + "weight": 740, "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", @@ -9919,19 +10184,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -9939,7 +10201,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -9947,7 +10208,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -9955,8 +10215,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -9994,7 +10254,7 @@ "x-appwrite": { "method": "updateIntegerAttribute", "group": "attributes", - "weight": 728, + "weight": 741, "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", @@ -10057,13 +10317,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -10071,7 +10329,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -10079,7 +10336,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -10087,7 +10343,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -10127,7 +10382,7 @@ "x-appwrite": { "method": "createIpAttribute", "group": "attributes", - "weight": 731, + "weight": 744, "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", @@ -10183,27 +10438,24 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -10241,7 +10493,7 @@ "x-appwrite": { "method": "updateIpAttribute", "group": "attributes", - "weight": 732, + "weight": 745, "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", @@ -10304,20 +10556,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "default": null, "x-example": null, "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -10357,7 +10606,7 @@ "x-appwrite": { "method": "createLineAttribute", "group": "attributes", - "weight": 733, + "weight": 746, "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", @@ -10413,19 +10662,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "default": null, "x-example": "[[1, 2], [3, 4], [5, 6]]", "x-nullable": true } @@ -10465,7 +10711,7 @@ "x-appwrite": { "method": "updateLineAttribute", "group": "attributes", - "weight": 734, + "weight": 747, "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", @@ -10528,20 +10774,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when attribute is required.", - "default": null, "x-example": "[[1, 2], [3, 4], [5, 6]]", "x-nullable": true }, "newKey": { "type": "string", "description": "New attribute key.", - "default": null, "x-example": null, "x-nullable": true } @@ -10580,7 +10823,7 @@ "x-appwrite": { "method": "createLongtextAttribute", "group": "attributes", - "weight": 751, + "weight": 764, "cookies": false, "type": "", "demo": "databases\/create-longtext-attribute.md", @@ -10632,33 +10875,30 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -10696,7 +10936,7 @@ "x-appwrite": { "method": "updateLongtextAttribute", "group": "attributes", - "weight": 752, + "weight": 765, "cookies": false, "type": "", "demo": "databases\/update-longtext-attribute.md", @@ -10755,20 +10995,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -10808,7 +11045,7 @@ "x-appwrite": { "method": "createMediumtextAttribute", "group": "attributes", - "weight": 749, + "weight": 762, "cookies": false, "type": "", "demo": "databases\/create-mediumtext-attribute.md", @@ -10860,33 +11097,30 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -10924,7 +11158,7 @@ "x-appwrite": { "method": "updateMediumtextAttribute", "group": "attributes", - "weight": 750, + "weight": 763, "cookies": false, "type": "", "demo": "databases\/update-mediumtext-attribute.md", @@ -10983,20 +11217,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -11036,7 +11267,7 @@ "x-appwrite": { "method": "createPointAttribute", "group": "attributes", - "weight": 735, + "weight": 748, "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", @@ -11092,19 +11323,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "default": null, "x-example": "[1, 2]", "x-nullable": true } @@ -11144,7 +11372,7 @@ "x-appwrite": { "method": "updatePointAttribute", "group": "attributes", - "weight": 736, + "weight": 749, "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", @@ -11207,20 +11435,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.", - "default": null, "x-example": "[1, 2]", "x-nullable": true }, "newKey": { "type": "string", "description": "New attribute key.", - "default": null, "x-example": null, "x-nullable": true } @@ -11259,7 +11484,7 @@ "x-appwrite": { "method": "createPolygonAttribute", "group": "attributes", - "weight": 737, + "weight": 750, "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", @@ -11315,19 +11540,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "default": null, "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", "x-nullable": true } @@ -11367,7 +11589,7 @@ "x-appwrite": { "method": "updatePolygonAttribute", "group": "attributes", - "weight": 738, + "weight": 751, "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", @@ -11430,20 +11652,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.", - "default": null, "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", "x-nullable": true }, "newKey": { "type": "string", "description": "New attribute key.", - "default": null, "x-example": null, "x-nullable": true } @@ -11482,7 +11701,7 @@ "x-appwrite": { "method": "createRelationshipAttribute", "group": "attributes", - "weight": 739, + "weight": 752, "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", @@ -11538,13 +11757,11 @@ "relatedCollectionId": { "type": "string", "description": "Related Collection ID.", - "default": null, "x-example": "<RELATED_COLLECTION_ID>" }, "type": { "type": "string", "description": "Relation type", - "default": null, "x-example": "oneToOne", "enum": [ "oneToOne", @@ -11558,28 +11775,26 @@ "twoWay": { "type": "boolean", "description": "Is Two Way?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null, "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", - "default": null, "x-example": null, "x-nullable": true }, "onDelete": { "type": "string", "description": "Constraints option", - "default": "restrict", "x-example": "cascade", + "default": "restrict", "enum": [ "cascade", "restrict", @@ -11624,7 +11839,7 @@ "x-appwrite": { "method": "updateRelationshipAttribute", "group": "attributes", - "weight": 740, + "weight": 753, "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", @@ -11687,7 +11902,6 @@ "onDelete": { "type": "string", "description": "Constraints option", - "default": null, "x-example": "cascade", "enum": [ "cascade", @@ -11700,7 +11914,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -11736,7 +11949,7 @@ "x-appwrite": { "method": "createStringAttribute", "group": "attributes", - "weight": 741, + "weight": 754, "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", @@ -11792,40 +12005,36 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "size": { "type": "integer", "description": "Attribute size for text attributes, in number of characters.", - "default": null, "x-example": 1, "format": "int32" }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -11864,7 +12073,7 @@ "x-appwrite": { "method": "updateStringAttribute", "group": "attributes", - "weight": 742, + "weight": 755, "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", @@ -11927,20 +12136,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "size": { "type": "integer", "description": "Maximum size of the string attribute.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -11948,7 +12154,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -11988,7 +12193,7 @@ "x-appwrite": { "method": "createTextAttribute", "group": "attributes", - "weight": 747, + "weight": 760, "cookies": false, "type": "", "demo": "databases\/create-text-attribute.md", @@ -12040,33 +12245,30 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -12104,7 +12306,7 @@ "x-appwrite": { "method": "updateTextAttribute", "group": "attributes", - "weight": 748, + "weight": 761, "cookies": false, "type": "", "demo": "databases\/update-text-attribute.md", @@ -12163,20 +12365,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -12216,7 +12415,7 @@ "x-appwrite": { "method": "createUrlAttribute", "group": "attributes", - "weight": 743, + "weight": 756, "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", @@ -12272,19 +12471,16 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -12292,8 +12488,8 @@ "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -12331,7 +12527,7 @@ "x-appwrite": { "method": "updateUrlAttribute", "group": "attributes", - "weight": 744, + "weight": 757, "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", @@ -12394,13 +12590,11 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -12408,7 +12602,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -12448,7 +12641,7 @@ "x-appwrite": { "method": "createVarcharAttribute", "group": "attributes", - "weight": 745, + "weight": 758, "cookies": false, "type": "", "demo": "databases\/create-varchar-attribute.md", @@ -12500,40 +12693,36 @@ "key": { "type": "string", "description": "Attribute Key.", - "default": null, "x-example": null }, "size": { "type": "integer", "description": "Attribute size for varchar attributes, in number of characters. Maximum size is 16381.", - "default": null, "x-example": 1, "format": "int32" }, "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is attribute an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -12572,7 +12761,7 @@ "x-appwrite": { "method": "updateVarcharAttribute", "group": "attributes", - "weight": 746, + "weight": 759, "cookies": false, "type": "", "demo": "databases\/update-varchar-attribute.md", @@ -12631,20 +12820,17 @@ "required": { "type": "boolean", "description": "Is attribute required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "size": { "type": "integer", "description": "Maximum size of the varchar attribute.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -12652,7 +12838,6 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -12772,7 +12957,7 @@ "x-appwrite": { "method": "getAttribute", "group": "attributes", - "weight": 714, + "weight": 727, "cookies": false, "type": "", "demo": "databases\/get-attribute.md", @@ -12848,7 +13033,7 @@ "x-appwrite": { "method": "deleteAttribute", "group": "attributes", - "weight": 715, + "weight": 728, "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", @@ -12929,7 +13114,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 905, + "weight": 918, "cookies": false, "type": "", "demo": "databases\/list-documents.md", @@ -13045,7 +13230,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 702, + "weight": 715, "cookies": false, "type": "", "demo": "databases\/create-document.md", @@ -13175,19 +13360,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -13197,8 +13381,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -13206,7 +13390,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13240,7 +13423,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 707, + "weight": 720, "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", @@ -13331,7 +13514,6 @@ "documents": { "type": "array", "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, "x-example": null, "items": { "type": "object" @@ -13340,7 +13522,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13377,7 +13558,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 705, + "weight": 718, "cookies": false, "type": "", "demo": "databases\/update-documents.md", @@ -13433,14 +13614,14 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -13448,7 +13629,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13482,7 +13662,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 709, + "weight": 722, "cookies": false, "type": "", "demo": "databases\/delete-documents.md", @@ -13538,8 +13718,8 @@ "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -13547,7 +13727,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13581,7 +13760,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 703, + "weight": 716, "cookies": false, "type": "", "demo": "databases\/get-document.md", @@ -13686,7 +13865,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 706, + "weight": 719, "cookies": false, "type": "", "demo": "databases\/upsert-document.md", @@ -13790,13 +13969,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -13806,7 +13984,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13840,7 +14017,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 704, + "weight": 717, "cookies": false, "type": "", "demo": "databases\/update-document.md", @@ -13907,13 +14084,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -13923,7 +14099,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -13952,7 +14127,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 708, + "weight": 721, "cookies": false, "type": "", "demo": "databases\/delete-document.md", @@ -14019,7 +14194,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -14055,7 +14229,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 713, + "weight": 726, "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", @@ -14129,14 +14303,13 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -14144,7 +14317,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -14180,7 +14352,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 712, + "weight": 725, "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", @@ -14254,14 +14426,13 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -14269,7 +14440,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -14303,7 +14473,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 756, + "weight": 769, "cookies": false, "type": "", "demo": "databases\/list-indexes.md", @@ -14398,7 +14568,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 753, + "weight": 766, "cookies": false, "type": "", "demo": "databases\/create-index.md", @@ -14454,13 +14624,11 @@ "key": { "type": "string", "description": "Index Key.", - "default": null, "x-example": null }, "type": { "type": "string", "description": "Index type.", - "default": null, "x-example": "key", "enum": [ "key", @@ -14474,7 +14642,6 @@ "attributes": { "type": "array", "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -14483,8 +14650,8 @@ "orders": { "type": "array", "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -14498,8 +14665,8 @@ "lengths": { "type": "array", "description": "Length of index. Maximum of 100", - "default": [], "x-example": null, + "default": [], "items": { "type": "integer" } @@ -14539,7 +14706,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 754, + "weight": 767, "cookies": false, "type": "", "demo": "databases\/get-index.md", @@ -14615,7 +14782,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 755, + "weight": 768, "cookies": false, "type": "", "demo": "databases\/delete-index.md", @@ -14696,7 +14863,7 @@ "x-appwrite": { "method": "list", "group": "documentsdb", - "weight": 842, + "weight": 920, "cookies": false, "type": "", "demo": "documentsdb\/list.md", @@ -14735,15 +14902,6 @@ "default": [], "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -14780,7 +14938,7 @@ "x-appwrite": { "method": "create", "group": "documentsdb", - "weight": 838, + "weight": 922, "cookies": false, "type": "", "demo": "documentsdb\/create.md", @@ -14816,20 +14974,18 @@ "databaseId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<DATABASE_ID>" }, "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -14865,7 +15021,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 870, + "weight": 883, "cookies": false, "type": "", "demo": "documentsdb\/list-transactions.md", @@ -14934,7 +15090,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 866, + "weight": 879, "cookies": false, "type": "", "demo": "documentsdb\/create-transaction.md", @@ -14973,8 +15129,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -15007,7 +15163,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 867, + "weight": 880, "cookies": false, "type": "", "demo": "documentsdb\/get-transaction.md", @@ -15072,7 +15228,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 868, + "weight": 881, "cookies": false, "type": "", "demo": "documentsdb\/update-transaction.md", @@ -15119,14 +15275,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -15153,7 +15309,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 869, + "weight": 882, "cookies": false, "type": "", "demo": "documentsdb\/delete-transaction.md", @@ -15220,7 +15376,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 871, + "weight": 884, "cookies": false, "type": "", "demo": "documentsdb\/create-operations.md", @@ -15266,8 +15422,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -15302,7 +15458,7 @@ "x-appwrite": { "method": "get", "group": "documentsdb", - "weight": 839, + "weight": 852, "cookies": false, "type": "", "demo": "documentsdb\/get.md", @@ -15364,7 +15520,7 @@ "x-appwrite": { "method": "update", "group": "documentsdb", - "weight": 840, + "weight": 853, "cookies": false, "type": "", "demo": "documentsdb\/update.md", @@ -15408,14 +15564,13 @@ "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -15445,7 +15600,7 @@ "x-appwrite": { "method": "delete", "group": "documentsdb", - "weight": 841, + "weight": 923, "cookies": false, "type": "", "demo": "documentsdb\/delete.md", @@ -15507,7 +15662,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 849, + "weight": 862, "cookies": false, "type": "", "demo": "documentsdb\/list-collections.md", @@ -15599,7 +15754,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 845, + "weight": 858, "cookies": false, "type": "", "demo": "documentsdb\/create-collection.md", @@ -15643,19 +15798,16 @@ "collectionId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<COLLECTION_ID>" }, "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -15665,20 +15817,20 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "attributes": { "type": "array", "description": "Array of attribute definitions to create. Each attribute should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -15686,8 +15838,8 @@ "indexes": { "type": "array", "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of attribute keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -15726,7 +15878,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 846, + "weight": 859, "cookies": false, "type": "", "demo": "documentsdb\/get-collection.md", @@ -15796,7 +15948,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 847, + "weight": 860, "cookies": false, "type": "", "demo": "documentsdb\/update-collection.md", @@ -15848,13 +16000,11 @@ "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -15863,20 +16013,20 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "purge": { "type": "boolean", "description": "When true, purge all cached list responses for this collection as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -15906,7 +16056,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 848, + "weight": 861, "cookies": false, "type": "", "demo": "documentsdb\/delete-collection.md", @@ -15976,7 +16126,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 906, + "weight": 921, "cookies": false, "type": "", "demo": "documentsdb\/list-documents.md", @@ -16088,7 +16238,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 855, + "weight": 868, "cookies": false, "type": "", "demo": "documentsdb\/create-document.md", @@ -16204,19 +16354,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -16225,8 +16374,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -16234,7 +16383,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -16267,7 +16415,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 860, + "weight": 873, "cookies": false, "type": "", "demo": "documentsdb\/upsert-documents.md", @@ -16350,7 +16498,6 @@ "documents": { "type": "array", "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, "x-example": null, "items": { "type": "object" @@ -16359,7 +16506,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } }, @@ -16395,7 +16541,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 858, + "weight": 871, "cookies": false, "type": "", "demo": "documentsdb\/update-documents.md", @@ -16447,14 +16593,14 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -16462,7 +16608,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -16495,7 +16640,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 862, + "weight": 875, "cookies": false, "type": "", "demo": "documentsdb\/delete-documents.md", @@ -16547,8 +16692,8 @@ "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -16556,7 +16701,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -16589,7 +16733,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 856, + "weight": 869, "cookies": false, "type": "", "demo": "documentsdb\/get-document.md", @@ -16690,7 +16834,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 859, + "weight": 872, "cookies": false, "type": "", "demo": "documentsdb\/upsert-document.md", @@ -16786,13 +16930,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -16801,7 +16944,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -16834,7 +16976,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 857, + "weight": 870, "cookies": false, "type": "", "demo": "documentsdb\/update-document.md", @@ -16897,13 +17039,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -16912,7 +17053,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -16940,7 +17080,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 861, + "weight": 874, "cookies": false, "type": "", "demo": "documentsdb\/delete-document.md", @@ -17003,7 +17143,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -17038,7 +17177,7 @@ "x-appwrite": { "method": "decrementDocumentAttribute", "group": "documents", - "weight": 865, + "weight": 878, "cookies": false, "type": "", "demo": "documentsdb\/decrement-document-attribute.md", @@ -17108,21 +17247,19 @@ "value": { "type": "number", "description": "Value to decrement the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float" }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -17157,7 +17294,7 @@ "x-appwrite": { "method": "incrementDocumentAttribute", "group": "documents", - "weight": 864, + "weight": 877, "cookies": false, "type": "", "demo": "documentsdb\/increment-document-attribute.md", @@ -17227,21 +17364,19 @@ "value": { "type": "number", "description": "Value to increment the attribute by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float" }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -17274,7 +17409,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 854, + "weight": 867, "cookies": false, "type": "", "demo": "documentsdb\/list-indexes.md", @@ -17365,7 +17500,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 851, + "weight": 864, "cookies": false, "type": "", "demo": "documentsdb\/create-index.md", @@ -17417,13 +17552,11 @@ "key": { "type": "string", "description": "Index Key.", - "default": null, "x-example": null }, "type": { "type": "string", "description": "Index type.", - "default": null, "x-example": "key", "enum": [ "key", @@ -17436,7 +17569,6 @@ "attributes": { "type": "array", "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -17445,8 +17577,8 @@ "orders": { "type": "array", "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -17460,8 +17592,8 @@ "lengths": { "type": "array", "description": "Length of index. Maximum of 100", - "default": [], "x-example": null, + "default": [], "items": { "type": "integer" } @@ -17501,7 +17633,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 852, + "weight": 865, "cookies": false, "type": "", "demo": "documentsdb\/get-index.md", @@ -17573,7 +17705,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 853, + "weight": 866, "cookies": false, "type": "", "demo": "documentsdb\/delete-index.md", @@ -17650,7 +17782,7 @@ "x-appwrite": { "method": "list", "group": "functions", - "weight": 420, + "weight": 425, "cookies": false, "type": "", "demo": "functions\/list.md", @@ -17733,7 +17865,7 @@ "x-appwrite": { "method": "create", "group": "functions", - "weight": 908, + "weight": 969, "cookies": false, "type": "", "demo": "functions\/create.md", @@ -17768,19 +17900,16 @@ "functionId": { "type": "string", "description": "Function ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<FUNCTION_ID>" }, "name": { "type": "string", "description": "Function name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "runtime": { "type": "string", "description": "Execution runtime.", - "default": null, "x-example": "node-14.5", "enum": [ "node-14.5", @@ -17882,8 +18011,8 @@ "execute": { "type": "array", "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": [], "x-example": "[\"any\"]", + "default": [], "items": { "type": "string" } @@ -17891,8 +18020,8 @@ "events": { "type": "array", "description": "Events list. Maximum of 100 events are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -17900,45 +18029,45 @@ "schedule": { "type": "string", "description": "Schedule CRON syntax.", - "default": "", - "x-example": null + "x-example": null, + "default": "" }, "timeout": { "type": "integer", "description": "Function maximum execution time in seconds.", - "default": 15, "x-example": 1, + "default": 15, "format": "int32" }, "enabled": { "type": "boolean", "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "logging": { "type": "boolean", "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "entrypoint": { "type": "string", "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "default": "", - "x-example": "<ENTRYPOINT>" + "x-example": "<ENTRYPOINT>", + "default": "" }, "commands": { "type": "string", "description": "Build Commands.", - "default": "", - "x-example": "<COMMANDS>" + "x-example": "<COMMANDS>", + "default": "" }, "scopes": { "type": "array", "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -18020,6 +18149,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -18028,7 +18163,8 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], "x-enum-name": null, "x-enum-keys": [] @@ -18037,50 +18173,50 @@ "installationId": { "type": "string", "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" + "x-example": "<INSTALLATION_ID>", + "default": "" }, "providerRepositoryId": { "type": "string", "description": "Repository ID of the repo linked to the function.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" }, "providerBranch": { "type": "string", "description": "Production branch for the repo linked to the function.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" + "x-example": "<PROVIDER_BRANCH>", + "default": "" }, "providerSilentMode": { "type": "boolean", "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "providerRootDirectory": { "type": "string", "description": "Path to function code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" }, "buildSpecification": { "type": "string", "description": "Build specification for the function deployments.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "runtimeSpecification": { "type": "string", "description": "Runtime specification for the function executions.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "deploymentRetention": { "type": "integer", "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, "x-example": 0, + "default": 0, "format": "int32" } }, @@ -18118,7 +18254,7 @@ "x-appwrite": { "method": "listRuntimes", "group": "runtimes", - "weight": 422, + "weight": 427, "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", @@ -18169,7 +18305,7 @@ "x-appwrite": { "method": "listSpecifications", "group": "runtimes", - "weight": 423, + "weight": 428, "cookies": false, "type": "", "demo": "functions\/list-specifications.md", @@ -18220,7 +18356,7 @@ "x-appwrite": { "method": "get", "group": "functions", - "weight": 418, + "weight": 423, "cookies": false, "type": "", "demo": "functions\/get.md", @@ -18281,7 +18417,7 @@ "x-appwrite": { "method": "update", "group": "functions", - "weight": 909, + "weight": 970, "cookies": false, "type": "", "demo": "functions\/update.md", @@ -18324,13 +18460,11 @@ "name": { "type": "string", "description": "Function name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "runtime": { "type": "string", "description": "Execution runtime.", - "default": "", "x-example": "node-14.5", "enum": [ "node-14.5", @@ -18432,8 +18566,8 @@ "execute": { "type": "array", "description": "An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": [], "x-example": "[\"any\"]", + "default": [], "items": { "type": "string" } @@ -18441,8 +18575,8 @@ "events": { "type": "array", "description": "Events list. Maximum of 100 events are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -18450,45 +18584,45 @@ "schedule": { "type": "string", "description": "Schedule CRON syntax.", - "default": "", - "x-example": null + "x-example": null, + "default": "" }, "timeout": { "type": "integer", "description": "Maximum execution time in seconds.", - "default": 15, "x-example": 1, + "default": 15, "format": "int32" }, "enabled": { "type": "boolean", "description": "Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "logging": { "type": "boolean", "description": "When disabled, executions will exclude logs and errors, and will be slightly faster.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "entrypoint": { "type": "string", "description": "Entrypoint File. This path is relative to the \"providerRootDirectory\".", - "default": "", - "x-example": "<ENTRYPOINT>" + "x-example": "<ENTRYPOINT>", + "default": "" }, "commands": { "type": "string", "description": "Build Commands.", - "default": "", - "x-example": "<COMMANDS>" + "x-example": "<COMMANDS>", + "default": "" }, "scopes": { "type": "array", "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -18570,6 +18704,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -18578,7 +18718,8 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], "x-enum-name": null, "x-enum-keys": [] @@ -18587,51 +18728,50 @@ "installationId": { "type": "string", "description": "Appwrite Installation ID for VCS (Version Controle System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" + "x-example": "<INSTALLATION_ID>", + "default": "" }, "providerRepositoryId": { "type": "string", "description": "Repository ID of the repo linked to the function", - "default": null, "x-example": "<PROVIDER_REPOSITORY_ID>", "x-nullable": true }, "providerBranch": { "type": "string", "description": "Production branch for the repo linked to the function", - "default": "", - "x-example": "<PROVIDER_BRANCH>" + "x-example": "<PROVIDER_BRANCH>", + "default": "" }, "providerSilentMode": { "type": "boolean", "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "providerRootDirectory": { "type": "string", "description": "Path to function code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" }, "buildSpecification": { "type": "string", "description": "Build specification for the function deployments.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "runtimeSpecification": { "type": "string", "description": "Runtime specification for the function executions.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "deploymentRetention": { "type": "integer", "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, "x-example": 0, + "default": 0, "format": "int32" } }, @@ -18662,7 +18802,7 @@ "x-appwrite": { "method": "delete", "group": "functions", - "weight": 421, + "weight": 426, "cookies": false, "type": "", "demo": "functions\/delete.md", @@ -18725,7 +18865,7 @@ "x-appwrite": { "method": "updateFunctionDeployment", "group": "functions", - "weight": 426, + "weight": 431, "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", @@ -18768,7 +18908,6 @@ "deploymentId": { "type": "string", "description": "Deployment ID.", - "default": null, "x-example": "<DEPLOYMENT_ID>" } }, @@ -18804,7 +18943,7 @@ "x-appwrite": { "method": "listDeployments", "group": "deployments", - "weight": 427, + "weight": 432, "cookies": false, "type": "", "demo": "functions\/list-deployments.md", @@ -18895,7 +19034,7 @@ "x-appwrite": { "method": "createDeployment", "group": "deployments", - "weight": 424, + "weight": 429, "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", @@ -18989,7 +19128,7 @@ "x-appwrite": { "method": "createDuplicateDeployment", "group": "deployments", - "weight": 432, + "weight": 437, "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", @@ -19032,14 +19171,13 @@ "deploymentId": { "type": "string", "description": "Deployment ID.", - "default": null, "x-example": "<DEPLOYMENT_ID>" }, "buildId": { "type": "string", "description": "Build unique ID.", - "default": "", - "x-example": "<BUILD_ID>" + "x-example": "<BUILD_ID>", + "default": "" } }, "required": [ @@ -19076,7 +19214,7 @@ "x-appwrite": { "method": "createTemplateDeployment", "group": "deployments", - "weight": 429, + "weight": 434, "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", @@ -19119,25 +19257,21 @@ "repository": { "type": "string", "description": "Repository name of the template.", - "default": null, "x-example": "<REPOSITORY>" }, "owner": { "type": "string", "description": "The name of the owner of the template.", - "default": null, "x-example": "<OWNER>" }, "rootDirectory": { "type": "string", "description": "Path to function code in the template repo.", - "default": null, "x-example": "<ROOT_DIRECTORY>" }, "type": { "type": "string", "description": "Type for the reference provided. Can be commit, branch, or tag", - "default": null, "x-example": "commit", "enum": [ "commit", @@ -19150,14 +19284,13 @@ "reference": { "type": "string", "description": "Reference value, can be a commit hash, branch name, or release tag", - "default": null, "x-example": "<REFERENCE>" }, "activate": { "type": "boolean", "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -19198,7 +19331,7 @@ "x-appwrite": { "method": "createVcsDeployment", "group": "deployments", - "weight": 430, + "weight": 435, "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", @@ -19241,7 +19374,6 @@ "type": { "type": "string", "description": "Type of reference passed. Allowed values are: branch, commit", - "default": null, "x-example": "branch", "enum": [ "branch", @@ -19253,14 +19385,13 @@ "reference": { "type": "string", "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "default": null, "x-example": "<REFERENCE>" }, "activate": { "type": "boolean", "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -19296,7 +19427,7 @@ "x-appwrite": { "method": "getDeployment", "group": "deployments", - "weight": 425, + "weight": 430, "cookies": false, "type": "", "demo": "functions\/get-deployment.md", @@ -19360,7 +19491,7 @@ "x-appwrite": { "method": "deleteDeployment", "group": "deployments", - "weight": 428, + "weight": 433, "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", @@ -19429,7 +19560,7 @@ "x-appwrite": { "method": "getDeploymentDownload", "group": "deployments", - "weight": 431, + "weight": 436, "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", @@ -19516,7 +19647,7 @@ "x-appwrite": { "method": "updateDeploymentStatus", "group": "deployments", - "weight": 433, + "weight": 438, "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", @@ -19585,7 +19716,7 @@ "x-appwrite": { "method": "listExecutions", "group": "executions", - "weight": 436, + "weight": 441, "cookies": false, "type": "", "demo": "functions\/list-executions.md", @@ -19673,7 +19804,7 @@ "x-appwrite": { "method": "createExecution", "group": "executions", - "weight": 434, + "weight": 439, "cookies": false, "type": "", "demo": "functions\/create-execution.md", @@ -19722,26 +19853,26 @@ "body": { "type": "string", "description": "HTTP body of execution. Default value is empty string.", - "default": "", - "x-example": "<BODY>" + "x-example": "<BODY>", + "default": "" }, "async": { "type": "boolean", "description": "Execute code in the background. Default value is false.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "path": { "type": "string", "description": "HTTP path of execution. Path can include query params. Default value is \/", - "default": "\/", - "x-example": "<PATH>" + "x-example": "<PATH>", + "default": "\/" }, "method": { "type": "string", "description": "HTTP method of execution. Default value is POST.", - "default": "POST", "x-example": "GET", + "default": "POST", "enum": [ "GET", "POST", @@ -19757,13 +19888,12 @@ "headers": { "type": "object", "description": "HTTP headers of execution. Defaults to empty.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "default": null, "x-example": "<SCHEDULED_AT>", "x-nullable": true } @@ -19797,7 +19927,7 @@ "x-appwrite": { "method": "getExecution", "group": "executions", - "weight": 435, + "weight": 440, "cookies": false, "type": "", "demo": "functions\/get-execution.md", @@ -19867,7 +19997,7 @@ "x-appwrite": { "method": "deleteExecution", "group": "executions", - "weight": 437, + "weight": 442, "cookies": false, "type": "", "demo": "functions\/delete-execution.md", @@ -19939,7 +20069,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 442, + "weight": 447, "cookies": false, "type": "", "demo": "functions\/list-variables.md", @@ -20021,7 +20151,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 910, + "weight": 971, "cookies": false, "type": "", "demo": "functions\/create-variable.md", @@ -20064,26 +20194,23 @@ "variableId": { "type": "string", "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<VARIABLE_ID>" }, "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>" }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>" }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -20120,7 +20247,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 441, + "weight": 446, "cookies": false, "type": "", "demo": "functions\/get-variable.md", @@ -20189,7 +20316,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 443, + "weight": 448, "cookies": false, "type": "", "demo": "functions\/update-variable.md", @@ -20240,21 +20367,18 @@ "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>", "x-nullable": true }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>", "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "default": null, "x-example": false, "x-nullable": true } @@ -20283,7 +20407,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 444, + "weight": 449, "cookies": false, "type": "", "demo": "functions\/delete-variable.md", @@ -20354,7 +20478,7 @@ "x-appwrite": { "method": "query", "group": "graphql", - "weight": 117, + "weight": 116, "cookies": false, "type": "graphql", "demo": "graphql\/query.md", @@ -20393,8 +20517,8 @@ "query": { "type": "object", "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -20431,7 +20555,7 @@ "x-appwrite": { "method": "mutation", "group": "graphql", - "weight": 116, + "weight": 115, "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", @@ -20470,8 +20594,8 @@ "query": { "type": "object", "description": "The query or queries to execute.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -20506,7 +20630,7 @@ "x-appwrite": { "method": "get", "group": "health", - "weight": 447, + "weight": 452, "cookies": false, "type": "", "demo": "health\/get.md", @@ -20558,7 +20682,7 @@ "x-appwrite": { "method": "getAntivirus", "group": "health", - "weight": 456, + "weight": 461, "cookies": false, "type": "", "demo": "health\/get-antivirus.md", @@ -20610,7 +20734,7 @@ "x-appwrite": { "method": "getCache", "group": "health", - "weight": 450, + "weight": 455, "cookies": false, "type": "", "demo": "health\/get-cache.md", @@ -20662,7 +20786,7 @@ "x-appwrite": { "method": "getCertificate", "group": "health", - "weight": 453, + "weight": 458, "cookies": false, "type": "", "demo": "health\/get-certificate.md", @@ -20723,7 +20847,7 @@ "x-appwrite": { "method": "getConsolePausing", "group": null, - "weight": 1052, + "weight": 1115, "cookies": false, "type": "", "demo": "health\/get-console-pausing.md", @@ -20795,7 +20919,7 @@ "x-appwrite": { "method": "getDB", "group": "health", - "weight": 449, + "weight": 454, "cookies": false, "type": "", "demo": "health\/get-db.md", @@ -20847,7 +20971,7 @@ "x-appwrite": { "method": "getPubSub", "group": "health", - "weight": 451, + "weight": 456, "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", @@ -20899,7 +21023,7 @@ "x-appwrite": { "method": "getQueueAudits", "group": "queue", - "weight": 457, + "weight": 462, "cookies": false, "type": "", "demo": "health\/get-queue-audits.md", @@ -20962,7 +21086,7 @@ "x-appwrite": { "method": "getQueueBillingProjectAggregation", "group": null, - "weight": 1048, + "weight": 1111, "cookies": false, "type": "", "demo": "health\/get-queue-billing-project-aggregation.md", @@ -21025,7 +21149,7 @@ "x-appwrite": { "method": "getQueueBillingTeamAggregation", "group": null, - "weight": 1047, + "weight": 1110, "cookies": false, "type": "", "demo": "health\/get-queue-billing-team-aggregation.md", @@ -21088,7 +21212,7 @@ "x-appwrite": { "method": "getQueueBuilds", "group": "queue", - "weight": 461, + "weight": 466, "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", @@ -21151,7 +21275,7 @@ "x-appwrite": { "method": "getQueuePriorityBuilds", "group": null, - "weight": 1049, + "weight": 1112, "cookies": false, "type": "", "demo": "health\/get-queue-priority-builds.md", @@ -21214,7 +21338,7 @@ "x-appwrite": { "method": "getQueueCertificates", "group": "queue", - "weight": 460, + "weight": 465, "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", @@ -21277,7 +21401,7 @@ "x-appwrite": { "method": "getQueueDatabases", "group": "queue", - "weight": 462, + "weight": 467, "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", @@ -21349,7 +21473,7 @@ "x-appwrite": { "method": "getQueueDeletes", "group": "queue", - "weight": 463, + "weight": 468, "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", @@ -21412,7 +21536,7 @@ "x-appwrite": { "method": "getFailedJobs", "group": "queue", - "weight": 470, + "weight": 475, "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", @@ -21500,7 +21624,7 @@ "x-appwrite": { "method": "getQueueFunctions", "group": "queue", - "weight": 467, + "weight": 472, "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", @@ -21563,7 +21687,7 @@ "x-appwrite": { "method": "getQueueLogs", "group": "queue", - "weight": 459, + "weight": 464, "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", @@ -21626,7 +21750,7 @@ "x-appwrite": { "method": "getQueueMails", "group": "queue", - "weight": 464, + "weight": 469, "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", @@ -21689,7 +21813,7 @@ "x-appwrite": { "method": "getQueueMessaging", "group": "queue", - "weight": 465, + "weight": 470, "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", @@ -21752,7 +21876,7 @@ "x-appwrite": { "method": "getQueueMigrations", "group": "queue", - "weight": 466, + "weight": 471, "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", @@ -21815,7 +21939,7 @@ "x-appwrite": { "method": "getQueueRegionManager", "group": null, - "weight": 1050, + "weight": 1113, "cookies": false, "type": "", "demo": "health\/get-queue-region-manager.md", @@ -21878,7 +22002,7 @@ "x-appwrite": { "method": "getQueueStatsResources", "group": "queue", - "weight": 468, + "weight": 473, "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", @@ -21941,7 +22065,7 @@ "x-appwrite": { "method": "getQueueUsage", "group": "queue", - "weight": 469, + "weight": 474, "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", @@ -22004,7 +22128,7 @@ "x-appwrite": { "method": "getQueueThreats", "group": null, - "weight": 1051, + "weight": 1114, "cookies": false, "type": "", "demo": "health\/get-queue-threats.md", @@ -22067,7 +22191,7 @@ "x-appwrite": { "method": "getQueueWebhooks", "group": "queue", - "weight": 458, + "weight": 463, "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", @@ -22130,7 +22254,7 @@ "x-appwrite": { "method": "getStorage", "group": "storage", - "weight": 455, + "weight": 460, "cookies": false, "type": "", "demo": "health\/get-storage.md", @@ -22182,7 +22306,7 @@ "x-appwrite": { "method": "getStorageLocal", "group": "storage", - "weight": 454, + "weight": 459, "cookies": false, "type": "", "demo": "health\/get-storage-local.md", @@ -22234,7 +22358,7 @@ "x-appwrite": { "method": "getTime", "group": "health", - "weight": 452, + "weight": 457, "cookies": false, "type": "", "demo": "health\/get-time.md", @@ -22726,7 +22850,7 @@ "x-appwrite": { "method": "listMessages", "group": "messages", - "weight": 158, + "weight": 157, "cookies": false, "type": "", "demo": "messaging\/list-messages.md", @@ -22812,7 +22936,7 @@ "x-appwrite": { "method": "createEmail", "group": "messages", - "weight": 155, + "weight": 154, "cookies": false, "type": "", "demo": "messaging\/create-email.md", @@ -22848,26 +22972,23 @@ "messageId": { "type": "string", "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<MESSAGE_ID>" }, "subject": { "type": "string", "description": "Email Subject.", - "default": null, "x-example": "<SUBJECT>" }, "content": { "type": "string", "description": "Email Content.", - "default": null, "x-example": "<CONTENT>" }, "topics": { "type": "array", "description": "List of Topic IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22875,8 +22996,8 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22884,8 +23005,8 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22893,8 +23014,8 @@ "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22902,8 +23023,8 @@ "bcc": { "type": "array", "description": "Array of target IDs to be added as BCC.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22911,8 +23032,8 @@ "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -22920,19 +23041,18 @@ "draft": { "type": "boolean", "description": "Is message a draft", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "html": { "type": "boolean", "description": "Is content of type HTML", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -22974,7 +23094,7 @@ "x-appwrite": { "method": "updateEmail", "group": "messages", - "weight": 162, + "weight": 161, "cookies": false, "type": "", "demo": "messaging\/update-email.md", @@ -23018,7 +23138,6 @@ "topics": { "type": "array", "description": "List of Topic IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23028,7 +23147,6 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23038,7 +23156,6 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23048,35 +23165,30 @@ "subject": { "type": "string", "description": "Email Subject.", - "default": null, "x-example": "<SUBJECT>", "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "default": null, "x-example": "<CONTENT>", "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "default": null, "x-example": false, "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", - "default": null, "x-example": false, "x-nullable": true }, "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23086,7 +23198,6 @@ "bcc": { "type": "array", "description": "Array of target IDs to be added as BCC.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23096,7 +23207,6 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -23104,7 +23214,6 @@ "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23143,7 +23252,7 @@ "x-appwrite": { "method": "createPush", "group": "messages", - "weight": 157, + "weight": 156, "cookies": false, "type": "", "demo": "messaging\/create-push.md", @@ -23179,26 +23288,25 @@ "messageId": { "type": "string", "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<MESSAGE_ID>" }, "title": { "type": "string", "description": "Title for push notification.", - "default": "", - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "default": "" }, "body": { "type": "string", "description": "Body for push notification.", - "default": "", - "x-example": "<BODY>" + "x-example": "<BODY>", + "default": "" }, "topics": { "type": "array", "description": "List of Topic IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23206,8 +23314,8 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23215,8 +23323,8 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23224,63 +23332,62 @@ "data": { "type": "object", "description": "Additional key-value pair data for push notification.", - "default": {}, "x-example": "{}", + "default": {}, "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "default": "", - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "default": "" }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": "", - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "default": "" }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web Platform.", - "default": "", - "x-example": "<ICON>" + "x-example": "<ICON>", + "default": "" }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS Platform.", - "default": "", - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "default": "" }, "color": { "type": "string", "description": "Color for push notification. Available only for Android Platform.", - "default": "", - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "default": "" }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android Platform.", - "default": "", - "x-example": "<TAG>" + "x-example": "<TAG>", + "default": "" }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS Platform.", - "default": -1, "x-example": null, + "default": -1, "format": "int32" }, "draft": { "type": "boolean", "description": "Is message a draft", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -23288,20 +23395,20 @@ "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "priority": { "type": "string", "description": "Set the notification priority. \"normal\" will consider device state and may not deliver notifications immediately. \"high\" will always attempt to immediately deliver the notification.", - "default": "high", "x-example": "normal", + "default": "high", "enum": [ "normal", "high" @@ -23344,7 +23451,7 @@ "x-appwrite": { "method": "updatePush", "group": "messages", - "weight": 164, + "weight": 163, "cookies": false, "type": "", "demo": "messaging\/update-push.md", @@ -23388,7 +23495,6 @@ "topics": { "type": "array", "description": "List of Topic IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23398,7 +23504,6 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23408,7 +23513,6 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23418,70 +23522,61 @@ "title": { "type": "string", "description": "Title for push notification.", - "default": null, "x-example": "<TITLE>", "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", - "default": null, "x-example": "<BODY>", "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", - "default": {}, "x-example": "{}", + "default": {}, "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "default": null, "x-example": "<ACTION>", "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "default": null, "x-example": "<ID1:ID2>", "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", - "default": null, "x-example": "<ICON>", "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", - "default": null, "x-example": "<SOUND>", "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", - "default": null, "x-example": "<COLOR>", "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", - "default": null, "x-example": "<TAG>", "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", - "default": null, "x-example": null, "format": "int32", "x-nullable": true @@ -23489,14 +23584,12 @@ "draft": { "type": "boolean", "description": "Is message a draft", - "default": null, "x-example": false, "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -23504,21 +23597,18 @@ "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "default": null, "x-example": false, "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "default": null, "x-example": false, "x-nullable": true }, "priority": { "type": "string", "description": "Set the notification priority. \"normal\" will consider device battery state and may send notifications later. \"high\" will always attempt to immediately deliver the notification.", - "default": null, "x-example": "normal", "enum": [ "normal", @@ -23560,7 +23650,7 @@ "x-appwrite": { "method": "createSms", "group": "messages", - "weight": 156, + "weight": 155, "cookies": false, "type": "", "demo": "messaging\/create-sms.md", @@ -23668,20 +23758,18 @@ "messageId": { "type": "string", "description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<MESSAGE_ID>" }, "content": { "type": "string", "description": "SMS Content.", - "default": null, "x-example": "<CONTENT>" }, "topics": { "type": "array", "description": "List of Topic IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23689,8 +23777,8 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23698,8 +23786,8 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -23707,13 +23795,12 @@ "draft": { "type": "boolean", "description": "Is message a draft", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -23754,7 +23841,7 @@ "x-appwrite": { "method": "updateSms", "group": "messages", - "weight": 163, + "weight": 162, "cookies": false, "type": "", "demo": "messaging\/update-sms.md", @@ -23868,7 +23955,6 @@ "topics": { "type": "array", "description": "List of Topic IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23878,7 +23964,6 @@ "users": { "type": "array", "description": "List of User IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23888,7 +23973,6 @@ "targets": { "type": "array", "description": "List of Targets IDs.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -23898,21 +23982,18 @@ "content": { "type": "string", "description": "Email Content.", - "default": null, "x-example": "<CONTENT>", "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "default": null, "x-example": false, "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -23947,7 +24028,7 @@ "x-appwrite": { "method": "getMessage", "group": "messages", - "weight": 161, + "weight": 160, "cookies": false, "type": "", "demo": "messaging\/get-message.md", @@ -24004,7 +24085,7 @@ "x-appwrite": { "method": "delete", "group": "messages", - "weight": 165, + "weight": 164, "cookies": false, "type": "", "demo": "messaging\/delete.md", @@ -24066,7 +24147,7 @@ "x-appwrite": { "method": "listMessageLogs", "group": "logs", - "weight": 159, + "weight": 158, "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", @@ -24149,7 +24230,7 @@ "x-appwrite": { "method": "listTargets", "group": "messages", - "weight": 160, + "weight": 159, "cookies": false, "type": "", "demo": "messaging\/list-targets.md", @@ -24232,7 +24313,7 @@ "x-appwrite": { "method": "listProviders", "group": "providers", - "weight": 129, + "weight": 128, "cookies": false, "type": "", "demo": "messaging\/list-providers.md", @@ -24318,7 +24399,7 @@ "x-appwrite": { "method": "createApnsProvider", "group": "providers", - "weight": 128, + "weight": 127, "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", @@ -24428,49 +24509,46 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "authKey": { "type": "string", "description": "APNS authentication key.", - "default": "", - "x-example": "<AUTH_KEY>" + "x-example": "<AUTH_KEY>", + "default": "" }, "authKeyId": { "type": "string", "description": "APNS authentication key ID.", - "default": "", - "x-example": "<AUTH_KEY_ID>" + "x-example": "<AUTH_KEY_ID>", + "default": "" }, "teamId": { "type": "string", "description": "APNS team ID.", - "default": "", - "x-example": "<TEAM_ID>" + "x-example": "<TEAM_ID>", + "default": "" }, "bundleId": { "type": "string", "description": "APNS bundle ID.", - "default": "", - "x-example": "<BUNDLE_ID>" + "x-example": "<BUNDLE_ID>", + "default": "" }, "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -24510,7 +24588,7 @@ "x-appwrite": { "method": "updateApnsProvider", "group": "providers", - "weight": 142, + "weight": 141, "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", @@ -24626,44 +24704,42 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "authKey": { "type": "string", "description": "APNS authentication key.", - "default": "", - "x-example": "<AUTH_KEY>" + "x-example": "<AUTH_KEY>", + "default": "" }, "authKeyId": { "type": "string", "description": "APNS authentication key ID.", - "default": "", - "x-example": "<AUTH_KEY_ID>" + "x-example": "<AUTH_KEY_ID>", + "default": "" }, "teamId": { "type": "string", "description": "APNS team ID.", - "default": "", - "x-example": "<TEAM_ID>" + "x-example": "<TEAM_ID>", + "default": "" }, "bundleId": { "type": "string", "description": "APNS bundle ID.", - "default": "", - "x-example": "<BUNDLE_ID>" + "x-example": "<BUNDLE_ID>", + "default": "" }, "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "default": null, "x-example": false, "x-nullable": true } @@ -24699,7 +24775,7 @@ "x-appwrite": { "method": "createFcmProvider", "group": "providers", - "weight": 127, + "weight": 126, "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", @@ -24801,26 +24877,23 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "default": {}, "x-example": "{}", + "default": {}, "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -24860,7 +24933,7 @@ "x-appwrite": { "method": "updateFcmProvider", "group": "providers", - "weight": 141, + "weight": 140, "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", @@ -24968,21 +25041,20 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "default": {}, "x-example": "{}", + "default": {}, "x-nullable": true } } @@ -25017,7 +25089,7 @@ "x-appwrite": { "method": "createMailgunProvider", "group": "providers", - "weight": 118, + "weight": 117, "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", @@ -25053,64 +25125,60 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "apiKey": { "type": "string", "description": "Mailgun API Key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "domain": { "type": "string", "description": "Mailgun Domain.", - "default": "", - "x-example": "<DOMAIN>" + "x-example": "<DOMAIN>", + "default": "" }, "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "default": null, "x-example": false, "x-nullable": true }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -25150,7 +25218,7 @@ "x-appwrite": { "method": "updateMailgunProvider", "group": "providers", - "weight": 132, + "weight": 131, "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", @@ -25194,59 +25262,57 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "apiKey": { "type": "string", "description": "Mailgun API Key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "domain": { "type": "string", "description": "Mailgun Domain.", - "default": "", - "x-example": "<DOMAIN>" + "x-example": "<DOMAIN>", + "default": "" }, "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "default": null, "x-example": false, "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" + "x-example": "<REPLY_TO_EMAIL>", + "default": "" } } } @@ -25280,7 +25346,7 @@ "x-appwrite": { "method": "createMsg91Provider", "group": "providers", - "weight": 122, + "weight": 121, "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", @@ -25316,37 +25382,34 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "templateId": { "type": "string", "description": "Msg91 template ID", - "default": "", - "x-example": "<TEMPLATE_ID>" + "x-example": "<TEMPLATE_ID>", + "default": "" }, "senderId": { "type": "string", "description": "Msg91 sender ID.", - "default": "", - "x-example": "<SENDER_ID>" + "x-example": "<SENDER_ID>", + "default": "" }, "authKey": { "type": "string", "description": "Msg91 auth key.", - "default": "", - "x-example": "<AUTH_KEY>" + "x-example": "<AUTH_KEY>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -25386,7 +25449,7 @@ "x-appwrite": { "method": "updateMsg91Provider", "group": "providers", - "weight": 136, + "weight": 135, "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", @@ -25430,33 +25493,32 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "templateId": { "type": "string", "description": "Msg91 template ID.", - "default": "", - "x-example": "<TEMPLATE_ID>" + "x-example": "<TEMPLATE_ID>", + "default": "" }, "senderId": { "type": "string", "description": "Msg91 sender ID.", - "default": "", - "x-example": "<SENDER_ID>" + "x-example": "<SENDER_ID>", + "default": "" }, "authKey": { "type": "string", "description": "Msg91 auth key.", - "default": "", - "x-example": "<AUTH_KEY>" + "x-example": "<AUTH_KEY>", + "default": "" } } } @@ -25490,7 +25552,7 @@ "x-appwrite": { "method": "createResendProvider", "group": "providers", - "weight": 120, + "weight": 119, "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", @@ -25526,51 +25588,48 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "apiKey": { "type": "string", "description": "Resend API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -25610,7 +25669,7 @@ "x-appwrite": { "method": "updateResendProvider", "group": "providers", - "weight": 134, + "weight": 133, "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", @@ -25654,46 +25713,45 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "apiKey": { "type": "string", "description": "Resend API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" + "x-example": "<REPLY_TO_EMAIL>", + "default": "" } } } @@ -25727,7 +25785,7 @@ "x-appwrite": { "method": "createSendgridProvider", "group": "providers", - "weight": 119, + "weight": 118, "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", @@ -25763,51 +25821,48 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "apiKey": { "type": "string", "description": "Sendgrid API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -25847,7 +25902,7 @@ "x-appwrite": { "method": "updateSendgridProvider", "group": "providers", - "weight": 133, + "weight": 132, "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", @@ -25891,46 +25946,45 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "apiKey": { "type": "string", "description": "Sendgrid API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" + "x-example": "<REPLY_TO_EMAIL>", + "default": "" } } } @@ -25964,7 +26018,7 @@ "x-appwrite": { "method": "createSmtpProvider", "group": "providers", - "weight": 121, + "weight": 120, "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", @@ -26088,44 +26142,40 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "host": { "type": "string", "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "default": null, "x-example": "<HOST>" }, "port": { "type": "integer", "description": "The default SMTP server port.", - "default": 587, "x-example": 1, + "default": 587, "format": "int32" }, "username": { "type": "string", "description": "Authentication username.", - "default": "", - "x-example": "<USERNAME>" + "x-example": "<USERNAME>", + "default": "" }, "password": { "type": "string", "description": "Authentication password.", - "default": "", - "x-example": "<PASSWORD>" + "x-example": "<PASSWORD>", + "default": "" }, "encryption": { "type": "string", "description": "Encryption type. Can be omitted, 'ssl', or 'tls'", - "default": "", "x-example": "none", "enum": [ "none", @@ -26138,45 +26188,44 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "mailer": { "type": "string", "description": "The value to use for the X-Mailer header.", - "default": "", - "x-example": "<MAILER>" + "x-example": "<MAILER>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the reply to field for the mail. Default value is sender name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the reply to field for the mail. Default value is sender email.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -26217,7 +26266,7 @@ "x-appwrite": { "method": "updateSmtpProvider", "group": "providers", - "weight": 135, + "weight": 134, "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", @@ -26345,19 +26394,18 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "host": { "type": "string", "description": "SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls:\/\/smtp1.example.com:587;ssl:\/\/smtp2.example.com:465\"`. Hosts will be tried in order.", - "default": "", - "x-example": "<HOST>" + "x-example": "<HOST>", + "default": "" }, "port": { "type": "integer", "description": "SMTP port.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -26365,19 +26413,18 @@ "username": { "type": "string", "description": "Authentication username.", - "default": "", - "x-example": "<USERNAME>" + "x-example": "<USERNAME>", + "default": "" }, "password": { "type": "string", "description": "Authentication password.", - "default": "", - "x-example": "<PASSWORD>" + "x-example": "<PASSWORD>", + "default": "" }, "encryption": { "type": "string", "description": "Encryption type. Can be 'ssl' or 'tls'", - "default": "", "x-example": "none", "enum": [ "none", @@ -26390,45 +26437,43 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "default": null, "x-example": false, "x-nullable": true }, "mailer": { "type": "string", "description": "The value to use for the X-Mailer header.", - "default": "", - "x-example": "<MAILER>" + "x-example": "<MAILER>", + "default": "" }, "fromName": { "type": "string", "description": "Sender Name.", - "default": "", - "x-example": "<FROM_NAME>" + "x-example": "<FROM_NAME>", + "default": "" }, "fromEmail": { "type": "string", "description": "Sender email address.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "replyToName": { "type": "string", "description": "Name set in the Reply To field for the mail. Default value is Sender Name.", - "default": "", - "x-example": "<REPLY_TO_NAME>" + "x-example": "<REPLY_TO_NAME>", + "default": "" }, "replyToEmail": { "type": "string", "description": "Email set in the Reply To field for the mail. Default value is Sender Email.", - "default": "", - "x-example": "<REPLY_TO_EMAIL>" + "x-example": "<REPLY_TO_EMAIL>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -26464,7 +26509,7 @@ "x-appwrite": { "method": "createTelesignProvider", "group": "providers", - "weight": 123, + "weight": 122, "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", @@ -26500,38 +26545,35 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "from": { "type": "string", "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "customerId": { "type": "string", "description": "Telesign customer ID.", - "default": "", - "x-example": "<CUSTOMER_ID>" + "x-example": "<CUSTOMER_ID>", + "default": "" }, "apiKey": { "type": "string", "description": "Telesign API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -26571,7 +26613,7 @@ "x-appwrite": { "method": "updateTelesignProvider", "group": "providers", - "weight": 137, + "weight": 136, "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", @@ -26615,33 +26657,32 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "customerId": { "type": "string", "description": "Telesign customer ID.", - "default": "", - "x-example": "<CUSTOMER_ID>" + "x-example": "<CUSTOMER_ID>", + "default": "" }, "apiKey": { "type": "string", "description": "Telesign API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "from": { "type": "string", "description": "Sender number.", - "default": "", - "x-example": "<FROM>" + "x-example": "<FROM>", + "default": "" } } } @@ -26675,7 +26716,7 @@ "x-appwrite": { "method": "createTextmagicProvider", "group": "providers", - "weight": 124, + "weight": 123, "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", @@ -26711,38 +26752,35 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "from": { "type": "string", "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "username": { "type": "string", "description": "Textmagic username.", - "default": "", - "x-example": "<USERNAME>" + "x-example": "<USERNAME>", + "default": "" }, "apiKey": { "type": "string", "description": "Textmagic apiKey.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -26782,7 +26820,7 @@ "x-appwrite": { "method": "updateTextmagicProvider", "group": "providers", - "weight": 138, + "weight": 137, "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", @@ -26826,33 +26864,32 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "username": { "type": "string", "description": "Textmagic username.", - "default": "", - "x-example": "<USERNAME>" + "x-example": "<USERNAME>", + "default": "" }, "apiKey": { "type": "string", "description": "Textmagic apiKey.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "from": { "type": "string", "description": "Sender number.", - "default": "", - "x-example": "<FROM>" + "x-example": "<FROM>", + "default": "" } } } @@ -26886,7 +26923,7 @@ "x-appwrite": { "method": "createTwilioProvider", "group": "providers", - "weight": 125, + "weight": 124, "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", @@ -26922,38 +26959,35 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "from": { "type": "string", "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "accountSid": { "type": "string", "description": "Twilio account secret ID.", - "default": "", - "x-example": "<ACCOUNT_SID>" + "x-example": "<ACCOUNT_SID>", + "default": "" }, "authToken": { "type": "string", "description": "Twilio authentication token.", - "default": "", - "x-example": "<AUTH_TOKEN>" + "x-example": "<AUTH_TOKEN>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -26993,7 +27027,7 @@ "x-appwrite": { "method": "updateTwilioProvider", "group": "providers", - "weight": 139, + "weight": 138, "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", @@ -27037,33 +27071,32 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "accountSid": { "type": "string", "description": "Twilio account secret ID.", - "default": "", - "x-example": "<ACCOUNT_SID>" + "x-example": "<ACCOUNT_SID>", + "default": "" }, "authToken": { "type": "string", "description": "Twilio authentication token.", - "default": "", - "x-example": "<AUTH_TOKEN>" + "x-example": "<AUTH_TOKEN>", + "default": "" }, "from": { "type": "string", "description": "Sender number.", - "default": "", - "x-example": "<FROM>" + "x-example": "<FROM>", + "default": "" } } } @@ -27097,7 +27130,7 @@ "x-appwrite": { "method": "createVonageProvider", "group": "providers", - "weight": 126, + "weight": 125, "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", @@ -27133,38 +27166,35 @@ "providerId": { "type": "string", "description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PROVIDER_ID>" }, "name": { "type": "string", "description": "Provider name.", - "default": null, "x-example": "<NAME>" }, "from": { "type": "string", "description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "apiKey": { "type": "string", "description": "Vonage API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "apiSecret": { "type": "string", "description": "Vonage API secret.", - "default": "", - "x-example": "<API_SECRET>" + "x-example": "<API_SECRET>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true } @@ -27204,7 +27234,7 @@ "x-appwrite": { "method": "updateVonageProvider", "group": "providers", - "weight": 140, + "weight": 139, "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", @@ -27248,33 +27278,32 @@ "name": { "type": "string", "description": "Provider name.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "default": null, "x-example": false, "x-nullable": true }, "apiKey": { "type": "string", "description": "Vonage API key.", - "default": "", - "x-example": "<API_KEY>" + "x-example": "<API_KEY>", + "default": "" }, "apiSecret": { "type": "string", "description": "Vonage API secret.", - "default": "", - "x-example": "<API_SECRET>" + "x-example": "<API_SECRET>", + "default": "" }, "from": { "type": "string", "description": "Sender number.", - "default": "", - "x-example": "<FROM>" + "x-example": "<FROM>", + "default": "" } } } @@ -27306,7 +27335,7 @@ "x-appwrite": { "method": "getProvider", "group": "providers", - "weight": 131, + "weight": 130, "cookies": false, "type": "", "demo": "messaging\/get-provider.md", @@ -27363,7 +27392,7 @@ "x-appwrite": { "method": "deleteProvider", "group": "providers", - "weight": 143, + "weight": 142, "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", @@ -27425,7 +27454,7 @@ "x-appwrite": { "method": "listProviderLogs", "group": "providers", - "weight": 130, + "weight": 129, "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", @@ -27508,7 +27537,7 @@ "x-appwrite": { "method": "listSubscriberLogs", "group": "subscribers", - "weight": 152, + "weight": 151, "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", @@ -27591,7 +27620,7 @@ "x-appwrite": { "method": "listTopics", "group": "topics", - "weight": 145, + "weight": 144, "cookies": false, "type": "", "demo": "messaging\/list-topics.md", @@ -27675,7 +27704,7 @@ "x-appwrite": { "method": "createTopic", "group": "topics", - "weight": 144, + "weight": 143, "cookies": false, "type": "", "demo": "messaging\/create-topic.md", @@ -27711,22 +27740,20 @@ "topicId": { "type": "string", "description": "Topic ID. Choose a custom Topic ID or a new Topic ID.", - "default": null, "x-example": "<TOPIC_ID>" }, "name": { "type": "string", "description": "Topic Name.", - "default": null, "x-example": "<NAME>" }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", + "x-example": "[\"any\"]", "default": [ "users" ], - "x-example": "[\"any\"]", "items": { "type": "string" } @@ -27765,7 +27792,7 @@ "x-appwrite": { "method": "getTopic", "group": "topics", - "weight": 147, + "weight": 146, "cookies": false, "type": "", "demo": "messaging\/get-topic.md", @@ -27827,7 +27854,7 @@ "x-appwrite": { "method": "updateTopic", "group": "topics", - "weight": 148, + "weight": 147, "cookies": false, "type": "", "demo": "messaging\/update-topic.md", @@ -27871,14 +27898,12 @@ "name": { "type": "string", "description": "Topic Name.", - "default": null, "x-example": "<NAME>", "x-nullable": true }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", - "default": null, "x-example": "[\"any\"]", "x-nullable": true, "items": { @@ -27910,7 +27935,7 @@ "x-appwrite": { "method": "deleteTopic", "group": "topics", - "weight": 149, + "weight": 148, "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", @@ -27972,7 +27997,7 @@ "x-appwrite": { "method": "listTopicLogs", "group": "topics", - "weight": 146, + "weight": 145, "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", @@ -28055,7 +28080,7 @@ "x-appwrite": { "method": "listSubscribers", "group": "subscribers", - "weight": 151, + "weight": 150, "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", @@ -28147,7 +28172,7 @@ "x-appwrite": { "method": "createSubscriber", "group": "subscribers", - "weight": 150, + "weight": 149, "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", @@ -28194,13 +28219,11 @@ "subscriberId": { "type": "string", "description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID.", - "default": null, "x-example": "<SUBSCRIBER_ID>" }, "targetId": { "type": "string", "description": "Target ID. The target ID to link to the specified Topic ID.", - "default": null, "x-example": "<TARGET_ID>" } }, @@ -28237,7 +28260,7 @@ "x-appwrite": { "method": "getSubscriber", "group": "subscribers", - "weight": 153, + "weight": 152, "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", @@ -28302,7 +28325,7 @@ "x-appwrite": { "method": "deleteSubscriber", "group": "subscribers", - "weight": 154, + "weight": 153, "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", @@ -28351,7 +28374,542 @@ ] } }, + "\/presences": { + "get": { + "summary": "List presences", + "operationId": "presencesList", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "presences" + ], + "description": "List presence logs. Expired entries are filtered out automatically.\n", + "responses": { + "200": { + "description": "Presences List", + "schema": { + "$ref": "#\/definitions\/presenceList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "list", + "group": "presences", + "weight": 419, + "cookies": false, + "type": "", + "demo": "presences\/list.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/list.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + }, + { + "name": "ttl", + "description": "TTL (seconds) for caching list responses. Responses are stored in an in-memory key-value cache, keyed per project, collection, schema version (attributes and indexes), caller authorization roles, and the exact query \u2014 so users with different permissions never share cached entries. Schema changes invalidate cached entries automatically; document writes do not, so choose a TTL you are comfortable serving as stale data. Set to 0 to disable caching. Must be between 0 and 86400 (24 hours).", + "required": false, + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0, + "in": "query" + } + ] + } + }, + "\/presences\/{presenceId}": { + "get": { + "summary": "Get presence", + "operationId": "presencesGet", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "presences" + ], + "description": "Get a presence log by its unique ID. Entries whose `expiresAt` is in the past are treated as not found.\n", + "responses": { + "200": { + "description": "Presence", + "schema": { + "$ref": "#\/definitions\/presence" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": "presences", + "weight": 418, + "cookies": false, + "type": "", + "demo": "presences\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.read", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/get.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + } + ] + }, + "put": { + "summary": "Upsert presence", + "operationId": "presencesUpsert", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "presences" + ], + "description": "Create or update a presence log by its user ID.\n", + "responses": { + "200": { + "description": "Presence", + "schema": { + "$ref": "#\/definitions\/presence" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "upsert", + "group": "presences", + "weight": 416, + "cookies": false, + "type": "", + "demo": "presences\/upsert.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/upsert.md", + "methods": [ + { + "name": "upsert", + "namespace": "presences", + "desc": "Upsert presence", + "auth": { + "Project": [], + "Key": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "permissions", + "expiresAt", + "metadata" + ], + "required": [ + "presenceId", + "userId", + "status" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Create or update a presence log by its user ID.\n", + "demo": "presences\/upsert.md", + "public": true + } + ], + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": [] + } + }, + "required": [ + "status" + ] + } + } + ] + }, + "patch": { + "summary": "Update presence", + "operationId": "presencesUpdate", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "presences" + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "responses": { + "200": { + "description": "Presence", + "schema": { + "$ref": "#\/definitions\/presence" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "update", + "group": "presences", + "weight": 420, + "cookies": false, + "type": "", + "demo": "presences\/update.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/update.md", + "methods": [ + { + "name": "updatePresence", + "namespace": "presences", + "desc": "Update presence", + "auth": { + "Project": [], + "Key": [] + }, + "parameters": [ + "presenceId", + "userId", + "status", + "expiresAt", + "metadata", + "permissions", + "purge" + ], + "required": [ + "presenceId", + "userId" + ], + "responses": [ + { + "code": 200, + "model": "#\/definitions\/presence" + } + ], + "description": "Update a presence log by its unique ID. Using the patch method you can pass only specific fields that will get updated.\n", + "demo": "presences\/update-presence.md", + "public": true + } + ], + "auth": { + "Project": [], + "Session": [] + } + }, + "security": [ + { + "Project": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + }, + { + "name": "payload", + "in": "body", + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "<USER_ID>" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "<STATUS>" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry datetime.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "format": "datetime" + }, + "metadata": { + "type": "object", + "description": "Presence metadata object.", + "x-example": "{}", + "default": {} + }, + "permissions": { + "type": "array", + "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "x-example": "[\"read(\"any\")\"]", + "items": { + "type": "string" + } + }, + "purge": { + "type": "boolean", + "description": "When true, purge cached responses used by list presences endpoint.", + "x-example": false, + "default": false + } + } + } + } + ] + }, + "delete": { + "summary": "Delete presence", + "operationId": "presencesDelete", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "presences" + ], + "description": "Delete a presence log by its unique ID.\n", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "delete", + "group": "presences", + "weight": 421, + "cookies": false, + "type": "", + "demo": "presences\/delete.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "presences.write", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/presences\/delete.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "presenceId", + "description": "Presence unique ID.", + "required": true, + "type": "string", + "x-example": "<PRESENCE_ID>", + "in": "path" + } + ] + } + }, "\/project": { + "get": { + "summary": "Get project", + "operationId": "projectGet", + "consumes": [], + "produces": [], + "tags": [ + "project" + ], + "description": "Get a project.", + "responses": { + "200": { + "description": "Project", + "schema": { + "$ref": "#\/definitions\/project" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "weight": 1161, + "cookies": false, + "type": "", + "demo": "project\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "project.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ] + }, "delete": { "summary": "Delete project", "operationId": "projectDelete", @@ -28372,7 +28930,7 @@ "x-appwrite": { "method": "delete", "group": null, - "weight": 1096, + "weight": 1160, "cookies": false, "type": "", "demo": "project\/delete.md", @@ -28401,7 +28959,7 @@ }, "\/project\/auth-methods\/{methodId}": { "patch": { - "summary": "Update project auth method status. Use this endpoint to enable or disable a given auth method for this project.", + "summary": "Update project auth method status", "operationId": "projectUpdateAuthMethod", "consumes": [ "application\/json" @@ -28425,7 +28983,7 @@ "x-appwrite": { "method": "updateAuthMethod", "group": null, - "weight": 1145, + "weight": 1210, "cookies": false, "type": "", "demo": "project\/update-auth-method.md", @@ -28466,7 +29024,7 @@ "jwt", "phone" ], - "x-enum-name": "AuthMethod", + "x-enum-name": "ProjectAuthMethodId", "x-enum-keys": [], "in": "path" }, @@ -28479,7 +29037,6 @@ "enabled": { "type": "boolean", "description": "Auth method status.", - "default": null, "x-example": false } }, @@ -28515,7 +29072,7 @@ "x-appwrite": { "method": "listKeys", "group": "keys", - "weight": 1112, + "weight": 1177, "cookies": false, "type": "", "demo": "project\/list-keys.md", @@ -28589,7 +29146,7 @@ "x-appwrite": { "method": "createKey", "group": "keys", - "weight": 1110, + "weight": 1175, "cookies": false, "type": "", "demo": "project\/create-key.md", @@ -28624,19 +29181,16 @@ "keyId": { "type": "string", "description": "Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<KEY_ID>" }, "name": { "type": "string", "description": "Key name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "scopes": { "type": "array", "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, "x-example": null, "items": { "type": "string", @@ -28719,6 +29273,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -28727,16 +29287,16 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -28778,7 +29338,7 @@ "x-appwrite": { "method": "createEphemeralKey", "group": "keys", - "weight": 1111, + "weight": 1176, "cookies": false, "type": "", "demo": "project\/create-ephemeral-key.md", @@ -28813,7 +29373,6 @@ "scopes": { "type": "array", "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, "x-example": null, "items": { "type": "string", @@ -28896,6 +29455,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -28904,16 +29469,16 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, "duration": { "type": "integer", "description": "Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.", - "default": null, "x-example": "600", "format": "int32" } @@ -28951,7 +29516,7 @@ "x-appwrite": { "method": "getKey", "group": "keys", - "weight": 1113, + "weight": 1178, "cookies": false, "type": "", "demo": "project\/get-key.md", @@ -29012,7 +29577,7 @@ "x-appwrite": { "method": "updateKey", "group": "keys", - "weight": 1115, + "weight": 1180, "cookies": false, "type": "", "demo": "project\/update-key.md", @@ -29055,13 +29620,11 @@ "name": { "type": "string", "description": "Key name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "scopes": { "type": "array", "description": "Key scopes list. Maximum of 100 scopes are allowed.", - "default": null, "x-example": null, "items": { "type": "string", @@ -29144,6 +29707,12 @@ "schedules.write", "vcs.read", "vcs.write", + "insights.read", + "insights.write", + "reports.read", + "reports.write", + "presences.read", + "presences.write", "backups.policies.read", "backups.policies.write", "archives.read", @@ -29152,16 +29721,16 @@ "restorations.write", "domains.read", "domains.write", - "events.read" + "events.read", + "usage.read" ], - "x-enum-name": null, + "x-enum-name": "ProjectKeyScopes", "x-enum-keys": [] } }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -29195,7 +29764,7 @@ "x-appwrite": { "method": "deleteKey", "group": "keys", - "weight": 1114, + "weight": 1179, "cookies": false, "type": "", "demo": "project\/delete-key.md", @@ -29258,7 +29827,7 @@ "x-appwrite": { "method": "updateLabels", "group": null, - "weight": 1097, + "weight": 1162, "cookies": false, "type": "", "demo": "project\/update-labels.md", @@ -29293,7 +29862,6 @@ "labels": { "type": "array", "description": "Array of project labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -29332,7 +29900,7 @@ "x-appwrite": { "method": "listMockPhones", "group": "mocks", - "weight": 1130, + "weight": 1195, "cookies": false, "type": "", "demo": "project\/list-mock-phones.md", @@ -29406,7 +29974,7 @@ "x-appwrite": { "method": "createMockPhone", "group": "mocks", - "weight": 1129, + "weight": 1194, "cookies": false, "type": "", "demo": "project\/create-mock-phone.md", @@ -29441,14 +30009,12 @@ "number": { "type": "string", "description": "Phone number to associate with the mock phone. Must be a valid E.164 formatted phone number.", - "default": null, "x-example": "+12065550100", "format": "phone" }, "otp": { "type": "string", "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "default": null, "x-example": "<OTP>" } }, @@ -29485,7 +30051,7 @@ "x-appwrite": { "method": "getMockPhone", "group": "mocks", - "weight": 1131, + "weight": 1196, "cookies": false, "type": "", "demo": "project\/get-mock-phone.md", @@ -29547,7 +30113,7 @@ "x-appwrite": { "method": "updateMockPhone", "group": "mocks", - "weight": 1132, + "weight": 1197, "cookies": false, "type": "", "demo": "project\/update-mock-phone.md", @@ -29591,7 +30157,6 @@ "otp": { "type": "string", "description": "One-time password (OTP) to associate with the mock phone. Must be a 6-digit numeric code.", - "default": null, "x-example": "<OTP>" } }, @@ -29622,7 +30187,7 @@ "x-appwrite": { "method": "deleteMockPhone", "group": "mocks", - "weight": 1133, + "weight": 1198, "cookies": false, "type": "", "demo": "project\/delete-mock-phone.md", @@ -29684,7 +30249,7 @@ "x-appwrite": { "method": "listOAuth2Providers", "group": "oauth2", - "weight": 1146, + "weight": 1211, "cookies": false, "type": "", "demo": "project\/list-o-auth-2-providers.md", @@ -29760,7 +30325,7 @@ "x-appwrite": { "method": "updateOAuth2Amazon", "group": "oauth2", - "weight": 1173, + "weight": 1238, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-amazon.md", @@ -29795,21 +30360,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -29845,7 +30407,7 @@ "x-appwrite": { "method": "updateOAuth2Apple", "group": "oauth2", - "weight": 1188, + "weight": 1253, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-apple.md", @@ -29880,35 +30442,30 @@ "serviceId": { "type": "string", "description": "'Service ID' of Apple OAuth2 app. For example: ip.appwrite.app.web", - "default": null, "x-example": "<SERVICE_ID>", "x-nullable": true }, "keyId": { "type": "string", "description": "'Key ID' of Apple OAuth2 app. For example: P4000000N8", - "default": null, "x-example": "<KEY_ID>", "x-nullable": true }, "teamId": { "type": "string", "description": "'Team ID' of Apple OAuth2 app. For example: D4000000R6", - "default": null, "x-example": "<TEAM_ID>", "x-nullable": true }, "p8File": { "type": "string", "description": "Contents of the Apple OAuth2 app .p8 private key file. The secret key wrapped by the PEM markers is 200 characters long. For example: -----BEGIN PRIVATE KEY-----MIGTAg...jy2Xbna-----END PRIVATE KEY-----", - "default": null, "x-example": "<P8_FILE>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -29944,7 +30501,7 @@ "x-appwrite": { "method": "updateOAuth2Auth0", "group": "oauth2", - "weight": 1182, + "weight": 1247, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-auth-0.md", @@ -29979,28 +30536,24 @@ "clientId": { "type": "string", "description": "'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "endpoint": { "type": "string", "description": "Domain of Auth0 instance. For example: example.us.auth0.com", - "default": null, "x-example": "<ENDPOINT>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30036,7 +30589,7 @@ "x-appwrite": { "method": "updateOAuth2Authentik", "group": "oauth2", - "weight": 1181, + "weight": 1246, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-authentik.md", @@ -30071,28 +30624,24 @@ "clientId": { "type": "string", "description": "'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "endpoint": { "type": "string", "description": "Domain of Authentik instance. For example: example.authentik.com", - "default": null, "x-example": "<ENDPOINT>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30128,7 +30677,7 @@ "x-appwrite": { "method": "updateOAuth2Autodesk", "group": "oauth2", - "weight": 1156, + "weight": 1221, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-autodesk.md", @@ -30163,21 +30712,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30213,7 +30759,7 @@ "x-appwrite": { "method": "updateOAuth2Bitbucket", "group": "oauth2", - "weight": 1153, + "weight": 1218, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-bitbucket.md", @@ -30248,21 +30794,18 @@ "key": { "type": "string", "description": "'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc", - "default": null, "x-example": "<KEY>", "x-nullable": true }, "secret": { "type": "string", "description": "'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx", - "default": null, "x-example": "<SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30298,7 +30841,7 @@ "x-appwrite": { "method": "updateOAuth2Bitly", "group": "oauth2", - "weight": 1154, + "weight": 1219, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-bitly.md", @@ -30333,21 +30876,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30383,7 +30923,7 @@ "x-appwrite": { "method": "updateOAuth2Box", "group": "oauth2", - "weight": 1155, + "weight": 1220, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-box.md", @@ -30418,21 +30958,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30468,7 +31005,7 @@ "x-appwrite": { "method": "updateOAuth2Dailymotion", "group": "oauth2", - "weight": 1152, + "weight": 1217, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-dailymotion.md", @@ -30503,21 +31040,18 @@ "apiKey": { "type": "string", "description": "'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f", - "default": null, "x-example": "<API_KEY>", "x-nullable": true }, "apiSecret": { "type": "string", "description": "'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639", - "default": null, "x-example": "<API_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30553,7 +31087,7 @@ "x-appwrite": { "method": "updateOAuth2Discord", "group": "oauth2", - "weight": 1149, + "weight": 1214, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-discord.md", @@ -30588,21 +31122,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Discord OAuth2 app. For example: 950722000000343754", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30638,7 +31169,7 @@ "x-appwrite": { "method": "updateOAuth2Disqus", "group": "oauth2", - "weight": 1172, + "weight": 1237, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-disqus.md", @@ -30673,21 +31204,18 @@ "publicKey": { "type": "string", "description": "'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX", - "default": null, "x-example": "<PUBLIC_KEY>", "x-nullable": true }, "secretKey": { "type": "string", "description": "'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9", - "default": null, "x-example": "<SECRET_KEY>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30723,7 +31251,7 @@ "x-appwrite": { "method": "updateOAuth2Dropbox", "group": "oauth2", - "weight": 1151, + "weight": 1216, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-dropbox.md", @@ -30758,21 +31286,18 @@ "appKey": { "type": "string", "description": "'App Key' of Dropbox OAuth2 app. For example: jl000000000009t", - "default": null, "x-example": "<APP_KEY>", "x-nullable": true }, "appSecret": { "type": "string", "description": "'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw", - "default": null, "x-example": "<APP_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30808,7 +31333,7 @@ "x-appwrite": { "method": "updateOAuth2Etsy", "group": "oauth2", - "weight": 1174, + "weight": 1239, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-etsy.md", @@ -30843,21 +31368,18 @@ "keyString": { "type": "string", "description": "'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2", - "default": null, "x-example": "<KEY_STRING>", "x-nullable": true }, "sharedSecret": { "type": "string", "description": "'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru", - "default": null, "x-example": "<SHARED_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30893,7 +31415,7 @@ "x-appwrite": { "method": "updateOAuth2Facebook", "group": "oauth2", - "weight": 1175, + "weight": 1240, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-facebook.md", @@ -30928,21 +31450,18 @@ "appId": { "type": "string", "description": "'App ID' of Facebook OAuth2 app. For example: 260600000007694", - "default": null, "x-example": "<APP_ID>", "x-nullable": true }, "appSecret": { "type": "string", "description": "'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4", - "default": null, "x-example": "<APP_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -30978,7 +31497,7 @@ "x-appwrite": { "method": "updateOAuth2Figma", "group": "oauth2", - "weight": 1150, + "weight": 1215, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-figma.md", @@ -31013,21 +31532,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31063,7 +31579,7 @@ "x-appwrite": { "method": "updateOAuth2FusionAuth", "group": "oauth2", - "weight": 1183, + "weight": 1248, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-fusion-auth.md", @@ -31098,28 +31614,24 @@ "clientId": { "type": "string", "description": "'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "endpoint": { "type": "string", "description": "Domain of FusionAuth instance. For example: example.fusionauth.io", - "default": null, "x-example": "<ENDPOINT>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31155,7 +31667,7 @@ "x-appwrite": { "method": "updateOAuth2GitHub", "group": "oauth2", - "weight": 1148, + "weight": 1213, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-git-hub.md", @@ -31190,21 +31702,18 @@ "clientId": { "type": "string", "description": "'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31240,7 +31749,7 @@ "x-appwrite": { "method": "updateOAuth2Gitlab", "group": "oauth2", - "weight": 1180, + "weight": 1245, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-gitlab.md", @@ -31275,21 +31784,18 @@ "applicationId": { "type": "string", "description": "'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252", - "default": null, "x-example": "<APPLICATION_ID>", "x-nullable": true }, "secret": { "type": "string", "description": "'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38", - "default": null, "x-example": "<SECRET>", "x-nullable": true }, "endpoint": { "type": "string", "description": "Endpoint URL of self-hosted GitLab instance. For example: https:\/\/gitlab.com", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -31297,7 +31803,6 @@ "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31333,7 +31838,7 @@ "x-appwrite": { "method": "updateOAuth2Google", "group": "oauth2", - "weight": 1157, + "weight": 1222, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-google.md", @@ -31368,21 +31873,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "prompt": { "type": "array", "description": "Array of Google OAuth2 prompt values. If \"none\" is included, it must be the only element. \"none\" means: don't display any authentication or consent screens. Must not be specified with other values. \"consent\" means: prompt the user for consent. \"select_account\" means: prompt the user to select an account.", - "default": null, "x-example": null, "x-nullable": true, "items": { @@ -31392,14 +31894,13 @@ "consent", "select_account" ], - "x-enum-name": null, + "x-enum-name": "ProjectOAuth2GooglePrompt", "x-enum-keys": [] } }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31435,7 +31936,7 @@ "x-appwrite": { "method": "updateOAuth2Keycloak", "group": "oauth2", - "weight": 1184, + "weight": 1249, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-keycloak.md", @@ -31470,35 +31971,30 @@ "clientId": { "type": "string", "description": "'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "endpoint": { "type": "string", "description": "Domain of Keycloak instance. For example: keycloak.example.com", - "default": null, "x-example": "<ENDPOINT>", "x-nullable": true }, "realmName": { "type": "string", "description": "Keycloak realm name. For example: appwrite-realm", - "default": null, "x-example": "<REALM_NAME>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31534,7 +32030,7 @@ "x-appwrite": { "method": "updateOAuth2Kick", "group": "oauth2", - "weight": 1187, + "weight": 1252, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-kick.md", @@ -31569,21 +32065,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31619,7 +32112,7 @@ "x-appwrite": { "method": "updateOAuth2Linkedin", "group": "oauth2", - "weight": 1171, + "weight": 1236, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-linkedin.md", @@ -31654,21 +32147,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "primaryClientSecret": { "type": "string", "description": "'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: WPL_AP1.2Bf0000000000000.\/HtlYw==", - "default": null, "x-example": "<PRIMARY_CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31704,7 +32194,7 @@ "x-appwrite": { "method": "updateOAuth2Microsoft", "group": "oauth2", - "weight": 1189, + "weight": 1254, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-microsoft.md", @@ -31739,28 +32229,24 @@ "applicationId": { "type": "string", "description": "'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444", - "default": null, "x-example": "<APPLICATION_ID>", "x-nullable": true }, "applicationSecret": { "type": "string", "description": "'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u", - "default": null, "x-example": "<APPLICATION_SECRET>", "x-nullable": true }, "tenant": { "type": "string", "description": "Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common", - "default": null, "x-example": "<TENANT>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31796,7 +32282,7 @@ "x-appwrite": { "method": "updateOAuth2Notion", "group": "oauth2", - "weight": 1168, + "weight": 1233, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-notion.md", @@ -31831,21 +32317,18 @@ "oauthClientId": { "type": "string", "description": "'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3", - "default": null, "x-example": "<OAUTH_CLIENT_ID>", "x-nullable": true }, "oauthClientSecret": { "type": "string", "description": "'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9", - "default": null, "x-example": "<OAUTH_CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31881,7 +32364,7 @@ "x-appwrite": { "method": "updateOAuth2Oidc", "group": "oauth2", - "weight": 1185, + "weight": 1250, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-oidc.md", @@ -31916,21 +32399,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "wellKnownURL": { "type": "string", "description": "OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https:\/\/myoauth.com\/.well-known\/openid-configuration", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -31938,7 +32418,6 @@ "authorizationURL": { "type": "string", "description": "OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/authorize", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -31946,7 +32425,6 @@ "tokenURL": { "type": "string", "description": "OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/token", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -31954,7 +32432,6 @@ "userInfoURL": { "type": "string", "description": "OpenID Connect user info endpoint URL. Required when wellKnownURL is not provided. For example: https:\/\/myoauth.com\/oauth2\/userinfo", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -31962,7 +32439,6 @@ "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -31998,7 +32474,7 @@ "x-appwrite": { "method": "updateOAuth2Okta", "group": "oauth2", - "weight": 1186, + "weight": 1251, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-okta.md", @@ -32033,35 +32509,30 @@ "clientId": { "type": "string", "description": "'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "domain": { "type": "string", "description": "Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https:\/\/trial-6400025.okta.com\/", - "default": null, "x-example": null, "x-nullable": true }, "authorizationServerId": { "type": "string", "description": "Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z", - "default": null, "x-example": "<AUTHORIZATION_SERVER_ID>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32097,7 +32568,7 @@ "x-appwrite": { "method": "updateOAuth2Paypal", "group": "oauth2", - "weight": 1178, + "weight": 1243, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-paypal.md", @@ -32132,21 +32603,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "secretKey": { "type": "string", "description": "'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "default": null, "x-example": "<SECRET_KEY>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32182,7 +32650,7 @@ "x-appwrite": { "method": "updateOAuth2PaypalSandbox", "group": "oauth2", - "weight": 1179, + "weight": 1244, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-paypal-sandbox.md", @@ -32217,21 +32685,18 @@ "clientId": { "type": "string", "description": "'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "secretKey": { "type": "string", "description": "'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp", - "default": null, "x-example": "<SECRET_KEY>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32267,7 +32732,7 @@ "x-appwrite": { "method": "updateOAuth2Podio", "group": "oauth2", - "weight": 1167, + "weight": 1232, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-podio.md", @@ -32302,21 +32767,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32352,7 +32814,7 @@ "x-appwrite": { "method": "updateOAuth2Salesforce", "group": "oauth2", - "weight": 1169, + "weight": 1234, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-salesforce.md", @@ -32387,21 +32849,18 @@ "customerKey": { "type": "string", "description": "'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq", - "default": null, "x-example": "<CUSTOMER_KEY>", "x-nullable": true }, "customerSecret": { "type": "string", "description": "'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2", - "default": null, "x-example": "<CUSTOMER_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32437,7 +32896,7 @@ "x-appwrite": { "method": "updateOAuth2Slack", "group": "oauth2", - "weight": 1166, + "weight": 1231, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-slack.md", @@ -32472,21 +32931,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32522,7 +32978,7 @@ "x-appwrite": { "method": "updateOAuth2Spotify", "group": "oauth2", - "weight": 1165, + "weight": 1230, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-spotify.md", @@ -32557,21 +33013,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32607,7 +33060,7 @@ "x-appwrite": { "method": "updateOAuth2Stripe", "group": "oauth2", - "weight": 1164, + "weight": 1229, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-stripe.md", @@ -32642,21 +33095,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "apiSecretKey": { "type": "string", "description": "'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp", - "default": null, "x-example": "<API_SECRET_KEY>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32692,7 +33142,7 @@ "x-appwrite": { "method": "updateOAuth2Tradeshift", "group": "oauth2", - "weight": 1176, + "weight": 1241, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-tradeshift.md", @@ -32727,21 +33177,18 @@ "oauth2ClientId": { "type": "string", "description": "'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "default": null, "x-example": "<OAUTH2_CLIENT_ID>", "x-nullable": true }, "oauth2ClientSecret": { "type": "string", "description": "'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "default": null, "x-example": "<OAUTH2_CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32777,7 +33224,7 @@ "x-appwrite": { "method": "updateOAuth2TradeshiftSandbox", "group": "oauth2", - "weight": 1177, + "weight": 1242, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-tradeshift-sandbox.md", @@ -32812,21 +33259,18 @@ "oauth2ClientId": { "type": "string", "description": "'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app", - "default": null, "x-example": "<OAUTH2_CLIENT_ID>", "x-nullable": true }, "oauth2ClientSecret": { "type": "string", "description": "'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83", - "default": null, "x-example": "<OAUTH2_CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32862,7 +33306,7 @@ "x-appwrite": { "method": "updateOAuth2Twitch", "group": "oauth2", - "weight": 1163, + "weight": 1228, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-twitch.md", @@ -32897,21 +33341,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -32947,7 +33388,7 @@ "x-appwrite": { "method": "updateOAuth2WordPress", "group": "oauth2", - "weight": 1162, + "weight": 1227, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-word-press.md", @@ -32982,21 +33423,18 @@ "clientId": { "type": "string", "description": "'Client ID' of WordPress OAuth2 app. For example: 130005", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33032,7 +33470,7 @@ "x-appwrite": { "method": "updateOAuth2X", "group": "oauth2", - "weight": 1161, + "weight": 1226, "cookies": false, "type": "", "demo": "project\/update-o-auth-2x.md", @@ -33067,21 +33505,18 @@ "customerKey": { "type": "string", "description": "'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT", - "default": null, "x-example": "<CUSTOMER_KEY>", "x-nullable": true }, "secretKey": { "type": "string", "description": "'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9", - "default": null, "x-example": "<SECRET_KEY>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33117,7 +33552,7 @@ "x-appwrite": { "method": "updateOAuth2Yahoo", "group": "oauth2", - "weight": 1170, + "weight": 1235, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-yahoo.md", @@ -33152,21 +33587,18 @@ "clientId": { "type": "string", "description": "'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33202,7 +33634,7 @@ "x-appwrite": { "method": "updateOAuth2Yandex", "group": "oauth2", - "weight": 1160, + "weight": 1225, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-yandex.md", @@ -33237,21 +33669,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33287,7 +33716,7 @@ "x-appwrite": { "method": "updateOAuth2Zoho", "group": "oauth2", - "weight": 1159, + "weight": 1224, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-zoho.md", @@ -33322,21 +33751,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33372,7 +33798,7 @@ "x-appwrite": { "method": "updateOAuth2Zoom", "group": "oauth2", - "weight": 1158, + "weight": 1223, "cookies": false, "type": "", "demo": "project\/update-o-auth-2-zoom.md", @@ -33407,21 +33833,18 @@ "clientId": { "type": "string", "description": "'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ", - "default": null, "x-example": "<CLIENT_ID>", "x-nullable": true }, "clientSecret": { "type": "string", "description": "'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON", - "default": null, "x-example": "<CLIENT_SECRET>", "x-nullable": true }, "enabled": { "type": "boolean", "description": "OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.", - "default": null, "x-example": false, "x-nullable": true } @@ -33623,7 +34046,7 @@ "x-appwrite": { "method": "getOAuth2Provider", "group": "oauth2", - "weight": 1147, + "weight": 1212, "cookies": false, "type": "", "demo": "project\/get-o-auth-2-provider.md", @@ -33702,7 +34125,7 @@ "githubImagine", "googleImagine" ], - "x-enum-name": "OAuthProvider", + "x-enum-name": "ProjectOAuthProviderId", "x-enum-keys": [], "in": "path" } @@ -33733,7 +34156,7 @@ "x-appwrite": { "method": "listPlatforms", "group": "platforms", - "weight": 1128, + "weight": 1181, "cookies": false, "type": "", "demo": "project\/list-platforms.md", @@ -33809,7 +34232,7 @@ "x-appwrite": { "method": "createAndroidPlatform", "group": "platforms", - "weight": 1124, + "weight": 1185, "cookies": false, "type": "", "demo": "project\/create-android-platform.md", @@ -33844,19 +34267,16 @@ "platformId": { "type": "string", "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "applicationId": { "type": "string", "description": "Android application ID. Max length: 256 chars.", - "default": null, "x-example": "<APPLICATION_ID>" } }, @@ -33896,7 +34316,7 @@ "x-appwrite": { "method": "updateAndroidPlatform", "group": "platforms", - "weight": 1119, + "weight": 1190, "cookies": false, "type": "", "demo": "project\/update-android-platform.md", @@ -33939,13 +34359,11 @@ "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "applicationId": { "type": "string", "description": "Android application ID. Max length: 256 chars.", - "default": null, "x-example": "<APPLICATION_ID>" } }, @@ -33984,7 +34402,7 @@ "x-appwrite": { "method": "createApplePlatform", "group": "platforms", - "weight": 1123, + "weight": 1184, "cookies": false, "type": "", "demo": "project\/create-apple-platform.md", @@ -34019,19 +34437,16 @@ "platformId": { "type": "string", "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "bundleIdentifier": { "type": "string", "description": "Apple bundle identifier. Max length: 256 chars.", - "default": null, "x-example": "<BUNDLE_IDENTIFIER>" } }, @@ -34071,7 +34486,7 @@ "x-appwrite": { "method": "updateApplePlatform", "group": "platforms", - "weight": 1118, + "weight": 1189, "cookies": false, "type": "", "demo": "project\/update-apple-platform.md", @@ -34114,13 +34529,11 @@ "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "bundleIdentifier": { "type": "string", "description": "Apple bundle identifier. Max length: 256 chars.", - "default": null, "x-example": "<BUNDLE_IDENTIFIER>" } }, @@ -34159,7 +34572,7 @@ "x-appwrite": { "method": "createLinuxPlatform", "group": "platforms", - "weight": 1126, + "weight": 1187, "cookies": false, "type": "", "demo": "project\/create-linux-platform.md", @@ -34194,19 +34607,16 @@ "platformId": { "type": "string", "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "packageName": { "type": "string", "description": "Linux package name. Max length: 256 chars.", - "default": null, "x-example": "<PACKAGE_NAME>" } }, @@ -34246,7 +34656,7 @@ "x-appwrite": { "method": "updateLinuxPlatform", "group": "platforms", - "weight": 1121, + "weight": 1192, "cookies": false, "type": "", "demo": "project\/update-linux-platform.md", @@ -34289,13 +34699,11 @@ "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "packageName": { "type": "string", "description": "Linux package name. Max length: 256 chars.", - "default": null, "x-example": "<PACKAGE_NAME>" } }, @@ -34334,7 +34742,7 @@ "x-appwrite": { "method": "createWebPlatform", "group": "platforms", - "weight": 1122, + "weight": 1183, "cookies": false, "type": "", "demo": "project\/create-web-platform.md", @@ -34369,19 +34777,16 @@ "platformId": { "type": "string", "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "hostname": { "type": "string", "description": "Platform web hostname. Max length: 256 chars.", - "default": null, "x-example": "app.example.com" } }, @@ -34421,7 +34826,7 @@ "x-appwrite": { "method": "updateWebPlatform", "group": "platforms", - "weight": 1117, + "weight": 1188, "cookies": false, "type": "", "demo": "project\/update-web-platform.md", @@ -34464,13 +34869,11 @@ "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "hostname": { "type": "string", "description": "Platform web hostname. Max length: 256 chars.", - "default": null, "x-example": "app.example.com" } }, @@ -34509,7 +34912,7 @@ "x-appwrite": { "method": "createWindowsPlatform", "group": "platforms", - "weight": 1125, + "weight": 1186, "cookies": false, "type": "", "demo": "project\/create-windows-platform.md", @@ -34544,19 +34947,16 @@ "platformId": { "type": "string", "description": "Platform ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<PLATFORM_ID>" }, "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "packageIdentifierName": { "type": "string", "description": "Windows package identifier name. Max length: 256 chars.", - "default": null, "x-example": "<PACKAGE_IDENTIFIER_NAME>" } }, @@ -34596,7 +34996,7 @@ "x-appwrite": { "method": "updateWindowsPlatform", "group": "platforms", - "weight": 1120, + "weight": 1191, "cookies": false, "type": "", "demo": "project\/update-windows-platform.md", @@ -34639,13 +35039,11 @@ "name": { "type": "string", "description": "Platform name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "packageIdentifierName": { "type": "string", "description": "Windows package identifier name. Max length: 256 chars.", - "default": null, "x-example": "<PACKAGE_IDENTIFIER_NAME>" } }, @@ -34708,7 +35106,7 @@ "x-appwrite": { "method": "getPlatform", "group": "platforms", - "weight": 1127, + "weight": 1182, "cookies": false, "type": "", "demo": "project\/get-platform.md", @@ -34764,7 +35162,7 @@ "x-appwrite": { "method": "deletePlatform", "group": "platforms", - "weight": 1116, + "weight": 1193, "cookies": false, "type": "", "demo": "project\/delete-platform.md", @@ -34825,7 +35223,7 @@ "x-appwrite": { "method": "listPolicies", "group": "policies", - "weight": 1134, + "weight": 1199, "cookies": false, "type": "", "demo": "project\/list-policies.md", @@ -34878,10 +35276,10 @@ ] } }, - "\/project\/policies\/deny-canonical-email": { + "\/project\/policies\/deny-aliased-email": { "patch": { - "summary": "Update deny canonical email policy", - "operationId": "projectUpdateDenyCanonicalEmailPolicy", + "summary": "Update deny aliased email policy", + "operationId": "projectUpdateDenyAliasedEmailPolicy", "consumes": [ "application\/json" ], @@ -34891,7 +35289,7 @@ "tags": [ "project" ], - "description": "Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", + "description": "Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.", "responses": { "200": { "description": "Project", @@ -34902,12 +35300,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateDenyCanonicalEmailPolicy", + "method": "updateDenyAliasedEmailPolicy", "group": "policies", - "weight": 1190, + "weight": 1255, "cookies": false, "type": "", - "demo": "project\/update-deny-canonical-email-policy.md", + "demo": "project\/update-deny-aliased-email-policy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34941,8 +35339,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Set whether or not to block email aliases during signup and email updates.", - "default": null, + "description": "Set whether or not to block aliased emails during signup and email updates.", "x-example": false } }, @@ -34980,7 +35377,7 @@ "x-appwrite": { "method": "updateDenyDisposableEmailPolicy", "group": "policies", - "weight": 1191, + "weight": 1256, "cookies": false, "type": "", "demo": "project\/update-deny-disposable-email-policy.md", @@ -35018,7 +35415,6 @@ "enabled": { "type": "boolean", "description": "Set whether or not to block disposable email addresses during signup and email updates.", - "default": null, "x-example": false } }, @@ -35056,7 +35452,7 @@ "x-appwrite": { "method": "updateDenyFreeEmailPolicy", "group": "policies", - "weight": 1192, + "weight": 1257, "cookies": false, "type": "", "demo": "project\/update-deny-free-email-policy.md", @@ -35094,7 +35490,6 @@ "enabled": { "type": "boolean", "description": "Set whether or not to block free email addresses during signup and email updates.", - "default": null, "x-example": false } }, @@ -35132,7 +35527,7 @@ "x-appwrite": { "method": "updateMembershipPrivacyPolicy", "group": "policies", - "weight": 1136, + "weight": 1201, "cookies": false, "type": "", "demo": "project\/update-membership-privacy-policy.md", @@ -35170,31 +35565,26 @@ "userId": { "type": "boolean", "description": "Set to true if you want make user ID visible to all team members, or false to hide it.", - "default": null, "x-example": false }, "userEmail": { "type": "boolean", "description": "Set to true if you want make user email visible to all team members, or false to hide it.", - "default": null, "x-example": false }, "userPhone": { "type": "boolean", "description": "Set to true if you want make user phone number visible to all team members, or false to hide it.", - "default": null, "x-example": false }, "userName": { "type": "boolean", "description": "Set to true if you want make user name visible to all team members, or false to hide it.", - "default": null, "x-example": false }, "userMFA": { "type": "boolean", "description": "Set to true if you want make user MFA status visible to all team members, or false to hide it.", - "default": null, "x-example": false } } @@ -35229,7 +35619,7 @@ "x-appwrite": { "method": "updatePasswordDictionaryPolicy", "group": "policies", - "weight": 1137, + "weight": 1202, "cookies": false, "type": "", "demo": "project\/update-password-dictionary-policy.md", @@ -35267,7 +35657,6 @@ "enabled": { "type": "boolean", "description": "Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.", - "default": null, "x-example": false } }, @@ -35305,7 +35694,7 @@ "x-appwrite": { "method": "updatePasswordHistoryPolicy", "group": "policies", - "weight": 1138, + "weight": 1203, "cookies": false, "type": "", "demo": "project\/update-password-history-policy.md", @@ -35343,7 +35732,6 @@ "total": { "type": "integer", "description": "Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -35383,7 +35771,7 @@ "x-appwrite": { "method": "updatePasswordPersonalDataPolicy", "group": "policies", - "weight": 1139, + "weight": 1204, "cookies": false, "type": "", "demo": "project\/update-password-personal-data-policy.md", @@ -35421,7 +35809,6 @@ "enabled": { "type": "boolean", "description": "Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.", - "default": null, "x-example": false } }, @@ -35459,7 +35846,7 @@ "x-appwrite": { "method": "updateSessionAlertPolicy", "group": "policies", - "weight": 1140, + "weight": 1205, "cookies": false, "type": "", "demo": "project\/update-session-alert-policy.md", @@ -35497,7 +35884,6 @@ "enabled": { "type": "boolean", "description": "Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.", - "default": null, "x-example": false } }, @@ -35535,7 +35921,7 @@ "x-appwrite": { "method": "updateSessionDurationPolicy", "group": "policies", - "weight": 1141, + "weight": 1206, "cookies": false, "type": "", "demo": "project\/update-session-duration-policy.md", @@ -35573,7 +35959,6 @@ "duration": { "type": "integer", "description": "Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.", - "default": null, "x-example": 5, "format": "int32" } @@ -35612,7 +35997,7 @@ "x-appwrite": { "method": "updateSessionInvalidationPolicy", "group": "policies", - "weight": 1142, + "weight": 1207, "cookies": false, "type": "", "demo": "project\/update-session-invalidation-policy.md", @@ -35650,7 +36035,6 @@ "enabled": { "type": "boolean", "description": "Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.", - "default": null, "x-example": false } }, @@ -35688,7 +36072,7 @@ "x-appwrite": { "method": "updateSessionLimitPolicy", "group": "policies", - "weight": 1143, + "weight": 1208, "cookies": false, "type": "", "demo": "project\/update-session-limit-policy.md", @@ -35726,7 +36110,6 @@ "total": { "type": "integer", "description": "Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -35766,7 +36149,7 @@ "x-appwrite": { "method": "updateUserLimitPolicy", "group": "policies", - "weight": 1144, + "weight": 1209, "cookies": false, "type": "", "demo": "project\/update-user-limit-policy.md", @@ -35804,7 +36187,6 @@ "total": { "type": "integer", "description": "Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -35884,7 +36266,7 @@ "x-appwrite": { "method": "getPolicy", "group": "policies", - "weight": 1135, + "weight": 1200, "cookies": false, "type": "", "demo": "project\/get-policy.md", @@ -35930,7 +36312,7 @@ "user-limit", "membership-privacy" ], - "x-enum-name": "ProjectPolicy", + "x-enum-name": "ProjectPolicyId", "x-enum-keys": [], "in": "path" } @@ -35963,7 +36345,7 @@ "x-appwrite": { "method": "updateProtocol", "group": null, - "weight": 1098, + "weight": 1163, "cookies": false, "type": "", "demo": "project\/update-protocol.md", @@ -36000,7 +36382,7 @@ "graphql", "websocket" ], - "x-enum-name": null, + "x-enum-name": "ProjectProtocolId", "x-enum-keys": [], "in": "path" }, @@ -36013,7 +36395,6 @@ "enabled": { "type": "boolean", "description": "Protocol status.", - "default": null, "x-example": false } }, @@ -36051,7 +36432,7 @@ "x-appwrite": { "method": "updateService", "group": null, - "weight": 1099, + "weight": 1164, "cookies": false, "type": "", "demo": "project\/update-service.md", @@ -36079,7 +36460,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", + "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", "required": true, "type": "string", "x-example": "account", @@ -36100,9 +36481,10 @@ "proxy", "graphql", "migrations", - "messaging" + "messaging", + "advisor" ], - "x-enum-name": null, + "x-enum-name": "ProjectServiceId", "x-enum-keys": [], "in": "path" }, @@ -36115,7 +36497,6 @@ "enabled": { "type": "boolean", "description": "Service status.", - "default": null, "x-example": false } }, @@ -36153,7 +36534,7 @@ "x-appwrite": { "method": "updateSMTP", "group": "smtp", - "weight": 1100, + "weight": 1165, "cookies": false, "type": "", "demo": "project\/update-smtp.md", @@ -36188,79 +36569,69 @@ "host": { "type": "string", "description": "SMTP server hostname (domain)", - "default": null, "x-example": null, "x-nullable": true }, "port": { "type": "integer", "description": "SMTP server port", - "default": null, "x-example": null, "format": "int32", "x-nullable": true }, "username": { "type": "string", - "description": "SMTP server username. Leave empty for no authorization.", - "default": null, + "description": "SMTP server username. Pass an empty string to clear a previously set value.", "x-example": "<USERNAME>", "x-nullable": true }, "password": { "type": "string", - "description": "SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).", - "default": null, + "description": "SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).", "x-example": "<PASSWORD>", "x-nullable": true }, "senderEmail": { "type": "string", - "description": "Email address shown in inbox as the sender of the email.", - "default": null, + "description": "Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "senderName": { "type": "string", - "description": "Name shown in inbox as the sender of the email.", - "default": null, + "description": "Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.", "x-example": "<SENDER_NAME>", "x-nullable": true }, "replyToEmail": { "type": "string", - "description": "Email used when user replies to the email.", - "default": null, + "description": "Email used when user replies to the email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "replyToName": { "type": "string", - "description": "Name used when user replies to the email.", - "default": null, + "description": "Name used when user replies to the email. Pass an empty string to clear a previously set value.", "x-example": "<REPLY_TO_NAME>", "x-nullable": true }, "secure": { "type": "string", "description": "Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.", - "default": null, "x-example": "tls", "enum": [ "tls", "ssl" ], - "x-enum-name": null, + "x-enum-name": "ProjectSMTPSecure", "x-enum-keys": [], "x-nullable": true }, "enabled": { "type": "boolean", "description": "Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.", - "default": null, "x-example": false, "x-nullable": true } @@ -36291,7 +36662,7 @@ "x-appwrite": { "method": "createSMTPTest", "group": "smtp", - "weight": 1101, + "weight": 1166, "cookies": false, "type": "", "demo": "project\/create-smtp-test.md", @@ -36326,7 +36697,6 @@ "emails": { "type": "array", "description": "Array of emails to send test email to. Maximum of 10 emails are allowed.", - "default": null, "x-example": null, "items": { "type": "string" @@ -36365,7 +36735,7 @@ "x-appwrite": { "method": "listEmailTemplates", "group": "templates", - "weight": 1102, + "weight": 1167, "cookies": false, "type": "", "demo": "project\/list-email-templates.md", @@ -36439,7 +36809,7 @@ "x-appwrite": { "method": "updateEmailTemplate", "group": "templates", - "weight": 1104, + "weight": 1169, "cookies": false, "type": "", "demo": "project\/update-email-template.md", @@ -36474,7 +36844,6 @@ "templateId": { "type": "string", "description": "Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession", - "default": null, "x-example": "verification", "enum": [ "verification", @@ -36485,13 +36854,12 @@ "sessionAlert", "otpSession" ], - "x-enum-name": "EmailTemplateType", + "x-enum-name": "ProjectEmailTemplateId", "x-enum-keys": [] }, "locale": { "type": "string", "description": "Custom email template locale. If left empty, the fallback locale (en) will be used.", - "default": "", "x-example": "af", "enum": [ "af", @@ -36626,42 +36994,37 @@ "zh-tw", "zu" ], - "x-enum-name": "EmailTemplateLocale", + "x-enum-name": "ProjectEmailTemplateLocale", "x-enum-keys": [] }, "subject": { "type": "string", "description": "Subject of the email template. Can be up to 255 characters.", - "default": null, "x-example": "<SUBJECT>", "x-nullable": true }, "message": { "type": "string", "description": "Plain or HTML body of the email template message. Can be up to 10MB of content.", - "default": null, "x-example": "<MESSAGE>", "x-nullable": true }, "senderName": { "type": "string", "description": "Name of the email sender.", - "default": null, "x-example": "<SENDER_NAME>", "x-nullable": true }, "senderEmail": { "type": "string", - "description": "Email of the sender.", - "default": null, + "description": "Email of the sender. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true }, "replyToEmail": { "type": "string", - "description": "Reply to email.", - "default": null, + "description": "Reply to email. Pass an empty string to clear a previously set value.", "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -36669,7 +37032,6 @@ "replyToName": { "type": "string", "description": "Reply to name.", - "default": null, "x-example": "<REPLY_TO_NAME>", "x-nullable": true } @@ -36706,7 +37068,7 @@ "x-appwrite": { "method": "getEmailTemplate", "group": "templates", - "weight": 1103, + "weight": 1168, "cookies": false, "type": "", "demo": "project\/get-email-template.md", @@ -36747,7 +37109,7 @@ "sessionAlert", "otpSession" ], - "x-enum-name": "EmailTemplateType", + "x-enum-name": "ProjectEmailTemplateId", "x-enum-keys": [], "in": "path" }, @@ -36890,9 +37252,8 @@ "zh-tw", "zu" ], - "x-enum-name": "EmailTemplateLocale", + "x-enum-name": "ProjectEmailTemplateLocale", "x-enum-keys": [], - "default": "", "in": "query" } ] @@ -36922,7 +37283,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 1106, + "weight": 1171, "cookies": false, "type": "", "demo": "project\/list-variables.md", @@ -36996,7 +37357,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 1105, + "weight": 1170, "cookies": false, "type": "", "demo": "project\/create-variable.md", @@ -37031,26 +37392,23 @@ "variableId": { "type": "string", "description": "Variable unique ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<VARIABLE_ID>" }, "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>" }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>" }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -37087,7 +37445,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 1107, + "weight": 1172, "cookies": false, "type": "", "demo": "project\/get-variable.md", @@ -37148,7 +37506,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 1109, + "weight": 1174, "cookies": false, "type": "", "demo": "project\/update-variable.md", @@ -37191,21 +37549,18 @@ "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>", "x-nullable": true }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>", "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "default": null, "x-example": false, "x-nullable": true } @@ -37234,7 +37589,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 1108, + "weight": 1173, "cookies": false, "type": "", "demo": "project\/delete-variable.md", @@ -37295,7 +37650,7 @@ "x-appwrite": { "method": "listRules", "group": "rules", - "weight": 1202, + "weight": 1267, "cookies": false, "type": "", "demo": "proxy\/list-rules.md", @@ -37371,7 +37726,7 @@ "x-appwrite": { "method": "createAPIRule", "group": "rules", - "weight": 1197, + "weight": 1262, "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", @@ -37406,7 +37761,6 @@ "domain": { "type": "string", "description": "Domain name.", - "default": null, "x-example": null } }, @@ -37444,7 +37798,7 @@ "x-appwrite": { "method": "createFunctionRule", "group": "rules", - "weight": 1199, + "weight": 1264, "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", @@ -37479,20 +37833,18 @@ "domain": { "type": "string", "description": "Domain name.", - "default": null, "x-example": null }, "functionId": { "type": "string", "description": "ID of function to be executed.", - "default": null, "x-example": "<FUNCTION_ID>" }, "branch": { "type": "string", "description": "Name of VCS branch to deploy changes automatically", - "default": "", - "x-example": "<BRANCH>" + "x-example": "<BRANCH>", + "default": "" } }, "required": [ @@ -37530,7 +37882,7 @@ "x-appwrite": { "method": "createRedirectRule", "group": "rules", - "weight": 1200, + "weight": 1265, "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", @@ -37565,20 +37917,17 @@ "domain": { "type": "string", "description": "Domain name.", - "default": null, "x-example": null }, "url": { "type": "string", "description": "Target URL of redirection", - "default": null, "x-example": "https:\/\/example.com", "format": "url" }, "statusCode": { "type": "string", "description": "Status code of redirection", - "default": null, "x-example": "301", "enum": [ "301", @@ -37597,13 +37946,11 @@ "resourceId": { "type": "string", "description": "ID of parent resource.", - "default": null, "x-example": "<RESOURCE_ID>" }, "resourceType": { "type": "string", "description": "Type of parent resource.", - "default": null, "x-example": "site", "enum": [ "site", @@ -37654,7 +38001,7 @@ "x-appwrite": { "method": "createSiteRule", "group": "rules", - "weight": 1198, + "weight": 1263, "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", @@ -37689,20 +38036,18 @@ "domain": { "type": "string", "description": "Domain name.", - "default": null, "x-example": null }, "siteId": { "type": "string", "description": "ID of site to be executed.", - "default": null, "x-example": "<SITE_ID>" }, "branch": { "type": "string", "description": "Name of VCS branch to deploy changes automatically", - "default": "", - "x-example": "<BRANCH>" + "x-example": "<BRANCH>", + "default": "" } }, "required": [ @@ -37738,7 +38083,7 @@ "x-appwrite": { "method": "getRule", "group": "rules", - "weight": 1201, + "weight": 1266, "cookies": false, "type": "", "demo": "proxy\/get-rule.md", @@ -37775,16 +38120,272 @@ ] }, "delete": { - "summary": "Delete rule", - "operationId": "proxyDeleteRule", + "summary": "Delete rule", + "operationId": "proxyDeleteRule", + "consumes": [ + "application\/json" + ], + "produces": [], + "tags": [ + "proxy" + ], + "description": "Delete a proxy rule by its unique ID.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "deleteRule", + "group": "rules", + "weight": 1268, + "cookies": false, + "type": "", + "demo": "proxy\/delete-rule.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rules.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "ruleId", + "description": "Rule ID.", + "required": true, + "type": "string", + "x-example": "<RULE_ID>", + "in": "path" + } + ] + } + }, + "\/proxy\/rules\/{ruleId}\/status": { + "patch": { + "summary": "Update rule status", + "operationId": "proxyUpdateRuleStatus", + "consumes": [ + "application\/json" + ], + "produces": [ + "application\/json" + ], + "tags": [ + "proxy" + ], + "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "responses": { + "200": { + "description": "Rule", + "schema": { + "$ref": "#\/definitions\/proxyRule" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateRuleStatus", + "group": "rules", + "weight": 1269, + "cookies": false, + "type": "", + "demo": "proxy\/update-rule-status.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rules.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "ruleId", + "description": "Rule ID.", + "required": true, + "type": "string", + "x-example": "<RULE_ID>", + "in": "path" + } + ] + } + }, + "\/reports": { + "get": { + "summary": "List reports", + "operationId": "advisorListReports", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "advisor" + ], + "description": "Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n", + "responses": { + "200": { + "description": "Reports List", + "schema": { + "$ref": "#\/definitions\/reportList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listReports", + "group": "reports", + "weight": 695, + "cookies": false, + "type": "", + "demo": "advisor\/list-reports.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "reports.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-reports.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, + "\/reports\/{reportId}": { + "get": { + "summary": "Get report", + "operationId": "advisorGetReport", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "advisor" + ], + "description": "Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n", + "responses": { + "200": { + "description": "Report", + "schema": { + "$ref": "#\/definitions\/report" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getReport", + "group": "reports", + "weight": 694, + "cookies": false, + "type": "", + "demo": "advisor\/get-report.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "reports.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-report.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "reportId", + "description": "Report ID.", + "required": true, + "type": "string", + "x-example": "<REPORT_ID>", + "in": "path" + } + ] + }, + "delete": { + "summary": "Delete report", + "operationId": "advisorDeleteReport", "consumes": [ "application\/json" ], "produces": [], "tags": [ - "proxy" + "advisor" ], - "description": "Delete a proxy rule by its unique ID.", + "description": "Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n", "responses": { "204": { "description": "No content" @@ -37792,22 +38393,85 @@ }, "deprecated": false, "x-appwrite": { - "method": "deleteRule", - "group": "rules", - "weight": 1203, + "method": "deleteReport", + "group": "reports", + "weight": 696, "cookies": false, "type": "", - "demo": "proxy\/delete-rule.md", + "demo": "advisor\/delete-report.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{projectId},userId:{userId}", + "scope": "reports.write", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/delete-report.md", + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "reportId", + "description": "Report ID.", + "required": true, + "type": "string", + "x-example": "<REPORT_ID>", + "in": "path" + } + ] + } + }, + "\/reports\/{reportId}\/insights": { + "get": { + "summary": "List insights", + "operationId": "advisorListInsights", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "advisor" + ], + "description": "List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n", + "responses": { + "200": { + "description": "Insights List", + "schema": { + "$ref": "#\/definitions\/insightList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listInsights", + "group": "insights", + "weight": 698, + "cookies": false, + "type": "", + "demo": "advisor\/list-insights.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/list-insights.md", "auth": { "Project": [], "Key": [] @@ -37821,56 +38485,76 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "type": "string", - "x-example": "<RULE_ID>", + "x-example": "<REPORT_ID>", "in": "path" + }, + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" } ] } }, - "\/proxy\/rules\/{ruleId}\/status": { - "patch": { - "summary": "Update rule status", - "operationId": "proxyUpdateRuleStatus", - "consumes": [ - "application\/json" - ], + "\/reports\/{reportId}\/insights\/{insightId}": { + "get": { + "summary": "Get insight", + "operationId": "advisorGetInsight", + "consumes": [], "produces": [ "application\/json" ], "tags": [ - "proxy" + "advisor" ], - "description": "If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.", + "description": "Get an insight by its unique ID, scoped to its parent report.\n", "responses": { "200": { - "description": "Rule", + "description": "Insight", "schema": { - "$ref": "#\/definitions\/proxyRule" + "$ref": "#\/definitions\/insight" } } }, "deprecated": false, "x-appwrite": { - "method": "updateRuleStatus", - "group": "rules", - "weight": 1204, + "method": "getInsight", + "group": "insights", + "weight": 697, "cookies": false, "type": "", - "demo": "proxy\/update-rule-status.md", + "demo": "advisor\/get-insight.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "rules.write", + "scope": "insights.read", "platforms": [ "console", "server" ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/advisor\/get-insight.md", "auth": { "Project": [], "Key": [] @@ -37884,11 +38568,19 @@ ], "parameters": [ { - "name": "ruleId", - "description": "Rule ID.", + "name": "reportId", + "description": "Parent report ID.", "required": true, "type": "string", - "x-example": "<RULE_ID>", + "x-example": "<REPORT_ID>", + "in": "path" + }, + { + "name": "insightId", + "description": "Insight ID.", + "required": true, + "type": "string", + "x-example": "<INSIGHT_ID>", "in": "path" } ] @@ -37918,7 +38610,7 @@ "x-appwrite": { "method": "list", "group": "sites", - "weight": 474, + "weight": 479, "cookies": false, "type": "", "demo": "sites\/list.md", @@ -38001,7 +38693,7 @@ "x-appwrite": { "method": "create", "group": "sites", - "weight": 911, + "weight": 972, "cookies": false, "type": "", "demo": "sites\/create.md", @@ -38036,19 +38728,16 @@ "siteId": { "type": "string", "description": "Site ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<SITE_ID>" }, "name": { "type": "string", "description": "Site name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "framework": { "type": "string", "description": "Sites framework.", - "default": null, "x-example": "analog", "enum": [ "analog", @@ -38073,50 +38762,49 @@ "enabled": { "type": "boolean", "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "logging": { "type": "boolean", "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "timeout": { "type": "integer", "description": "Maximum request time in seconds.", - "default": 30, "x-example": 1, + "default": 30, "format": "int32" }, "installCommand": { "type": "string", "description": "Install Command.", - "default": "", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "default": "" }, "buildCommand": { "type": "string", "description": "Build Command.", - "default": "", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "default": "" }, "startCommand": { "type": "string", "description": "Custom start command. Leave empty to use default.", - "default": "", - "x-example": "<START_COMMAND>" + "x-example": "<START_COMMAND>", + "default": "" }, "outputDirectory": { "type": "string", "description": "Output Directory for site.", - "default": "", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "default": "" }, "buildRuntime": { "type": "string", "description": "Runtime to use during build step.", - "default": null, "x-example": "node-14.5", "enum": [ "node-14.5", @@ -38218,7 +38906,6 @@ "adapter": { "type": "string", "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "default": "", "x-example": "static", "enum": [ "static", @@ -38230,56 +38917,56 @@ "installationId": { "type": "string", "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" + "x-example": "<INSTALLATION_ID>", + "default": "" }, "fallbackFile": { "type": "string", "description": "Fallback file for single page application sites.", - "default": "", - "x-example": "<FALLBACK_FILE>" + "x-example": "<FALLBACK_FILE>", + "default": "" }, "providerRepositoryId": { "type": "string", "description": "Repository ID of the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" }, "providerBranch": { "type": "string", "description": "Production branch for the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" + "x-example": "<PROVIDER_BRANCH>", + "default": "" }, "providerSilentMode": { "type": "boolean", "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "providerRootDirectory": { "type": "string", "description": "Path to site code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" }, "buildSpecification": { "type": "string", "description": "Build specification for the site deployments.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "runtimeSpecification": { "type": "string", "description": "Runtime specification for the SSR executions.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "deploymentRetention": { "type": "integer", "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, "x-example": 0, + "default": 0, "format": "int32" } }, @@ -38318,7 +39005,7 @@ "x-appwrite": { "method": "listFrameworks", "group": "frameworks", - "weight": 477, + "weight": 482, "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", @@ -38369,7 +39056,7 @@ "x-appwrite": { "method": "listSpecifications", "group": "frameworks", - "weight": 500, + "weight": 505, "cookies": false, "type": "", "demo": "sites\/list-specifications.md", @@ -38420,7 +39107,7 @@ "x-appwrite": { "method": "get", "group": "sites", - "weight": 473, + "weight": 478, "cookies": false, "type": "", "demo": "sites\/get.md", @@ -38481,7 +39168,7 @@ "x-appwrite": { "method": "update", "group": "sites", - "weight": 912, + "weight": 973, "cookies": false, "type": "", "demo": "sites\/update.md", @@ -38524,13 +39211,11 @@ "name": { "type": "string", "description": "Site name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "framework": { "type": "string", "description": "Sites framework.", - "default": null, "x-example": "analog", "enum": [ "analog", @@ -38555,50 +39240,49 @@ "enabled": { "type": "boolean", "description": "Is site enabled? When set to 'disabled', users cannot access the site but Server SDKs with and API key can still access the site. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "logging": { "type": "boolean", "description": "When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "timeout": { "type": "integer", "description": "Maximum request time in seconds.", - "default": 30, "x-example": 1, + "default": 30, "format": "int32" }, "installCommand": { "type": "string", "description": "Install Command.", - "default": "", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "default": "" }, "buildCommand": { "type": "string", "description": "Build Command.", - "default": "", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "default": "" }, "startCommand": { "type": "string", "description": "Custom start command. Leave empty to use default.", - "default": "", - "x-example": "<START_COMMAND>" + "x-example": "<START_COMMAND>", + "default": "" }, "outputDirectory": { "type": "string", "description": "Output Directory for site.", - "default": "", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "default": "" }, "buildRuntime": { "type": "string", "description": "Runtime to use during build step.", - "default": "", "x-example": "node-14.5", "enum": [ "node-14.5", @@ -38700,7 +39384,6 @@ "adapter": { "type": "string", "description": "Framework adapter defining rendering strategy. Allowed values are: static, ssr", - "default": "", "x-example": "static", "enum": [ "static", @@ -38712,56 +39395,56 @@ "fallbackFile": { "type": "string", "description": "Fallback file for single page application sites.", - "default": "", - "x-example": "<FALLBACK_FILE>" + "x-example": "<FALLBACK_FILE>", + "default": "" }, "installationId": { "type": "string", "description": "Appwrite Installation ID for VCS (Version Control System) deployment.", - "default": "", - "x-example": "<INSTALLATION_ID>" + "x-example": "<INSTALLATION_ID>", + "default": "" }, "providerRepositoryId": { "type": "string", "description": "Repository ID of the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_REPOSITORY_ID>" + "x-example": "<PROVIDER_REPOSITORY_ID>", + "default": "" }, "providerBranch": { "type": "string", "description": "Production branch for the repo linked to the site.", - "default": "", - "x-example": "<PROVIDER_BRANCH>" + "x-example": "<PROVIDER_BRANCH>", + "default": "" }, "providerSilentMode": { "type": "boolean", "description": "Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "providerRootDirectory": { "type": "string", "description": "Path to site code in the linked repo.", - "default": "", - "x-example": "<PROVIDER_ROOT_DIRECTORY>" + "x-example": "<PROVIDER_ROOT_DIRECTORY>", + "default": "" }, "buildSpecification": { "type": "string", "description": "Build specification for the site deployments.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "runtimeSpecification": { "type": "string", "description": "Runtime specification for the SSR executions.", - "default": {}, - "x-example": null + "x-example": null, + "default": {} }, "deploymentRetention": { "type": "integer", "description": "Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.", - "default": 0, "x-example": 0, + "default": 0, "format": "int32" } }, @@ -38793,7 +39476,7 @@ "x-appwrite": { "method": "delete", "group": "sites", - "weight": 476, + "weight": 481, "cookies": false, "type": "", "demo": "sites\/delete.md", @@ -38856,7 +39539,7 @@ "x-appwrite": { "method": "updateSiteDeployment", "group": "sites", - "weight": 483, + "weight": 488, "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", @@ -38899,7 +39582,6 @@ "deploymentId": { "type": "string", "description": "Deployment ID.", - "default": null, "x-example": "<DEPLOYMENT_ID>" } }, @@ -38935,7 +39617,7 @@ "x-appwrite": { "method": "listDeployments", "group": "deployments", - "weight": 482, + "weight": 487, "cookies": false, "type": "", "demo": "sites\/list-deployments.md", @@ -39026,7 +39708,7 @@ "x-appwrite": { "method": "createDeployment", "group": "deployments", - "weight": 478, + "weight": 483, "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", @@ -39129,7 +39811,7 @@ "x-appwrite": { "method": "createDuplicateDeployment", "group": "deployments", - "weight": 486, + "weight": 491, "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", @@ -39172,7 +39854,6 @@ "deploymentId": { "type": "string", "description": "Deployment ID.", - "default": null, "x-example": "<DEPLOYMENT_ID>" } }, @@ -39210,7 +39891,7 @@ "x-appwrite": { "method": "createTemplateDeployment", "group": "deployments", - "weight": 479, + "weight": 484, "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", @@ -39253,25 +39934,21 @@ "repository": { "type": "string", "description": "Repository name of the template.", - "default": null, "x-example": "<REPOSITORY>" }, "owner": { "type": "string", "description": "The name of the owner of the template.", - "default": null, "x-example": "<OWNER>" }, "rootDirectory": { "type": "string", "description": "Path to site code in the template repo.", - "default": null, "x-example": "<ROOT_DIRECTORY>" }, "type": { "type": "string", "description": "Type for the reference provided. Can be commit, branch, or tag", - "default": null, "x-example": "branch", "enum": [ "branch", @@ -39284,14 +39961,13 @@ "reference": { "type": "string", "description": "Reference value, can be a commit hash, branch name, or release tag", - "default": null, "x-example": "<REFERENCE>" }, "activate": { "type": "boolean", "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -39332,7 +40008,7 @@ "x-appwrite": { "method": "createVcsDeployment", "group": "deployments", - "weight": 480, + "weight": 485, "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", @@ -39375,7 +40051,6 @@ "type": { "type": "string", "description": "Type of reference passed. Allowed values are: branch, commit", - "default": null, "x-example": "branch", "enum": [ "branch", @@ -39388,14 +40063,13 @@ "reference": { "type": "string", "description": "VCS reference to create deployment from. Depending on type this can be: branch name, commit hash", - "default": null, "x-example": "<REFERENCE>" }, "activate": { "type": "boolean", "description": "Automatically activate the deployment when it is finished building.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -39431,7 +40105,7 @@ "x-appwrite": { "method": "getDeployment", "group": "deployments", - "weight": 481, + "weight": 486, "cookies": false, "type": "", "demo": "sites\/get-deployment.md", @@ -39495,7 +40169,7 @@ "x-appwrite": { "method": "deleteDeployment", "group": "deployments", - "weight": 484, + "weight": 489, "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", @@ -39564,7 +40238,7 @@ "x-appwrite": { "method": "getDeploymentDownload", "group": "deployments", - "weight": 485, + "weight": 490, "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", @@ -39651,7 +40325,7 @@ "x-appwrite": { "method": "updateDeploymentStatus", "group": "deployments", - "weight": 487, + "weight": 492, "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", @@ -39720,7 +40394,7 @@ "x-appwrite": { "method": "listLogs", "group": "logs", - "weight": 489, + "weight": 494, "cookies": false, "type": "", "demo": "sites\/list-logs.md", @@ -39802,7 +40476,7 @@ "x-appwrite": { "method": "getLog", "group": "logs", - "weight": 488, + "weight": 493, "cookies": false, "type": "", "demo": "sites\/get-log.md", @@ -39868,7 +40542,7 @@ "x-appwrite": { "method": "deleteLog", "group": "logs", - "weight": 490, + "weight": 495, "cookies": false, "type": "", "demo": "sites\/delete-log.md", @@ -39937,7 +40611,7 @@ "x-appwrite": { "method": "listVariables", "group": "variables", - "weight": 493, + "weight": 498, "cookies": false, "type": "", "demo": "sites\/list-variables.md", @@ -40019,7 +40693,7 @@ "x-appwrite": { "method": "createVariable", "group": "variables", - "weight": 913, + "weight": 974, "cookies": false, "type": "", "demo": "sites\/create-variable.md", @@ -40062,26 +40736,23 @@ "variableId": { "type": "string", "description": "Variable ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<VARIABLE_ID>" }, "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>" }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>" }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -40118,7 +40789,7 @@ "x-appwrite": { "method": "getVariable", "group": "variables", - "weight": 492, + "weight": 497, "cookies": false, "type": "", "demo": "sites\/get-variable.md", @@ -40187,7 +40858,7 @@ "x-appwrite": { "method": "updateVariable", "group": "variables", - "weight": 494, + "weight": 499, "cookies": false, "type": "", "demo": "sites\/update-variable.md", @@ -40238,21 +40909,18 @@ "key": { "type": "string", "description": "Variable key. Max length: 255 chars.", - "default": null, "x-example": "<KEY>", "x-nullable": true }, "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "default": null, "x-example": "<VALUE>", "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "default": null, "x-example": false, "x-nullable": true } @@ -40281,7 +40949,7 @@ "x-appwrite": { "method": "deleteVariable", "group": "variables", - "weight": 495, + "weight": 500, "cookies": false, "type": "", "demo": "sites\/delete-variable.md", @@ -40350,7 +41018,7 @@ "x-appwrite": { "method": "listBuckets", "group": "buckets", - "weight": 543, + "weight": 550, "cookies": false, "type": "", "demo": "storage\/list-buckets.md", @@ -40434,7 +41102,7 @@ "x-appwrite": { "method": "createBucket", "group": "buckets", - "weight": 541, + "weight": 548, "cookies": false, "type": "", "demo": "storage\/create-bucket.md", @@ -40470,19 +41138,16 @@ "bucketId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<BUCKET_ID>" }, "name": { "type": "string", "description": "Bucket name", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -40492,27 +41157,27 @@ "fileSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "maximumFileSize": { "type": "integer", "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "default": {}, "x-example": 1, + "default": {}, "format": "int32" }, "allowedFileExtensions": { "type": "array", "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -40520,8 +41185,8 @@ "compression": { "type": "string", "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "default": "none", "x-example": "none", + "default": "none", "enum": [ "none", "gzip", @@ -40533,20 +41198,20 @@ "encryption": { "type": "boolean", "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "antivirus": { "type": "boolean", "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "transformations": { "type": "boolean", "description": "Are image transformations enabled?", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -40582,7 +41247,7 @@ "x-appwrite": { "method": "getBucket", "group": "buckets", - "weight": 542, + "weight": 549, "cookies": false, "type": "", "demo": "storage\/get-bucket.md", @@ -40644,7 +41309,7 @@ "x-appwrite": { "method": "updateBucket", "group": "buckets", - "weight": 544, + "weight": 551, "cookies": false, "type": "", "demo": "storage\/update-bucket.md", @@ -40688,13 +41353,11 @@ "name": { "type": "string", "description": "Bucket name", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -40704,27 +41367,27 @@ "fileSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is bucket enabled? When set to 'disabled', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "maximumFileSize": { "type": "integer", "description": "Maximum file size allowed in bytes. Maximum allowed value is 5GB.", - "default": {}, "x-example": 1, + "default": {}, "format": "int32" }, "allowedFileExtensions": { "type": "array", "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -40732,8 +41395,8 @@ "compression": { "type": "string", "description": "Compression algorithm chosen for compression. Can be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd), For file size above 20MB compression is skipped even if it's enabled", - "default": "none", "x-example": "none", + "default": "none", "enum": [ "none", "gzip", @@ -40745,20 +41408,20 @@ "encryption": { "type": "boolean", "description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "antivirus": { "type": "boolean", "description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "transformations": { "type": "boolean", "description": "Are image transformations enabled?", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -40788,7 +41451,7 @@ "x-appwrite": { "method": "deleteBucket", "group": "buckets", - "weight": 545, + "weight": 552, "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", @@ -40850,7 +41513,7 @@ "x-appwrite": { "method": "listFiles", "group": "files", - "weight": 548, + "weight": 555, "cookies": false, "type": "", "demo": "storage\/list-files.md", @@ -40945,7 +41608,7 @@ "x-appwrite": { "method": "createFile", "group": "files", - "weight": 1195, + "weight": 1260, "cookies": false, "type": "upload", "demo": "storage\/create-file.md", @@ -41038,7 +41701,7 @@ "x-appwrite": { "method": "getFile", "group": "files", - "weight": 547, + "weight": 554, "cookies": false, "type": "", "demo": "storage\/get-file.md", @@ -41111,7 +41774,7 @@ "x-appwrite": { "method": "updateFile", "group": "files", - "weight": 549, + "weight": 556, "cookies": false, "type": "", "demo": "storage\/update-file.md", @@ -41166,13 +41829,11 @@ "name": { "type": "string", "description": "File name.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -41204,7 +41865,7 @@ "x-appwrite": { "method": "deleteFile", "group": "files", - "weight": 550, + "weight": 557, "cookies": false, "type": "", "demo": "storage\/delete-file.md", @@ -41277,7 +41938,7 @@ "x-appwrite": { "method": "getFileDownload", "group": "files", - "weight": 552, + "weight": 559, "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", @@ -41359,7 +42020,7 @@ "x-appwrite": { "method": "getFilePreview", "group": "files", - "weight": 551, + "weight": 558, "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", @@ -41530,7 +42191,6 @@ ], "x-enum-name": "ImageFormat", "x-enum-keys": [], - "default": "", "in": "query" }, { @@ -41569,7 +42229,7 @@ "x-appwrite": { "method": "getFileView", "group": "files", - "weight": 553, + "weight": 560, "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", @@ -41651,7 +42311,7 @@ "x-appwrite": { "method": "list", "group": "tablesdb", - "weight": 767, + "weight": 780, "cookies": false, "type": "", "demo": "tablesdb\/list.md", @@ -41735,7 +42395,7 @@ "x-appwrite": { "method": "create", "group": "tablesdb", - "weight": 763, + "weight": 776, "cookies": false, "type": "", "demo": "tablesdb\/create.md", @@ -41771,20 +42431,18 @@ "databaseId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<DATABASE_ID>" }, "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -41820,7 +42478,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 836, + "weight": 849, "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", @@ -41892,7 +42550,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 832, + "weight": 845, "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", @@ -41934,8 +42592,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -41968,7 +42626,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 833, + "weight": 846, "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", @@ -42036,7 +42694,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 834, + "weight": 847, "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", @@ -42086,14 +42744,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -42120,7 +42778,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 835, + "weight": 848, "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", @@ -42190,7 +42848,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 837, + "weight": 850, "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", @@ -42240,8 +42898,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"tableId\": \"<TABLE_ID>\",\n\t \"rowId\": \"<ROW_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -42276,7 +42934,7 @@ "x-appwrite": { "method": "get", "group": "tablesdb", - "weight": 764, + "weight": 777, "cookies": false, "type": "", "demo": "tablesdb\/get.md", @@ -42338,7 +42996,7 @@ "x-appwrite": { "method": "update", "group": "tablesdb", - "weight": 765, + "weight": 778, "cookies": false, "type": "", "demo": "tablesdb\/update.md", @@ -42382,14 +43040,13 @@ "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } } } @@ -42416,7 +43073,7 @@ "x-appwrite": { "method": "delete", "group": "tablesdb", - "weight": 766, + "weight": 779, "cookies": false, "type": "", "demo": "tablesdb\/delete.md", @@ -42478,7 +43135,7 @@ "x-appwrite": { "method": "listTables", "group": "tables", - "weight": 774, + "weight": 787, "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", @@ -42573,7 +43230,7 @@ "x-appwrite": { "method": "createTable", "group": "tables", - "weight": 770, + "weight": 783, "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", @@ -42620,19 +43277,16 @@ "tableId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TABLE_ID>" }, "name": { "type": "string", "description": "Table name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -42642,20 +43296,20 @@ "rowSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "columns": { "type": "array", "description": "Array of column definitions to create. Each column should contain: key (string), type (string: string, integer, float, boolean, datetime, relationship), size (integer, required for string type), required (boolean, optional), default (mixed, optional), array (boolean, optional), and type-specific options.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -42663,8 +43317,8 @@ "indexes": { "type": "array", "description": "Array of index definitions to create. Each index should contain: key (string), type (string: key, fulltext, unique, spatial), attributes (array of column keys), orders (array of ASC\/DESC, optional), and lengths (array of integers, optional).", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -42703,7 +43357,7 @@ "x-appwrite": { "method": "getTable", "group": "tables", - "weight": 771, + "weight": 784, "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", @@ -42776,7 +43430,7 @@ "x-appwrite": { "method": "updateTable", "group": "tables", - "weight": 772, + "weight": 785, "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", @@ -42831,13 +43485,11 @@ "name": { "type": "string", "description": "Table name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -42847,20 +43499,20 @@ "rowSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is table enabled? When set to 'disabled', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "purge": { "type": "boolean", "description": "When true, purge all cached list responses for this table as part of the update. Use this to force readers to see fresh data immediately instead of waiting for the cache TTL to expire.", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -42887,7 +43539,7 @@ "x-appwrite": { "method": "deleteTable", "group": "tables", - "weight": 773, + "weight": 786, "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", @@ -42960,7 +43612,7 @@ "x-appwrite": { "method": "listColumns", "group": "columns", - "weight": 779, + "weight": 792, "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", @@ -43058,7 +43710,7 @@ "x-appwrite": { "method": "createBigIntColumn", "group": "columns", - "weight": 792, + "weight": 805, "cookies": false, "type": "", "demo": "tablesdb\/create-big-int-column.md", @@ -43115,19 +43767,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43135,7 +43784,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43143,7 +43791,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43151,8 +43798,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -43190,7 +43837,7 @@ "x-appwrite": { "method": "updateBigIntColumn", "group": "columns", - "weight": 793, + "weight": 806, "cookies": false, "type": "", "demo": "tablesdb\/update-big-int-column.md", @@ -43254,13 +43901,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43268,7 +43913,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43276,7 +43920,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -43284,7 +43927,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -43324,7 +43966,7 @@ "x-appwrite": { "method": "createBooleanColumn", "group": "columns", - "weight": 780, + "weight": 793, "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", @@ -43381,27 +44023,24 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": false, "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -43439,7 +44078,7 @@ "x-appwrite": { "method": "updateBooleanColumn", "group": "columns", - "weight": 781, + "weight": 794, "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", @@ -43503,20 +44142,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": false, "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -43556,7 +44192,7 @@ "x-appwrite": { "method": "createDatetimeColumn", "group": "columns", - "weight": 782, + "weight": 795, "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", @@ -43613,19 +44249,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for the column in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Cannot be set when column is required.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -43633,8 +44266,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -43672,7 +44305,7 @@ "x-appwrite": { "method": "updateDatetimeColumn", "group": "columns", - "weight": 783, + "weight": 796, "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", @@ -43736,13 +44369,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -43750,7 +44381,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -43790,7 +44420,7 @@ "x-appwrite": { "method": "createEmailColumn", "group": "columns", - "weight": 784, + "weight": 797, "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", @@ -43847,19 +44477,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -43867,8 +44494,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -43906,7 +44533,7 @@ "x-appwrite": { "method": "updateEmailColumn", "group": "columns", - "weight": 785, + "weight": 798, "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", @@ -43970,13 +44597,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -43984,7 +44609,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -44024,7 +44648,7 @@ "x-appwrite": { "method": "createEnumColumn", "group": "columns", - "weight": 786, + "weight": 799, "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", @@ -44081,13 +44705,11 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "elements": { "type": "array", "description": "Array of enum values.", - "default": null, "x-example": null, "items": { "type": "string" @@ -44096,21 +44718,19 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -44149,7 +44769,7 @@ "x-appwrite": { "method": "updateEnumColumn", "group": "columns", - "weight": 787, + "weight": 800, "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", @@ -44213,7 +44833,6 @@ "elements": { "type": "array", "description": "Updated list of enum values.", - "default": null, "x-example": null, "items": { "type": "string" @@ -44222,20 +44841,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -44276,7 +44892,7 @@ "x-appwrite": { "method": "createFloatColumn", "group": "columns", - "weight": 788, + "weight": 801, "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", @@ -44333,19 +44949,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "number", "description": "Minimum value", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44353,7 +44966,6 @@ "max": { "type": "number", "description": "Maximum value", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44361,7 +44973,6 @@ "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44369,8 +44980,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -44408,7 +45019,7 @@ "x-appwrite": { "method": "updateFloatColumn", "group": "columns", - "weight": 789, + "weight": 802, "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", @@ -44472,13 +45083,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "number", "description": "Minimum value", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44486,7 +45095,6 @@ "max": { "type": "number", "description": "Maximum value", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44494,7 +45102,6 @@ "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -44502,7 +45109,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -44542,7 +45148,7 @@ "x-appwrite": { "method": "createIntegerColumn", "group": "columns", - "weight": 790, + "weight": 803, "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", @@ -44599,19 +45205,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44619,7 +45222,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44627,7 +45229,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44635,8 +45236,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -44674,7 +45275,7 @@ "x-appwrite": { "method": "updateIntegerColumn", "group": "columns", - "weight": 791, + "weight": 804, "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", @@ -44738,13 +45339,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "min": { "type": "integer", "description": "Minimum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44752,7 +45351,6 @@ "max": { "type": "integer", "description": "Maximum value", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44760,7 +45358,6 @@ "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "format": "int64", "x-nullable": true @@ -44768,7 +45365,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -44808,7 +45404,7 @@ "x-appwrite": { "method": "createIpColumn", "group": "columns", - "weight": 794, + "weight": 807, "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", @@ -44865,27 +45461,24 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -44923,7 +45516,7 @@ "x-appwrite": { "method": "updateIpColumn", "group": "columns", - "weight": 795, + "weight": 808, "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", @@ -44987,20 +45580,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "default": null, "x-example": null, "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -45040,7 +45630,7 @@ "x-appwrite": { "method": "createLineColumn", "group": "columns", - "weight": 796, + "weight": 809, "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", @@ -45097,19 +45687,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "default": null, "x-example": "[[1, 2], [3, 4], [5, 6]]", "x-nullable": true } @@ -45149,7 +45736,7 @@ "x-appwrite": { "method": "updateLineColumn", "group": "columns", - "weight": 797, + "weight": 810, "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", @@ -45213,20 +45800,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], \u2026], listing the vertices of the line in order. Cannot be set when column is required.", - "default": null, "x-example": "[[1, 2], [3, 4], [5, 6]]", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -45265,7 +45849,7 @@ "x-appwrite": { "method": "createLongtextColumn", "group": "columns", - "weight": 814, + "weight": 827, "cookies": false, "type": "", "demo": "tablesdb\/create-longtext-column.md", @@ -45322,33 +45906,30 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -45386,7 +45967,7 @@ "x-appwrite": { "method": "updateLongtextColumn", "group": "columns", - "weight": 815, + "weight": 828, "cookies": false, "type": "", "demo": "tablesdb\/update-longtext-column.md", @@ -45450,20 +46031,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -45503,7 +46081,7 @@ "x-appwrite": { "method": "createMediumtextColumn", "group": "columns", - "weight": 812, + "weight": 825, "cookies": false, "type": "", "demo": "tablesdb\/create-mediumtext-column.md", @@ -45560,33 +46138,30 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -45624,7 +46199,7 @@ "x-appwrite": { "method": "updateMediumtextColumn", "group": "columns", - "weight": 813, + "weight": 826, "cookies": false, "type": "", "demo": "tablesdb\/update-mediumtext-column.md", @@ -45688,20 +46263,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -45741,7 +46313,7 @@ "x-appwrite": { "method": "createPointColumn", "group": "columns", - "weight": 798, + "weight": 811, "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", @@ -45798,19 +46370,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "default": null, "x-example": "[1, 2]", "x-nullable": true } @@ -45850,7 +46419,7 @@ "x-appwrite": { "method": "updatePointColumn", "group": "columns", - "weight": 799, + "weight": 812, "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", @@ -45914,20 +46483,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.", - "default": null, "x-example": "[1, 2]", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -45966,7 +46532,7 @@ "x-appwrite": { "method": "createPolygonColumn", "group": "columns", - "weight": 800, + "weight": 813, "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", @@ -46023,19 +46589,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "default": null, "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", "x-nullable": true } @@ -46075,7 +46638,7 @@ "x-appwrite": { "method": "updatePolygonColumn", "group": "columns", - "weight": 801, + "weight": 814, "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", @@ -46139,20 +46702,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "array", "description": "Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], \u2026], \u2026], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.", - "default": null, "x-example": "[[[1, 2], [3, 4], [5, 6], [1, 2]]]", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -46191,7 +46751,7 @@ "x-appwrite": { "method": "createRelationshipColumn", "group": "columns", - "weight": 802, + "weight": 815, "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", @@ -46248,13 +46808,11 @@ "relatedTableId": { "type": "string", "description": "Related Table ID.", - "default": null, "x-example": "<RELATED_TABLE_ID>" }, "type": { "type": "string", "description": "Relation type", - "default": null, "x-example": "oneToOne", "enum": [ "oneToOne", @@ -46268,28 +46826,26 @@ "twoWay": { "type": "boolean", "description": "Is Two Way?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null, "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", - "default": null, "x-example": null, "x-nullable": true }, "onDelete": { "type": "string", "description": "Constraints option", - "default": "restrict", "x-example": "cascade", + "default": "restrict", "enum": [ "cascade", "restrict", @@ -46334,7 +46890,7 @@ "x-appwrite": { "method": "createStringColumn", "group": "columns", - "weight": 804, + "weight": 817, "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", @@ -46395,40 +46951,36 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "size": { "type": "integer", "description": "Column size for text columns, in number of characters.", - "default": null, "x-example": 1, "format": "int32" }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -46467,7 +47019,7 @@ "x-appwrite": { "method": "updateStringColumn", "group": "columns", - "weight": 805, + "weight": 818, "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", @@ -46535,20 +47087,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "size": { "type": "integer", "description": "Maximum size of the string column.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -46556,7 +47105,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -46596,7 +47144,7 @@ "x-appwrite": { "method": "createTextColumn", "group": "columns", - "weight": 810, + "weight": 823, "cookies": false, "type": "", "demo": "tablesdb\/create-text-column.md", @@ -46653,33 +47201,30 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -46717,7 +47262,7 @@ "x-appwrite": { "method": "updateTextColumn", "group": "columns", - "weight": 811, + "weight": 824, "cookies": false, "type": "", "demo": "tablesdb\/update-text-column.md", @@ -46781,20 +47326,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -46834,7 +47376,7 @@ "x-appwrite": { "method": "createUrlColumn", "group": "columns", - "weight": 806, + "weight": 819, "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", @@ -46891,19 +47433,16 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -46911,8 +47450,8 @@ "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -46950,7 +47489,7 @@ "x-appwrite": { "method": "updateUrlColumn", "group": "columns", - "weight": 807, + "weight": 820, "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", @@ -47014,13 +47553,11 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "https:\/\/example.com", "format": "url", "x-nullable": true @@ -47028,7 +47565,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -47068,7 +47604,7 @@ "x-appwrite": { "method": "createVarcharColumn", "group": "columns", - "weight": 808, + "weight": 821, "cookies": false, "type": "", "demo": "tablesdb\/create-varchar-column.md", @@ -47125,40 +47661,36 @@ "key": { "type": "string", "description": "Column Key.", - "default": null, "x-example": null }, "size": { "type": "integer", "description": "Column size for varchar columns, in number of characters. Maximum size is 16381.", - "default": null, "x-example": 1, "format": "int32" }, "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "array": { "type": "boolean", "description": "Is column an array?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "encrypt": { "type": "boolean", "description": "Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.", - "default": false, - "x-example": false + "x-example": false, + "default": false } }, "required": [ @@ -47197,7 +47729,7 @@ "x-appwrite": { "method": "updateVarcharColumn", "group": "columns", - "weight": 809, + "weight": 822, "cookies": false, "type": "", "demo": "tablesdb\/update-varchar-column.md", @@ -47261,20 +47793,17 @@ "required": { "type": "boolean", "description": "Is column required?", - "default": null, "x-example": false }, "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "default": null, "x-example": "<DEFAULT>", "x-nullable": true }, "size": { "type": "integer", "description": "Maximum size of the varchar column.", - "default": null, "x-example": 1, "format": "int32", "x-nullable": true @@ -47282,7 +47811,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -47402,7 +47930,7 @@ "x-appwrite": { "method": "getColumn", "group": "columns", - "weight": 777, + "weight": 790, "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", @@ -47479,7 +48007,7 @@ "x-appwrite": { "method": "deleteColumn", "group": "columns", - "weight": 778, + "weight": 791, "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", @@ -47563,7 +48091,7 @@ "x-appwrite": { "method": "updateRelationshipColumn", "group": "columns", - "weight": 803, + "weight": 816, "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", @@ -47627,7 +48155,6 @@ "onDelete": { "type": "string", "description": "Constraints option", - "default": null, "x-example": "cascade", "enum": [ "cascade", @@ -47641,7 +48168,6 @@ "newKey": { "type": "string", "description": "New Column Key.", - "default": null, "x-example": null, "x-nullable": true } @@ -47675,7 +48201,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 819, + "weight": 832, "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", @@ -47770,7 +48296,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 816, + "weight": 829, "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", @@ -47826,13 +48352,11 @@ "key": { "type": "string", "description": "Index Key.", - "default": null, "x-example": null }, "type": { "type": "string", "description": "Index type.", - "default": null, "x-example": "key", "enum": [ "key", @@ -47846,7 +48370,6 @@ "columns": { "type": "array", "description": "Array of columns to index. Maximum of 100 columns are allowed, each 32 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -47855,8 +48378,8 @@ "orders": { "type": "array", "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -47870,8 +48393,8 @@ "lengths": { "type": "array", "description": "Length of index. Maximum of 100", - "default": [], "x-example": null, + "default": [], "items": { "type": "integer" } @@ -47911,7 +48434,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 817, + "weight": 830, "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", @@ -47987,7 +48510,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 818, + "weight": 831, "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", @@ -48068,7 +48591,7 @@ "x-appwrite": { "method": "listRows", "group": "rows", - "weight": 907, + "weight": 919, "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", @@ -48183,7 +48706,7 @@ "x-appwrite": { "method": "createRow", "group": "rows", - "weight": 820, + "weight": 833, "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", @@ -48304,19 +48827,18 @@ "rowId": { "type": "string", "description": "Row ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<ROW_ID>" + "x-example": "<ROW_ID>", + "default": "" }, "data": { "type": "object", "description": "Row data as JSON object.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -48326,8 +48848,8 @@ "rows": { "type": "array", "description": "Array of rows data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -48335,7 +48857,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -48369,7 +48890,7 @@ "x-appwrite": { "method": "upsertRows", "group": "rows", - "weight": 825, + "weight": 838, "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", @@ -48455,7 +48976,6 @@ "rows": { "type": "array", "description": "Array of row data as JSON objects. May contain partial rows.", - "default": null, "x-example": null, "items": { "type": "object" @@ -48464,7 +48984,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -48501,7 +49020,7 @@ "x-appwrite": { "method": "updateRows", "group": "rows", - "weight": 823, + "weight": 836, "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", @@ -48556,14 +49075,14 @@ "data": { "type": "object", "description": "Row data as JSON object. Include only column and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -48571,7 +49090,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -48605,7 +49123,7 @@ "x-appwrite": { "method": "deleteRows", "group": "rows", - "weight": 827, + "weight": 840, "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", @@ -48660,8 +49178,8 @@ "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -48669,7 +49187,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -48703,7 +49220,7 @@ "x-appwrite": { "method": "getRow", "group": "rows", - "weight": 821, + "weight": 834, "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", @@ -48807,7 +49324,7 @@ "x-appwrite": { "method": "upsertRow", "group": "rows", - "weight": 824, + "weight": 837, "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", @@ -48906,13 +49423,12 @@ "data": { "type": "object", "description": "Row data as JSON object. Include all required columns of the row to be created or updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -48922,7 +49438,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -48956,7 +49471,7 @@ "x-appwrite": { "method": "updateRow", "group": "rows", - "weight": 822, + "weight": 835, "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", @@ -49022,13 +49537,12 @@ "data": { "type": "object", "description": "Row data as JSON object. Include only columns and value pairs to be updated.", - "default": [], - "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}" + "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "x-nullable": true, "items": { @@ -49038,7 +49552,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -49067,7 +49580,7 @@ "x-appwrite": { "method": "deleteRow", "group": "rows", - "weight": 826, + "weight": 839, "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", @@ -49133,7 +49646,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -49169,7 +49681,7 @@ "x-appwrite": { "method": "decrementRowColumn", "group": "rows", - "weight": 831, + "weight": 844, "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", @@ -49242,14 +49754,13 @@ "value": { "type": "number", "description": "Value to increment the column by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -49257,7 +49768,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -49293,7 +49803,7 @@ "x-appwrite": { "method": "incrementRowColumn", "group": "rows", - "weight": 830, + "weight": 843, "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", @@ -49366,14 +49876,13 @@ "value": { "type": "number", "description": "Value to increment the column by. The value must be a number.", - "default": 1, "x-example": null, + "default": 1, "format": "float" }, "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "default": null, "x-example": null, "format": "float", "x-nullable": true @@ -49381,7 +49890,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>", "x-nullable": true } @@ -49415,7 +49923,7 @@ "x-appwrite": { "method": "list", "group": "teams", - "weight": 524, + "weight": 531, "cookies": false, "type": "", "demo": "teams\/list.md", @@ -49502,7 +50010,7 @@ "x-appwrite": { "method": "create", "group": "teams", - "weight": 522, + "weight": 529, "cookies": false, "type": "", "demo": "teams\/create.md", @@ -49541,22 +50049,20 @@ "teamId": { "type": "string", "description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TEAM_ID>" }, "name": { "type": "string", "description": "Team name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "roles": { "type": "array", "description": "Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", + "x-example": null, "default": [ "owner" ], - "x-example": null, "items": { "type": "string" } @@ -49595,7 +50101,7 @@ "x-appwrite": { "method": "get", "group": "teams", - "weight": 523, + "weight": 530, "cookies": false, "type": "", "demo": "teams\/get.md", @@ -49660,7 +50166,7 @@ "x-appwrite": { "method": "updateName", "group": "teams", - "weight": 526, + "weight": 533, "cookies": false, "type": "", "demo": "teams\/update-name.md", @@ -49707,7 +50213,6 @@ "name": { "type": "string", "description": "New team name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -49738,7 +50243,7 @@ "x-appwrite": { "method": "delete", "group": "teams", - "weight": 525, + "weight": 532, "cookies": false, "type": "", "demo": "teams\/delete.md", @@ -49803,7 +50308,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 531, + "weight": 538, "cookies": false, "type": "", "demo": "teams\/list-memberships.md", @@ -49898,7 +50403,7 @@ "x-appwrite": { "method": "createMembership", "group": "memberships", - "weight": 529, + "weight": 536, "cookies": false, "type": "", "demo": "teams\/create-membership.md", @@ -49945,27 +50450,26 @@ "email": { "type": "string", "description": "Email of the new team member.", - "default": "", "x-example": "email@example.com", + "default": "", "format": "email" }, "userId": { "type": "string", "description": "ID of the user to be added to a team.", - "default": "", - "x-example": "<USER_ID>" + "x-example": "<USER_ID>", + "default": "" }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": "", "x-example": "+12065550100", + "default": "", "format": "phone" }, "roles": { "type": "array", "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -49974,15 +50478,15 @@ "url": { "type": "string", "description": "URL to redirect the user back to your app from the invitation email. This parameter is not required when an API key is supplied. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.", - "default": "", "x-example": "https:\/\/example.com", + "default": "", "format": "url" }, "name": { "type": "string", "description": "Name of the new team member. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -50017,7 +50521,7 @@ "x-appwrite": { "method": "getMembership", "group": "memberships", - "weight": 530, + "weight": 537, "cookies": false, "type": "", "demo": "teams\/get-membership.md", @@ -50090,7 +50594,7 @@ "x-appwrite": { "method": "updateMembership", "group": "memberships", - "weight": 532, + "weight": 539, "cookies": false, "type": "", "demo": "teams\/update-membership.md", @@ -50145,7 +50649,6 @@ "roles": { "type": "array", "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 81 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -50179,7 +50682,7 @@ "x-appwrite": { "method": "deleteMembership", "group": "memberships", - "weight": 1196, + "weight": 1261, "cookies": false, "type": "", "demo": "teams\/delete-membership.md", @@ -50254,7 +50757,7 @@ "x-appwrite": { "method": "updateMembershipStatus", "group": "memberships", - "weight": 534, + "weight": 541, "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", @@ -50308,13 +50811,11 @@ "userId": { "type": "string", "description": "User ID.", - "default": null, "x-example": "<USER_ID>" }, "secret": { "type": "string", "description": "Secret key.", - "default": null, "x-example": "<SECRET>" } }, @@ -50351,7 +50852,7 @@ "x-appwrite": { "method": "getPrefs", "group": "teams", - "weight": 527, + "weight": 534, "cookies": false, "type": "", "demo": "teams\/get-prefs.md", @@ -50415,7 +50916,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "teams", - "weight": 528, + "weight": 535, "cookies": false, "type": "", "demo": "teams\/update-prefs.md", @@ -50461,8 +50962,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -50497,7 +50998,7 @@ "x-appwrite": { "method": "list", "group": "files", - "weight": 538, + "weight": 545, "cookies": false, "type": "", "demo": "tokens\/list.md", @@ -50587,7 +51088,7 @@ "x-appwrite": { "method": "createFileToken", "group": "files", - "weight": 536, + "weight": 543, "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", @@ -50638,7 +51139,6 @@ "expire": { "type": "string", "description": "Token expiry date", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -50673,7 +51173,7 @@ "x-appwrite": { "method": "get", "group": "tokens", - "weight": 537, + "weight": 544, "cookies": false, "type": "", "demo": "tokens\/get.md", @@ -50734,7 +51234,7 @@ "x-appwrite": { "method": "update", "group": "tokens", - "weight": 539, + "weight": 546, "cookies": false, "type": "", "demo": "tokens\/update.md", @@ -50777,7 +51277,6 @@ "expire": { "type": "string", "description": "File token expiry date", - "default": null, "x-example": "2020-10-15T06:38:00.000+00:00", "format": "datetime", "x-nullable": true @@ -50807,7 +51306,7 @@ "x-appwrite": { "method": "delete", "group": "tokens", - "weight": 540, + "weight": 547, "cookies": false, "type": "", "demo": "tokens\/delete.md", @@ -50844,6 +51343,154 @@ ] } }, + "\/usage\/events": { + "get": { + "summary": "List usage events", + "operationId": "usageListEvents", + "consumes": [], + "produces": [ + "application\/json" + ], + "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.", + "responses": { + "200": { + "description": "Usage events list", + "schema": { + "$ref": "#\/definitions\/usageEventList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listEvents", + "group": "events", + "weight": 1273, + "cookies": false, + "type": "", + "demo": "usage\/list-events.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "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).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, + "\/usage\/gauges": { + "get": { + "summary": "List usage gauges", + "operationId": "usageListGauges", + "consumes": [], + "produces": [ + "application\/json" + ], + "tags": [ + "usage" + ], + "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, and timestamp. 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.", + "responses": { + "200": { + "description": "Usage gauges list", + "schema": { + "$ref": "#\/definitions\/usageGaugeList" + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listGauges", + "group": "gauges", + "weight": 1274, + "cookies": false, + "type": "", + "demo": "usage\/list-gauges.md", + "rate-limit": 60, + "rate-time": 60, + "rate-key": "projectId:{project.$id}", + "scope": "usage.read", + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "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).", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "default": [], + "in": "query" + }, + { + "name": "total", + "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "required": false, + "type": "boolean", + "x-example": false, + "default": true, + "in": "query" + } + ] + } + }, "\/users": { "get": { "summary": "List users", @@ -50868,7 +51515,7 @@ "x-appwrite": { "method": "list", "group": "users", - "weight": 71, + "weight": 70, "cookies": false, "type": "", "demo": "users\/list.md", @@ -50952,7 +51599,7 @@ "x-appwrite": { "method": "create", "group": "users", - "weight": 62, + "weight": 61, "cookies": false, "type": "", "demo": "users\/create.md", @@ -50988,13 +51635,11 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email", "x-nullable": true @@ -51002,7 +51647,6 @@ "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "default": null, "x-example": "+12065550100", "format": "phone", "x-nullable": true @@ -51010,14 +51654,14 @@ "password": { "type": "string", "description": "Plain text user password. Must be at least 8 chars.", - "default": "", - "x-example": null + "x-example": null, + "default": "" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51054,7 +51698,7 @@ "x-appwrite": { "method": "createArgon2User", "group": "users", - "weight": 65, + "weight": 64, "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", @@ -51090,28 +51734,25 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using Argon2.", - "default": null, "x-example": "password", "format": "password" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51150,7 +51791,7 @@ "x-appwrite": { "method": "createBcryptUser", "group": "users", - "weight": 63, + "weight": 62, "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", @@ -51186,28 +51827,25 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using Bcrypt.", - "default": null, "x-example": "password", "format": "password" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51244,7 +51882,7 @@ "x-appwrite": { "method": "listIdentities", "group": "identities", - "weight": 79, + "weight": 78, "cookies": false, "type": "", "demo": "users\/list-identities.md", @@ -51325,7 +51963,7 @@ "x-appwrite": { "method": "deleteIdentity", "group": "identities", - "weight": 103, + "weight": 102, "cookies": false, "type": "", "demo": "users\/delete-identity.md", @@ -51389,7 +52027,7 @@ "x-appwrite": { "method": "createMD5User", "group": "users", - "weight": 64, + "weight": 63, "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", @@ -51425,28 +52063,25 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using MD5.", - "default": null, "x-example": "password", "format": "password" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51485,7 +52120,7 @@ "x-appwrite": { "method": "createPHPassUser", "group": "users", - "weight": 67, + "weight": 66, "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", @@ -51521,28 +52156,25 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using PHPass.", - "default": null, "x-example": "password", "format": "password" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51581,7 +52213,7 @@ "x-appwrite": { "method": "createScryptUser", "group": "users", - "weight": 68, + "weight": 67, "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", @@ -51617,62 +52249,54 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using Scrypt.", - "default": null, "x-example": "password", "format": "password" }, "passwordSalt": { "type": "string", "description": "Optional salt used to hash password.", - "default": null, "x-example": "<PASSWORD_SALT>" }, "passwordCpu": { "type": "integer", "description": "Optional CPU cost used to hash password.", - "default": null, "x-example": null, "format": "int32" }, "passwordMemory": { "type": "integer", "description": "Optional memory cost used to hash password.", - "default": null, "x-example": null, "format": "int32" }, "passwordParallel": { "type": "integer", "description": "Optional parallelization cost used to hash password.", - "default": null, "x-example": null, "format": "int32" }, "passwordLength": { "type": "integer", "description": "Optional hash length used to hash password.", - "default": null, "x-example": null, "format": "int32" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51716,7 +52340,7 @@ "x-appwrite": { "method": "createScryptModifiedUser", "group": "users", - "weight": 69, + "weight": 68, "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", @@ -51752,46 +52376,40 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using Scrypt Modified.", - "default": null, "x-example": "password", "format": "password" }, "passwordSalt": { "type": "string", "description": "Salt used to hash password.", - "default": null, "x-example": "<PASSWORD_SALT>" }, "passwordSaltSeparator": { "type": "string", "description": "Salt separator used to hash password.", - "default": null, "x-example": "<PASSWORD_SALT_SEPARATOR>" }, "passwordSignerKey": { "type": "string", "description": "Signer key used to hash password.", - "default": null, "x-example": "<PASSWORD_SIGNER_KEY>" }, "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51833,7 +52451,7 @@ "x-appwrite": { "method": "createSHAUser", "group": "users", - "weight": 66, + "weight": 65, "cookies": false, "type": "", "demo": "users\/create-sha-user.md", @@ -51869,27 +52487,23 @@ "userId": { "type": "string", "description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<USER_ID>" }, "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" }, "password": { "type": "string", "description": "User password hashed using SHA.", - "default": null, "x-example": "password", "format": "password" }, "passwordVersion": { "type": "string", "description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512\/224', 'sha512\/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'", - "default": "", "x-example": "sha1", "enum": [ "sha1", @@ -51910,8 +52524,8 @@ "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -51948,7 +52562,7 @@ "x-appwrite": { "method": "get", "group": "users", - "weight": 72, + "weight": 71, "cookies": false, "type": "", "demo": "users\/get.md", @@ -52005,7 +52619,7 @@ "x-appwrite": { "method": "delete", "group": "users", - "weight": 101, + "weight": 100, "cookies": false, "type": "", "demo": "users\/delete.md", @@ -52069,7 +52683,7 @@ "x-appwrite": { "method": "updateEmail", "group": "users", - "weight": 86, + "weight": 85, "cookies": false, "type": "", "demo": "users\/update-email.md", @@ -52113,7 +52727,6 @@ "email": { "type": "string", "description": "User email.", - "default": null, "x-example": "email@example.com", "format": "email" } @@ -52152,7 +52765,7 @@ "x-appwrite": { "method": "updateImpersonator", "group": "users", - "weight": 82, + "weight": 81, "cookies": false, "type": "", "demo": "users\/update-impersonator.md", @@ -52196,7 +52809,6 @@ "impersonator": { "type": "boolean", "description": "Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.", - "default": null, "x-example": false } }, @@ -52234,7 +52846,7 @@ "x-appwrite": { "method": "createJWT", "group": "sessions", - "weight": 104, + "weight": 103, "cookies": false, "type": "", "demo": "users\/create-jwt.md", @@ -52278,14 +52890,14 @@ "sessionId": { "type": "string", "description": "Session ID. Use the string 'recent' to use the most recent session. Defaults to the most recent session.", - "default": "", - "x-example": "<SESSION_ID>" + "x-example": "<SESSION_ID>", + "default": "" }, "duration": { "type": "integer", "description": "Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.", - "default": 900, "x-example": 0, + "default": 900, "format": "int32" } } @@ -52320,7 +52932,7 @@ "x-appwrite": { "method": "updateLabels", "group": "users", - "weight": 81, + "weight": 80, "cookies": false, "type": "", "demo": "users\/update-labels.md", @@ -52364,7 +52976,6 @@ "labels": { "type": "array", "description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -52403,7 +53014,7 @@ "x-appwrite": { "method": "listLogs", "group": "logs", - "weight": 77, + "weight": 76, "cookies": false, "type": "", "demo": "users\/list-logs.md", @@ -52486,7 +53097,7 @@ "x-appwrite": { "method": "listMemberships", "group": "memberships", - "weight": 76, + "weight": 75, "cookies": false, "type": "", "demo": "users\/list-memberships.md", @@ -52580,7 +53191,7 @@ "x-appwrite": { "method": "updateMfa", "group": "users", - "weight": 91, + "weight": 90, "cookies": false, "type": "", "demo": "users\/update-mfa.md", @@ -52686,7 +53297,6 @@ "mfa": { "type": "boolean", "description": "Enable or disable MFA.", - "default": null, "x-example": false } }, @@ -52719,7 +53329,7 @@ "x-appwrite": { "method": "deleteMfaAuthenticator", "group": "mfa", - "weight": 96, + "weight": 95, "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", @@ -52854,7 +53464,7 @@ "x-appwrite": { "method": "listMfaFactors", "group": "mfa", - "weight": 92, + "weight": 91, "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", @@ -52974,7 +53584,7 @@ "x-appwrite": { "method": "getMfaRecoveryCodes", "group": "mfa", - "weight": 93, + "weight": 92, "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", @@ -53094,7 +53704,7 @@ "x-appwrite": { "method": "updateMfaRecoveryCodes", "group": "mfa", - "weight": 95, + "weight": 94, "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", @@ -53214,7 +53824,7 @@ "x-appwrite": { "method": "createMfaRecoveryCodes", "group": "mfa", - "weight": 94, + "weight": 93, "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", @@ -53336,7 +53946,7 @@ "x-appwrite": { "method": "updateName", "group": "users", - "weight": 84, + "weight": 83, "cookies": false, "type": "", "demo": "users\/update-name.md", @@ -53380,7 +53990,6 @@ "name": { "type": "string", "description": "User name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" } }, @@ -53418,7 +54027,7 @@ "x-appwrite": { "method": "updatePassword", "group": "users", - "weight": 85, + "weight": 84, "cookies": false, "type": "", "demo": "users\/update-password.md", @@ -53462,7 +54071,6 @@ "password": { "type": "string", "description": "New user password. Must be at least 8 chars.", - "default": null, "x-example": null } }, @@ -53500,7 +54108,7 @@ "x-appwrite": { "method": "updatePhone", "group": "users", - "weight": 87, + "weight": 86, "cookies": false, "type": "", "demo": "users\/update-phone.md", @@ -53544,7 +54152,6 @@ "number": { "type": "string", "description": "User phone number.", - "default": null, "x-example": "+12065550100", "format": "phone" } @@ -53581,7 +54188,7 @@ "x-appwrite": { "method": "getPrefs", "group": "users", - "weight": 73, + "weight": 72, "cookies": false, "type": "", "demo": "users\/get-prefs.md", @@ -53643,7 +54250,7 @@ "x-appwrite": { "method": "updatePrefs", "group": "users", - "weight": 89, + "weight": 88, "cookies": false, "type": "", "demo": "users\/update-prefs.md", @@ -53687,8 +54294,8 @@ "prefs": { "type": "object", "description": "Prefs key-value JSON object.", - "default": {}, - "x-example": "{}" + "x-example": "{}", + "default": {} } }, "required": [ @@ -53723,7 +54330,7 @@ "x-appwrite": { "method": "listSessions", "group": "sessions", - "weight": 75, + "weight": 74, "cookies": false, "type": "", "demo": "users\/list-sessions.md", @@ -53797,7 +54404,7 @@ "x-appwrite": { "method": "createSession", "group": "sessions", - "weight": 97, + "weight": 96, "cookies": false, "type": "", "demo": "users\/create-session.md", @@ -53857,7 +54464,7 @@ "x-appwrite": { "method": "deleteSessions", "group": "sessions", - "weight": 100, + "weight": 99, "cookies": false, "type": "", "demo": "users\/delete-sessions.md", @@ -53919,7 +54526,7 @@ "x-appwrite": { "method": "deleteSession", "group": "sessions", - "weight": 99, + "weight": 98, "cookies": false, "type": "", "demo": "users\/delete-session.md", @@ -53994,7 +54601,7 @@ "x-appwrite": { "method": "updateStatus", "group": "users", - "weight": 80, + "weight": 79, "cookies": false, "type": "", "demo": "users\/update-status.md", @@ -54038,7 +54645,6 @@ "status": { "type": "boolean", "description": "User Status. To activate the user pass `true` and to block the user pass `false`.", - "default": null, "x-example": false } }, @@ -54074,7 +54680,7 @@ "x-appwrite": { "method": "listTargets", "group": "targets", - "weight": 78, + "weight": 77, "cookies": false, "type": "", "demo": "users\/list-targets.md", @@ -54157,7 +54763,7 @@ "x-appwrite": { "method": "createTarget", "group": "targets", - "weight": 70, + "weight": 69, "cookies": false, "type": "", "demo": "users\/create-target.md", @@ -54201,13 +54807,11 @@ "targetId": { "type": "string", "description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<TARGET_ID>" }, "providerType": { "type": "string", "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.", - "default": null, "x-example": "email", "enum": [ "email", @@ -54220,20 +54824,19 @@ "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": null, "x-example": "<IDENTIFIER>" }, "providerId": { "type": "string", "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" + "x-example": "<PROVIDER_ID>", + "default": "" }, "name": { "type": "string", "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } }, "required": [ @@ -54270,7 +54873,7 @@ "x-appwrite": { "method": "getTarget", "group": "targets", - "weight": 74, + "weight": 73, "cookies": false, "type": "", "demo": "users\/get-target.md", @@ -54340,7 +54943,7 @@ "x-appwrite": { "method": "updateTarget", "group": "targets", - "weight": 90, + "weight": 89, "cookies": false, "type": "", "demo": "users\/update-target.md", @@ -54392,20 +54995,20 @@ "identifier": { "type": "string", "description": "The target identifier (token, email, phone etc.)", - "default": "", - "x-example": "<IDENTIFIER>" + "x-example": "<IDENTIFIER>", + "default": "" }, "providerId": { "type": "string", "description": "Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.", - "default": "", - "x-example": "<PROVIDER_ID>" + "x-example": "<PROVIDER_ID>", + "default": "" }, "name": { "type": "string", "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.", - "default": "", - "x-example": "<NAME>" + "x-example": "<NAME>", + "default": "" } } } @@ -54432,7 +55035,7 @@ "x-appwrite": { "method": "deleteTarget", "group": "targets", - "weight": 102, + "weight": 101, "cookies": false, "type": "", "demo": "users\/delete-target.md", @@ -54504,7 +55107,7 @@ "x-appwrite": { "method": "createToken", "group": "sessions", - "weight": 98, + "weight": 97, "cookies": false, "type": "", "demo": "users\/create-token.md", @@ -54548,15 +55151,15 @@ "length": { "type": "integer", "description": "Token length in characters. The default length is 6 characters", - "default": 6, "x-example": 4, + "default": 6, "format": "int32" }, "expire": { "type": "integer", "description": "Token expiration period in seconds. The default expiration is 15 minutes.", - "default": 900, "x-example": 60, + "default": 900, "format": "int32" } } @@ -54591,7 +55194,7 @@ "x-appwrite": { "method": "updateEmailVerification", "group": "users", - "weight": 88, + "weight": 87, "cookies": false, "type": "", "demo": "users\/update-email-verification.md", @@ -54635,7 +55238,6 @@ "emailVerification": { "type": "boolean", "description": "User email verification status.", - "default": null, "x-example": false } }, @@ -54673,7 +55275,7 @@ "x-appwrite": { "method": "updatePhoneVerification", "group": "users", - "weight": 83, + "weight": 82, "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", @@ -54717,7 +55319,6 @@ "phoneVerification": { "type": "boolean", "description": "User phone verification status.", - "default": null, "x-example": false } }, @@ -54753,7 +55354,7 @@ "x-appwrite": { "method": "list", "group": "vectorsdb", - "weight": 876, + "weight": 924, "cookies": false, "type": "", "demo": "vectorsdb\/list.md", @@ -54792,15 +55393,6 @@ "default": [], "in": "query" }, - { - "name": "search", - "description": "Search term to filter your list results. Max length: 256 chars.", - "required": false, - "type": "string", - "x-example": "<SEARCH>", - "default": "", - "in": "query" - }, { "name": "total", "description": "When set to false, the total count returned will be 0 and will not be calculated.", @@ -54837,7 +55429,7 @@ "x-appwrite": { "method": "create", "group": "vectorsdb", - "weight": 872, + "weight": 925, "cookies": false, "type": "", "demo": "vectorsdb\/create.md", @@ -54873,20 +55465,18 @@ "databaseId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<DATABASE_ID>" }, "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -54924,7 +55514,7 @@ "x-appwrite": { "method": "createTextEmbeddings", "group": "documents", - "weight": 898, + "weight": 911, "cookies": false, "type": "", "demo": "vectorsdb\/create-text-embeddings.md", @@ -54988,7 +55578,6 @@ "texts": { "type": "array", "description": "Array of text to generate embeddings.", - "default": null, "x-example": null, "items": { "type": "string" @@ -54997,8 +55586,8 @@ "model": { "type": "string", "description": "The embedding model to use for generating vector embeddings.", - "default": "embeddinggemma", "x-example": "embeddinggemma", + "default": "embeddinggemma", "enum": [ "embeddinggemma" ], @@ -55038,7 +55627,7 @@ "x-appwrite": { "method": "listTransactions", "group": "transactions", - "weight": 903, + "weight": 916, "cookies": false, "type": "", "demo": "vectorsdb\/list-transactions.md", @@ -55107,7 +55696,7 @@ "x-appwrite": { "method": "createTransaction", "group": "transactions", - "weight": 899, + "weight": 912, "cookies": false, "type": "", "demo": "vectorsdb\/create-transaction.md", @@ -55146,8 +55735,8 @@ "ttl": { "type": "integer", "description": "Seconds before the transaction expires.", - "default": 300, "x-example": 60, + "default": 300, "format": "int32" } } @@ -55180,7 +55769,7 @@ "x-appwrite": { "method": "getTransaction", "group": "transactions", - "weight": 900, + "weight": 913, "cookies": false, "type": "", "demo": "vectorsdb\/get-transaction.md", @@ -55245,7 +55834,7 @@ "x-appwrite": { "method": "updateTransaction", "group": "transactions", - "weight": 901, + "weight": 914, "cookies": false, "type": "", "demo": "vectorsdb\/update-transaction.md", @@ -55292,14 +55881,14 @@ "commit": { "type": "boolean", "description": "Commit transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "rollback": { "type": "boolean", "description": "Rollback transaction?", - "default": false, - "x-example": false + "x-example": false, + "default": false } } } @@ -55326,7 +55915,7 @@ "x-appwrite": { "method": "deleteTransaction", "group": "transactions", - "weight": 902, + "weight": 915, "cookies": false, "type": "", "demo": "vectorsdb\/delete-transaction.md", @@ -55393,7 +55982,7 @@ "x-appwrite": { "method": "createOperations", "group": "transactions", - "weight": 904, + "weight": 917, "cookies": false, "type": "", "demo": "vectorsdb\/create-operations.md", @@ -55440,8 +56029,8 @@ "operations": { "type": "array", "description": "Array of staged operations.", - "default": [], "x-example": "[\n\t {\n\t \"action\": \"create\",\n\t \"databaseId\": \"<DATABASE_ID>\",\n\t \"collectionId\": \"<COLLECTION_ID>\",\n\t \"documentId\": \"<DOCUMENT_ID>\",\n\t \"data\": {\n\t \"name\": \"Walter O'Brien\"\n\t }\n\t }\n\t]", + "default": [], "items": { "type": "object" } @@ -55476,7 +56065,7 @@ "x-appwrite": { "method": "get", "group": "vectorsdb", - "weight": 873, + "weight": 886, "cookies": false, "type": "", "demo": "vectorsdb\/get.md", @@ -55538,7 +56127,7 @@ "x-appwrite": { "method": "update", "group": "vectorsdb", - "weight": 874, + "weight": 887, "cookies": false, "type": "", "demo": "vectorsdb\/update.md", @@ -55582,14 +56171,13 @@ "name": { "type": "string", "description": "Database name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "enabled": { "type": "boolean", "description": "Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -55619,7 +56207,7 @@ "x-appwrite": { "method": "delete", "group": "vectorsdb", - "weight": 875, + "weight": 926, "cookies": false, "type": "", "demo": "vectorsdb\/delete.md", @@ -55681,7 +56269,7 @@ "x-appwrite": { "method": "listCollections", "group": "collections", - "weight": 883, + "weight": 896, "cookies": false, "type": "", "demo": "vectorsdb\/list-collections.md", @@ -55773,7 +56361,7 @@ "x-appwrite": { "method": "createCollection", "group": "collections", - "weight": 879, + "weight": 892, "cookies": false, "type": "", "demo": "vectorsdb\/create-collection.md", @@ -55817,26 +56405,22 @@ "collectionId": { "type": "string", "description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<COLLECTION_ID>" }, "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "dimension": { "type": "integer", "description": "Embedding dimension.", - "default": null, "x-example": 1, "format": "int32" }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -55845,14 +56429,14 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -55889,7 +56473,7 @@ "x-appwrite": { "method": "getCollection", "group": "collections", - "weight": 880, + "weight": 893, "cookies": false, "type": "", "demo": "vectorsdb\/get-collection.md", @@ -55959,7 +56543,7 @@ "x-appwrite": { "method": "updateCollection", "group": "collections", - "weight": 881, + "weight": 894, "cookies": false, "type": "", "demo": "vectorsdb\/update-collection.md", @@ -56011,20 +56595,17 @@ "name": { "type": "string", "description": "Collection name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "dimension": { "type": "integer", "description": "Embedding dimensions.", - "default": null, "x-example": 1, "format": "int32" }, "permissions": { "type": "array", "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -56033,14 +56614,14 @@ "documentSecurity": { "type": "boolean", "description": "Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "enabled": { "type": "boolean", "description": "Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.", - "default": true, - "x-example": false + "x-example": false, + "default": true } }, "required": [ @@ -56070,7 +56651,7 @@ "x-appwrite": { "method": "deleteCollection", "group": "collections", - "weight": 882, + "weight": 895, "cookies": false, "type": "", "demo": "vectorsdb\/delete-collection.md", @@ -56140,7 +56721,7 @@ "x-appwrite": { "method": "listDocuments", "group": "documents", - "weight": 893, + "weight": 906, "cookies": false, "type": "", "demo": "vectorsdb\/list-documents.md", @@ -56252,7 +56833,7 @@ "x-appwrite": { "method": "createDocument", "group": "documents", - "weight": 889, + "weight": 902, "cookies": false, "type": "", "demo": "vectorsdb\/create-document.md", @@ -56368,19 +56949,18 @@ "documentId": { "type": "string", "description": "Document ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": "", - "x-example": "<DOCUMENT_ID>" + "x-example": "<DOCUMENT_ID>", + "default": "" }, "data": { "type": "object", "description": "Document data as JSON object.", - "default": [], - "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }" + "x-example": "{\"embeddings\": [0.12, -0.55, 0.88, 1.02], \"metadata\": {\"key\":\"value\"} }", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -56389,8 +56969,8 @@ "documents": { "type": "array", "description": "Array of documents data as JSON objects.", - "default": [], "x-example": null, + "default": [], "items": { "type": "object" } @@ -56398,7 +56978,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -56431,7 +57010,7 @@ "x-appwrite": { "method": "upsertDocuments", "group": "documents", - "weight": 896, + "weight": 909, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-documents.md", @@ -56514,7 +57093,6 @@ "documents": { "type": "array", "description": "Array of document data as JSON objects. May contain partial documents.", - "default": null, "x-example": null, "items": { "type": "object" @@ -56523,7 +57101,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } }, @@ -56559,7 +57136,7 @@ "x-appwrite": { "method": "updateDocuments", "group": "documents", - "weight": 895, + "weight": 908, "cookies": false, "type": "", "demo": "vectorsdb\/update-documents.md", @@ -56611,14 +57188,14 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only attribute and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -56626,7 +57203,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -56659,7 +57235,7 @@ "x-appwrite": { "method": "deleteDocuments", "group": "documents", - "weight": 897, + "weight": 910, "cookies": false, "type": "", "demo": "vectorsdb\/delete-documents.md", @@ -56711,8 +57287,8 @@ "queries": { "type": "array", "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries). Maximum of 100 queries are allowed, each 4096 characters long.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string" } @@ -56720,7 +57296,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -56753,7 +57328,7 @@ "x-appwrite": { "method": "getDocument", "group": "documents", - "weight": 892, + "weight": 905, "cookies": false, "type": "", "demo": "vectorsdb\/get-document.md", @@ -56854,7 +57429,7 @@ "x-appwrite": { "method": "upsertDocument", "group": "documents", - "weight": 891, + "weight": 904, "cookies": false, "type": "", "demo": "vectorsdb\/upsert-document.md", @@ -56950,13 +57525,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include all required fields of the document to be created or updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -56965,7 +57539,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -56998,7 +57571,7 @@ "x-appwrite": { "method": "updateDocument", "group": "documents", - "weight": 890, + "weight": 903, "cookies": false, "type": "", "demo": "vectorsdb\/update-document.md", @@ -57061,13 +57634,12 @@ "data": { "type": "object", "description": "Document data as JSON object. Include only fields and value pairs to be updated.", - "default": [], - "x-example": "{}" + "x-example": "{}", + "default": [] }, "permissions": { "type": "array", "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", - "default": null, "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" @@ -57076,7 +57648,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -57104,7 +57675,7 @@ "x-appwrite": { "method": "deleteDocument", "group": "documents", - "weight": 894, + "weight": 907, "cookies": false, "type": "", "demo": "vectorsdb\/delete-document.md", @@ -57167,7 +57738,6 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "default": null, "x-example": "<TRANSACTION_ID>" } } @@ -57200,7 +57770,7 @@ "x-appwrite": { "method": "listIndexes", "group": "indexes", - "weight": 888, + "weight": 901, "cookies": false, "type": "", "demo": "vectorsdb\/list-indexes.md", @@ -57291,7 +57861,7 @@ "x-appwrite": { "method": "createIndex", "group": "indexes", - "weight": 885, + "weight": 898, "cookies": false, "type": "", "demo": "vectorsdb\/create-index.md", @@ -57343,13 +57913,11 @@ "key": { "type": "string", "description": "Index Key.", - "default": null, "x-example": null }, "type": { "type": "string", "description": "Index type.", - "default": null, "x-example": "hnsw_euclidean", "enum": [ "hnsw_euclidean", @@ -57365,7 +57933,6 @@ "attributes": { "type": "array", "description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.", - "default": null, "x-example": null, "items": { "type": "string" @@ -57374,8 +57941,8 @@ "orders": { "type": "array", "description": "Array of index orders. Maximum of 100 orders are allowed.", - "default": [], "x-example": null, + "default": [], "items": { "type": "string", "enum": [ @@ -57389,8 +57956,8 @@ "lengths": { "type": "array", "description": "Length of index. Maximum of 100", - "default": [], "x-example": null, + "default": [], "items": { "type": "integer" } @@ -57430,7 +57997,7 @@ "x-appwrite": { "method": "getIndex", "group": "indexes", - "weight": 886, + "weight": 899, "cookies": false, "type": "", "demo": "vectorsdb\/get-index.md", @@ -57502,7 +58069,7 @@ "x-appwrite": { "method": "deleteIndex", "group": "indexes", - "weight": 887, + "weight": 900, "cookies": false, "type": "", "demo": "vectorsdb\/delete-index.md", @@ -57579,7 +58146,7 @@ "x-appwrite": { "method": "list", "group": null, - "weight": 571, + "weight": 578, "cookies": false, "type": "", "demo": "webhooks\/list.md", @@ -57653,7 +58220,7 @@ "x-appwrite": { "method": "create", "group": null, - "weight": 570, + "weight": 577, "cookies": false, "type": "", "demo": "webhooks\/create.md", @@ -57688,25 +58255,21 @@ "webhookId": { "type": "string", "description": "Webhook ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.", - "default": null, "x-example": "<WEBHOOK_ID>" }, "url": { "type": "string", "description": "Webhook URL.", - "default": null, "x-example": null }, "name": { "type": "string", "description": "Webhook name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "events": { "type": "array", "description": "Events list. Maximum of 100 events are allowed.", - "default": null, "x-example": null, "items": { "type": "string" @@ -57715,31 +58278,30 @@ "enabled": { "type": "boolean", "description": "Enable or disable a webhook.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "tls": { "type": "boolean", "description": "Certificate verification, false for disabled or true for enabled.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "authUsername": { "type": "string", "description": "Webhook HTTP user. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_USERNAME>" + "x-example": "<AUTH_USERNAME>", + "default": "" }, "authPassword": { "type": "string", "description": "Webhook HTTP password. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_PASSWORD>" + "x-example": "<AUTH_PASSWORD>", + "default": "" }, "secret": { "type": "string", "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "default": null, "x-example": "<SECRET>", "x-nullable": true } @@ -57779,7 +58341,7 @@ "x-appwrite": { "method": "get", "group": null, - "weight": 572, + "weight": 579, "cookies": false, "type": "", "demo": "webhooks\/get.md", @@ -57840,7 +58402,7 @@ "x-appwrite": { "method": "update", "group": null, - "weight": 574, + "weight": 581, "cookies": false, "type": "", "demo": "webhooks\/update.md", @@ -57883,19 +58445,16 @@ "name": { "type": "string", "description": "Webhook name. Max length: 128 chars.", - "default": null, "x-example": "<NAME>" }, "url": { "type": "string", "description": "Webhook URL.", - "default": null, "x-example": null }, "events": { "type": "array", "description": "Events list. Maximum of 100 events are allowed.", - "default": null, "x-example": null, "items": { "type": "string" @@ -57904,26 +58463,26 @@ "enabled": { "type": "boolean", "description": "Enable or disable a webhook.", - "default": true, - "x-example": false + "x-example": false, + "default": true }, "tls": { "type": "boolean", "description": "Certificate verification, false for disabled or true for enabled.", - "default": false, - "x-example": false + "x-example": false, + "default": false }, "authUsername": { "type": "string", "description": "Webhook HTTP user. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_USERNAME>" + "x-example": "<AUTH_USERNAME>", + "default": "" }, "authPassword": { "type": "string", "description": "Webhook HTTP password. Max length: 256 chars.", - "default": "", - "x-example": "<AUTH_PASSWORD>" + "x-example": "<AUTH_PASSWORD>", + "default": "" } }, "required": [ @@ -57955,7 +58514,7 @@ "x-appwrite": { "method": "delete", "group": null, - "weight": 573, + "weight": 580, "cookies": false, "type": "", "demo": "webhooks\/delete.md", @@ -58018,7 +58577,7 @@ "x-appwrite": { "method": "updateSecret", "group": null, - "weight": 575, + "weight": 582, "cookies": false, "type": "", "demo": "webhooks\/update-secret.md", @@ -58061,7 +58620,6 @@ "secret": { "type": "string", "description": "Webhook secret key. If not provided, a new key will be generated automatically. Key must be at least 8 characters long, and at max 256 characters.", - "default": null, "x-example": "<SECRET>", "x-nullable": true } @@ -58144,6 +58702,10 @@ { "name": "messaging", "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." + }, + { + "name": "advisor", + "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." } ], "definitions": { @@ -58211,6 +58773,35 @@ "documents": "" } }, + "presenceList": { + "description": "Presences List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of presences that matched your query.", + "x-example": 5, + "format": "int32" + }, + "presences": { + "type": "array", + "description": "List of presences.", + "items": { + "type": "object", + "$ref": "#\/definitions\/presence" + }, + "x-example": "" + } + }, + "required": [ + "total", + "presences" + ], + "example": { + "total": 5, + "presences": "" + } + }, "tableList": { "description": "Tables List", "type": "object", @@ -59499,6 +60090,64 @@ "embeddings": "" } }, + "insightList": { + "description": "Insights List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of insights that matched your query.", + "x-example": 5, + "format": "int32" + }, + "insights": { + "type": "array", + "description": "List of insights.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insight" + }, + "x-example": "" + } + }, + "required": [ + "total", + "insights" + ], + "example": { + "total": 5, + "insights": "" + } + }, + "reportList": { + "description": "Reports List", + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total number of reports that matched your query.", + "x-example": 5, + "format": "int32" + }, + "reports": { + "type": "array", + "description": "List of reports.", + "items": { + "type": "object", + "$ref": "#\/definitions\/report" + }, + "x-example": "" + } + }, + "required": [ + "total", + "reports" + ], + "example": { + "total": 5, + "reports": "" + } + }, "database": { "description": "Database", "type": "object", @@ -59544,7 +60193,7 @@ "description": "Database backup policies.", "items": { "type": "object", - "$ref": "#\/definitions\/index" + "$ref": "#\/definitions\/backupPolicy" }, "x-example": {} }, @@ -59553,7 +60202,7 @@ "description": "Database backup archives.", "items": { "type": "object", - "$ref": "#\/definitions\/collection" + "$ref": "#\/definitions\/backupArchive" }, "x-example": {} } @@ -64490,6 +65139,81 @@ "isAdmin": false } }, + "presence": { + "description": "Presence", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Presence ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Presence creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Presence update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$permissions": { + "type": "array", + "description": "Presence permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", + "items": { + "type": "string" + }, + "x-example": [ + "read(\"any\")" + ] + }, + "userId": { + "type": "string", + "description": "User ID.", + "x-example": "674af8f3e12a5f9ac0be" + }, + "status": { + "type": "string", + "description": "Presence status.", + "x-example": "online", + "x-nullable": true + }, + "source": { + "type": "string", + "description": "Presence source.", + "x-example": "HTTP" + }, + "expiresAt": { + "type": "string", + "description": "Presence expiry date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + } + }, + "additionalProperties": true, + "x-additional-properties-key": "metadata", + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "$permissions", + "userId", + "source" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "$permissions": [ + "read(\"any\")" + ], + "userId": "674af8f3e12a5f9ac0be", + "status": "online", + "source": "HTTP", + "expiresAt": "2020-10-15T06:38:00.000+00:00" + } + }, "log": { "description": "Log", "type": "object", @@ -65582,6 +66306,12 @@ "x-example": 17890, "format": "int32" }, + "sizeActual": { + "type": "integer", + "description": "File actual stored size in bytes after compression and\/or encryption.", + "x-example": 12345, + "format": "int32" + }, "chunksTotal": { "type": "integer", "description": "Total number of chunks available", @@ -65615,6 +66345,7 @@ "signature", "mimeType", "sizeOriginal", + "sizeActual", "chunksTotal", "chunksUploaded", "encryption", @@ -65632,6 +66363,7 @@ "signature": "5d529fd02b544198ae075bd57c1762bb", "mimeType": "image\/png", "sizeOriginal": 17890, + "sizeActual": 12345, "chunksTotal": 17890, "chunksUploaded": 17890, "encryption": true, @@ -67080,217 +67812,14 @@ "description": "Project name.", "x-example": "New Project" }, - "description": { - "type": "string", - "description": "Project description.", - "x-example": "This is a new project." - }, "teamId": { "type": "string", "description": "Project team ID.", "x-example": "1592981250" }, - "logo": { - "type": "string", - "description": "Project logo file ID.", - "x-example": "5f5c451b403cb" - }, - "url": { - "type": "string", - "description": "Project website URL.", - "x-example": "5f5c451b403cb" - }, - "legalName": { - "type": "string", - "description": "Company legal name.", - "x-example": "Company LTD." - }, - "legalCountry": { - "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" - }, - "legalState": { - "type": "string", - "description": "State name.", - "x-example": "New York" - }, - "legalCity": { - "type": "string", - "description": "City name.", - "x-example": "New York City." - }, - "legalAddress": { - "type": "string", - "description": "Company Address.", - "x-example": "620 Eighth Avenue, New York, NY 10018" - }, - "legalTaxId": { - "type": "string", - "description": "Company Tax ID.", - "x-example": "131102020" - }, - "authDuration": { - "type": "integer", - "description": "Session duration in seconds.", - "x-example": 60, - "format": "int32" - }, - "authLimit": { - "type": "integer", - "description": "Max users allowed. 0 is unlimited.", - "x-example": 100, - "format": "int32" - }, - "authSessionsLimit": { - "type": "integer", - "description": "Max sessions allowed per user. 100 maximum.", - "x-example": 10, - "format": "int32" - }, - "authPasswordHistory": { - "type": "integer", - "description": "Max allowed passwords in the history list per user. Max passwords limit allowed in history is 20. Use 0 for disabling password history.", - "x-example": 5, - "format": "int32" - }, - "authPasswordDictionary": { - "type": "boolean", - "description": "Whether or not to check user's password against most commonly used passwords.", - "x-example": true - }, - "authPersonalDataCheck": { - "type": "boolean", - "description": "Whether or not to check the user password for similarity with their personal data.", - "x-example": true - }, - "authDisposableEmails": { - "type": "boolean", - "description": "Whether or not to disallow disposable email addresses during signup and email updates.", - "x-example": true - }, - "authCanonicalEmails": { - "type": "boolean", - "description": "Whether or not to require canonical email addresses during signup and email updates.", - "x-example": true - }, - "authFreeEmails": { - "type": "boolean", - "description": "Whether or not to disallow free email addresses during signup and email updates.", - "x-example": true - }, - "authMockNumbers": { - "type": "array", - "description": "An array of mock numbers and their corresponding verification codes (OTPs).", - "items": { - "type": "object", - "$ref": "#\/definitions\/mockNumber" - }, - "x-example": [ - {} - ] - }, - "authSessionAlerts": { - "type": "boolean", - "description": "Whether or not to send session alert emails to users.", - "x-example": true - }, - "authMembershipsUserName": { - "type": "boolean", - "description": "Whether or not to show user names in the teams membership response.", - "x-example": true - }, - "authMembershipsUserEmail": { - "type": "boolean", - "description": "Whether or not to show user emails in the teams membership response.", - "x-example": true - }, - "authMembershipsMfa": { - "type": "boolean", - "description": "Whether or not to show user MFA status in the teams membership response.", - "x-example": true - }, - "authMembershipsUserId": { - "type": "boolean", - "description": "Whether or not to show user IDs in the teams membership response.", - "x-example": true - }, - "authMembershipsUserPhone": { - "type": "boolean", - "description": "Whether or not to show user phone numbers in the teams membership response.", - "x-example": true - }, - "authInvalidateSessions": { - "type": "boolean", - "description": "Whether or not all existing sessions should be invalidated on password change", - "x-example": true - }, - "oAuthProviders": { - "type": "array", - "description": "List of Auth Providers.", - "items": { - "type": "object", - "$ref": "#\/definitions\/authProvider" - }, - "x-example": [ - {} - ] - }, - "platforms": { - "type": "array", - "description": "List of Platforms.", - "items": { - "x-anyOf": [ - { - "$ref": "#\/definitions\/platformWeb" - }, - { - "$ref": "#\/definitions\/platformApple" - }, - { - "$ref": "#\/definitions\/platformAndroid" - }, - { - "$ref": "#\/definitions\/platformWindows" - }, - { - "$ref": "#\/definitions\/platformLinux" - } - ], - "x-discriminator": { - "propertyName": "type", - "mapping": { - "web": "#\/definitions\/platformWeb", - "apple": "#\/definitions\/platformApple", - "android": "#\/definitions\/platformAndroid", - "windows": "#\/definitions\/platformWindows", - "linux": "#\/definitions\/platformLinux" - } - } - }, - "x-example": {} - }, - "webhooks": { - "type": "array", - "description": "List of Webhooks.", - "items": { - "type": "object", - "$ref": "#\/definitions\/webhook" - }, - "x-example": {} - }, - "keys": { - "type": "array", - "description": "List of API Keys.", - "items": { - "type": "object", - "$ref": "#\/definitions\/key" - }, - "x-example": {} - }, "devKeys": { "type": "array", - "description": "List of dev keys.", + "description": "Deprecated since 1.9.5: List of dev keys.", "items": { "type": "object", "$ref": "#\/definitions\/devKey" @@ -67374,140 +67903,32 @@ "description": "Project status", "x-example": "active" }, - "authEmailPassword": { - "type": "boolean", - "description": "Email\/Password auth method status", - "x-example": true - }, - "authUsersAuthMagicURL": { - "type": "boolean", - "description": "Magic URL auth method status", - "x-example": true - }, - "authEmailOtp": { - "type": "boolean", - "description": "Email (OTP) auth method status", - "x-example": true - }, - "authAnonymous": { - "type": "boolean", - "description": "Anonymous auth method status", - "x-example": true - }, - "authInvites": { - "type": "boolean", - "description": "Invites auth method status", - "x-example": true - }, - "authJWT": { - "type": "boolean", - "description": "JWT auth method status", - "x-example": true - }, - "authPhone": { - "type": "boolean", - "description": "Phone auth method status", - "x-example": true - }, - "serviceStatusForAccount": { - "type": "boolean", - "description": "Account service status", - "x-example": true - }, - "serviceStatusForAvatars": { - "type": "boolean", - "description": "Avatars service status", - "x-example": true - }, - "serviceStatusForDatabases": { - "type": "boolean", - "description": "Databases (legacy) service status", - "x-example": true - }, - "serviceStatusForTablesdb": { - "type": "boolean", - "description": "TablesDB service status", - "x-example": true - }, - "serviceStatusForLocale": { - "type": "boolean", - "description": "Locale service status", - "x-example": true - }, - "serviceStatusForHealth": { - "type": "boolean", - "description": "Health service status", - "x-example": true - }, - "serviceStatusForProject": { - "type": "boolean", - "description": "Project service status", - "x-example": true - }, - "serviceStatusForStorage": { - "type": "boolean", - "description": "Storage service status", - "x-example": true - }, - "serviceStatusForTeams": { - "type": "boolean", - "description": "Teams service status", - "x-example": true - }, - "serviceStatusForUsers": { - "type": "boolean", - "description": "Users service status", - "x-example": true - }, - "serviceStatusForVcs": { - "type": "boolean", - "description": "VCS service status", - "x-example": true - }, - "serviceStatusForSites": { - "type": "boolean", - "description": "Sites service status", - "x-example": true - }, - "serviceStatusForFunctions": { - "type": "boolean", - "description": "Functions service status", - "x-example": true - }, - "serviceStatusForProxy": { - "type": "boolean", - "description": "Proxy service status", - "x-example": true - }, - "serviceStatusForGraphql": { - "type": "boolean", - "description": "GraphQL service status", - "x-example": true - }, - "serviceStatusForMigrations": { - "type": "boolean", - "description": "Migrations service status", - "x-example": true - }, - "serviceStatusForMessaging": { - "type": "boolean", - "description": "Messaging service status", - "x-example": true - }, - "protocolStatusForRest": { - "type": "boolean", - "description": "REST protocol status", - "x-example": true + "authMethods": { + "type": "array", + "description": "List of auth methods.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectAuthMethod" + }, + "x-example": {} }, - "protocolStatusForGraphql": { - "type": "boolean", - "description": "GraphQL protocol status", - "x-example": true + "services": { + "type": "array", + "description": "List of services.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectService" + }, + "x-example": {} }, - "protocolStatusForWebsocket": { - "type": "boolean", - "description": "Websocket protocol status", - "x-example": true + "protocols": { + "type": "array", + "description": "List of protocols.", + "items": { + "type": "object", + "$ref": "#\/definitions\/projectProtocol" + }, + "x-example": {} }, "region": { "type": "string", @@ -67521,7 +67942,8 @@ "items": { "type": "object", "$ref": "#\/definitions\/billingLimits" - } + }, + "x-nullable": true }, "blocks": { "type": "array", @@ -67543,37 +67965,7 @@ "$createdAt", "$updatedAt", "name", - "description", "teamId", - "logo", - "url", - "legalName", - "legalCountry", - "legalState", - "legalCity", - "legalAddress", - "legalTaxId", - "authDuration", - "authLimit", - "authSessionsLimit", - "authPasswordHistory", - "authPasswordDictionary", - "authPersonalDataCheck", - "authDisposableEmails", - "authCanonicalEmails", - "authFreeEmails", - "authMockNumbers", - "authSessionAlerts", - "authMembershipsUserName", - "authMembershipsUserEmail", - "authMembershipsMfa", - "authMembershipsUserId", - "authMembershipsUserPhone", - "authInvalidateSessions", - "oAuthProviders", - "platforms", - "webhooks", - "keys", "devKeys", "smtpEnabled", "smtpSenderName", @@ -67589,35 +67981,10 @@ "pingedAt", "labels", "status", - "authEmailPassword", - "authUsersAuthMagicURL", - "authEmailOtp", - "authAnonymous", - "authInvites", - "authJWT", - "authPhone", - "serviceStatusForAccount", - "serviceStatusForAvatars", - "serviceStatusForDatabases", - "serviceStatusForTablesdb", - "serviceStatusForLocale", - "serviceStatusForHealth", - "serviceStatusForProject", - "serviceStatusForStorage", - "serviceStatusForTeams", - "serviceStatusForUsers", - "serviceStatusForVcs", - "serviceStatusForSites", - "serviceStatusForFunctions", - "serviceStatusForProxy", - "serviceStatusForGraphql", - "serviceStatusForMigrations", - "serviceStatusForMessaging", - "protocolStatusForRest", - "protocolStatusForGraphql", - "protocolStatusForWebsocket", + "authMethods", + "services", + "protocols", "region", - "billingLimits", "blocks", "consoleAccessedAt" ], @@ -67626,41 +67993,7 @@ "$createdAt": "2020-10-15T06:38:00.000+00:00", "$updatedAt": "2020-10-15T06:38:00.000+00:00", "name": "New Project", - "description": "This is a new project.", "teamId": "1592981250", - "logo": "5f5c451b403cb", - "url": "5f5c451b403cb", - "legalName": "Company LTD.", - "legalCountry": "US", - "legalState": "New York", - "legalCity": "New York City.", - "legalAddress": "620 Eighth Avenue, New York, NY 10018", - "legalTaxId": "131102020", - "authDuration": 60, - "authLimit": 100, - "authSessionsLimit": 10, - "authPasswordHistory": 5, - "authPasswordDictionary": true, - "authPersonalDataCheck": true, - "authDisposableEmails": true, - "authCanonicalEmails": true, - "authFreeEmails": true, - "authMockNumbers": [ - {} - ], - "authSessionAlerts": true, - "authMembershipsUserName": true, - "authMembershipsUserEmail": true, - "authMembershipsMfa": true, - "authMembershipsUserId": true, - "authMembershipsUserPhone": true, - "authInvalidateSessions": true, - "oAuthProviders": [ - {} - ], - "platforms": {}, - "webhooks": {}, - "keys": {}, "devKeys": {}, "smtpEnabled": false, "smtpSenderName": "John Appwrite", @@ -67678,39 +68011,124 @@ "vip" ], "status": "active", - "authEmailPassword": true, - "authUsersAuthMagicURL": true, - "authEmailOtp": true, - "authAnonymous": true, - "authInvites": true, - "authJWT": true, - "authPhone": true, - "serviceStatusForAccount": true, - "serviceStatusForAvatars": true, - "serviceStatusForDatabases": true, - "serviceStatusForTablesdb": true, - "serviceStatusForLocale": true, - "serviceStatusForHealth": true, - "serviceStatusForProject": true, - "serviceStatusForStorage": true, - "serviceStatusForTeams": true, - "serviceStatusForUsers": true, - "serviceStatusForVcs": true, - "serviceStatusForSites": true, - "serviceStatusForFunctions": true, - "serviceStatusForProxy": true, - "serviceStatusForGraphql": true, - "serviceStatusForMigrations": true, - "serviceStatusForMessaging": true, - "protocolStatusForRest": true, - "protocolStatusForGraphql": true, - "protocolStatusForWebsocket": true, + "authMethods": {}, + "services": {}, + "protocols": {}, "region": "fra", "billingLimits": "", "blocks": "", "consoleAccessedAt": "2020-10-15T06:38:00.000+00:00" } }, + "projectAuthMethod": { + "description": "ProjectAuthMethod", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Auth method ID.", + "x-example": "email-password", + "enum": [ + "email-password", + "magic-url", + "email-otp", + "anonymous", + "invites", + "jwt", + "phone" + ], + "x-enum-name": "ProjectAuthMethodId" + }, + "enabled": { + "type": "boolean", + "description": "Auth method status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "email-password", + "enabled": false + } + }, + "projectService": { + "description": "ProjectService", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Service ID.", + "x-example": "sites", + "enum": [ + "account", + "avatars", + "databases", + "tablesdb", + "locale", + "health", + "project", + "storage", + "teams", + "users", + "vcs", + "sites", + "functions", + "proxy", + "graphql", + "migrations", + "messaging", + "advisor" + ], + "x-enum-name": "ProjectServiceId" + }, + "enabled": { + "type": "boolean", + "description": "Service status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "sites", + "enabled": false + } + }, + "projectProtocol": { + "description": "ProjectProtocol", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Protocol ID.", + "x-example": "graphql", + "enum": [ + "rest", + "graphql", + "websocket" + ], + "x-enum-name": "ProjectProtocolId" + }, + "enabled": { + "type": "boolean", + "description": "Protocol status.", + "x-example": false + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "graphql", + "enabled": false + } + }, "webhook": { "description": "Webhook", "type": "object", @@ -70175,51 +70593,6 @@ "userMFA": true } }, - "authProvider": { - "description": "AuthProvider", - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "Auth Provider.", - "x-example": "github" - }, - "name": { - "type": "string", - "description": "Auth Provider name.", - "x-example": "GitHub" - }, - "appId": { - "type": "string", - "description": "OAuth 2.0 application ID.", - "x-example": "259125845563242502" - }, - "secret": { - "type": "string", - "description": "OAuth 2.0 application secret. Might be JSON string if provider requires extra configuration. This property is write-only and always returned empty.", - "x-example": "" - }, - "enabled": { - "type": "boolean", - "description": "Auth Provider is active and can be used to create session.", - "x-example": "" - } - }, - "required": [ - "key", - "name", - "appId", - "secret", - "enabled" - ], - "example": { - "key": "github", - "name": "GitHub", - "appId": "259125845563242502", - "secret": "", - "enabled": "" - } - }, "platformWeb": { "description": "Platform Web", "type": "object", @@ -71882,6 +72255,301 @@ "expired": false } }, + "insight": { + "description": "Insight", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Insight ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Insight creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Insight update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "reportId": { + "type": "string", + "description": "Parent report ID. Insights always belong to a report.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Insight type. One of databaseIndex (legacy), tablesDBIndex, documentsDBIndex, vectorsDBIndex, databasePerformance, sitePerformance, siteAccessibility, siteSeo, functionPerformance. The index types are engine-specific so each CTA can pair the right service+method (databases.createIndex, tablesDB.createIndex, documentsDB.createIndex, or vectorsDB.createIndex).", + "x-example": "tablesDBIndex" + }, + "severity": { + "type": "string", + "description": "Insight severity. One of info, warning, critical.", + "x-example": "warning" + }, + "status": { + "type": "string", + "description": "Insight status. One of active, dismissed.", + "x-example": "active" + }, + "resourceType": { + "type": "string", + "description": "Type of the resource the insight is about. Plural noun, e.g. databases, sites, functions.", + "x-example": "databases" + }, + "resourceId": { + "type": "string", + "description": "ID of the resource the insight is about.", + "x-example": "main" + }, + "parentResourceType": { + "type": "string", + "description": "Plural noun for the parent resource that contains the insight's resource, e.g. an insight about a column index on a table \u2192 resourceType=indexes, parentResourceType=tables. Empty when the resource has no parent.", + "x-example": "tables" + }, + "parentResourceId": { + "type": "string", + "description": "ID of the parent resource. Empty when the resource has no parent.", + "x-example": "orders" + }, + "title": { + "type": "string", + "description": "Insight title.", + "x-example": "Missing index on collection orders" + }, + "summary": { + "type": "string", + "description": "Short markdown summary describing the insight.", + "x-example": "Queries against `orders.status` are scanning the full collection." + }, + "ctas": { + "type": "array", + "description": "List of call-to-action buttons attached to this insight.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insightCTA" + }, + "x-example": [] + }, + "analyzedAt": { + "type": "string", + "description": "Time the insight was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + }, + "dismissedAt": { + "type": "string", + "description": "Time the insight was dismissed in ISO 8601 format. Empty when not dismissed.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + }, + "dismissedBy": { + "type": "string", + "description": "User ID that dismissed the insight. Empty when not dismissed.", + "x-example": "5e5ea5c16897e", + "x-nullable": true + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "reportId", + "type", + "severity", + "status", + "resourceType", + "resourceId", + "parentResourceType", + "parentResourceId", + "title", + "summary", + "ctas" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "reportId": "5e5ea5c16897e", + "type": "tablesDBIndex", + "severity": "warning", + "status": "active", + "resourceType": "databases", + "resourceId": "main", + "parentResourceType": "tables", + "parentResourceId": "orders", + "title": "Missing index on collection orders", + "summary": "Queries against `orders.status` are scanning the full collection.", + "ctas": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedAt": "2020-10-15T06:38:00.000+00:00", + "dismissedBy": "5e5ea5c16897e" + } + }, + "insightCTA": { + "description": "InsightCTA", + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Human-readable label for the CTA, used in UI.", + "x-example": "Create missing index" + }, + "service": { + "type": "string", + "description": "Public API service (SDK namespace) the client should invoke. Must match the engine that owns the resource \u2014 for index suggestions: databases (legacy), tablesDB, documentsDB, or vectorsDB.", + "x-example": "tablesDB" + }, + "method": { + "type": "string", + "description": "Public API method on the chosen service the client should invoke when this CTA is triggered.", + "x-example": "createIndex" + }, + "params": { + "type": "object", + "additionalProperties": true, + "description": "Parameter map the client should pass to the service method when this CTA is triggered. Keys match the target API's parameter names (e.g. databaseId\/tableId\/columns for tablesDB, databaseId\/collectionId\/attributes for the legacy Databases API).", + "x-example": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } + } + }, + "required": [ + "label", + "service", + "method", + "params" + ], + "example": { + "label": "Create missing index", + "service": "tablesDB", + "method": "createIndex", + "params": { + "databaseId": "main", + "tableId": "orders", + "key": "_idx_status", + "type": "key", + "columns": [ + "status" + ] + } + } + }, + "report": { + "description": "Report", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Report ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Report creation date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Report update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "appId": { + "type": "string", + "description": "ID of the third-party app that submitted the report.", + "x-example": "5e5ea5c16897e" + }, + "type": { + "type": "string", + "description": "Analyzer that produced this report. e.g. lighthouse, audit, databaseAnalyzer.", + "x-example": "lighthouse" + }, + "title": { + "type": "string", + "description": "Short, human-readable title for the report.", + "x-example": "Lighthouse audit for https:\/\/appwrite.io\/" + }, + "summary": { + "type": "string", + "description": "Markdown summary describing the report.", + "x-example": "Performance score 78. 4 opportunities found." + }, + "targetType": { + "type": "string", + "description": "Plural noun describing what the report analyzes, e.g. databases, sites, urls.", + "x-example": "urls" + }, + "target": { + "type": "string", + "description": "Free-form target identifier (URL for lighthouse, resource ID for db).", + "x-example": "https:\/\/appwrite.io\/" + }, + "categories": { + "type": "array", + "description": "Categories covered by the report, e.g. performance, accessibility.", + "items": { + "type": "string" + }, + "x-example": [ + "performance", + "accessibility" + ] + }, + "insights": { + "type": "array", + "description": "Insights nested under this report.", + "items": { + "type": "object", + "$ref": "#\/definitions\/insight" + }, + "x-example": [] + }, + "analyzedAt": { + "type": "string", + "description": "Time the report was analyzed in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00", + "x-nullable": true + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "appId", + "type", + "title", + "summary", + "targetType", + "target", + "categories", + "insights" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "appId": "5e5ea5c16897e", + "type": "lighthouse", + "title": "Lighthouse audit for https:\/\/appwrite.io\/", + "summary": "Performance score 78. 4 opportunities found.", + "targetType": "urls", + "target": "https:\/\/appwrite.io\/", + "categories": [ + "performance", + "accessibility" + ], + "insights": [], + "analyzedAt": "2020-10-15T06:38:00.000+00:00" + } + }, "activityEvent": { "description": "ActivityEvent", "type": "object", @@ -72218,68 +72886,66 @@ } }, "billingLimits": { - "description": "BillingLimits", + "description": "Limits", "type": "object", "properties": { "bandwidth": { "type": "integer", "description": "Bandwidth limit", "x-example": 5, - "format": "int32" + "format": "int32", + "x-nullable": true }, "storage": { "type": "integer", "description": "Storage limit", "x-example": 150, - "format": "int32" + "format": "int32", + "x-nullable": true }, "users": { "type": "integer", "description": "Users limit", "x-example": 200000, - "format": "int32" + "format": "int32", + "x-nullable": true }, "executions": { "type": "integer", "description": "Executions limit", "x-example": 750000, - "format": "int32" + "format": "int32", + "x-nullable": true }, "GBHours": { "type": "integer", "description": "GBHours limit", "x-example": 100, - "format": "int32" + "format": "int32", + "x-nullable": true }, "imageTransformations": { "type": "integer", "description": "Image transformations limit", "x-example": 100, - "format": "int32" + "format": "int32", + "x-nullable": true }, "authPhone": { "type": "integer", "description": "Auth phone limit", "x-example": 10, - "format": "int32" + "format": "int32", + "x-nullable": true }, "budgetLimit": { "type": "integer", "description": "Budget limit percentage", "x-example": 100, - "format": "int32" + "format": "int32", + "x-nullable": true } }, - "required": [ - "bandwidth", - "storage", - "users", - "executions", - "GBHours", - "imageTransformations", - "authPhone", - "budgetLimit" - ], "example": { "bandwidth": 5, "storage": 150, @@ -72558,6 +73224,119 @@ "options": "{databases.database[{oldId, newId, newName}]}" } }, + "usageEvent": { + "description": "usageEvent", + "type": "object", + "properties": { + "metric": { + "type": "string", + "description": "The metric key.", + "x-example": "bandwidth" + }, + "value": { + "type": "integer", + "description": "The metric value.", + "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" + }, + "method": { + "type": "string", + "description": "The HTTP method.", + "x-example": "POST" + }, + "status": { + "type": "string", + "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", + "x-example": "201" + }, + "resourceType": { + "type": "string", + "description": "The resource type.", + "x-example": "bucket" + }, + "resourceId": { + "type": "string", + "description": "The resource ID.", + "x-example": "abc123" + }, + "countryCode": { + "type": "string", + "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", + "x-example": "US" + }, + "userAgent": { + "type": "string", + "description": "The user agent string.", + "x-example": "AppwriteSDK\/1.0" + } + }, + "required": [ + "metric", + "value", + "time", + "path", + "method", + "status", + "resourceType", + "resourceId", + "countryCode", + "userAgent" + ], + "example": { + "metric": "bandwidth", + "value": 5000, + "time": "2026-04-09T12:00:00.000+00:00", + "path": "\/v1\/storage\/files", + "method": "POST", + "status": "201", + "resourceType": "bucket", + "resourceId": "abc123", + "countryCode": "US", + "userAgent": "AppwriteSDK\/1.0" + } + }, + "usageGauge": { + "description": "usageGauge", + "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" + }, + "time": { + "type": "string", + "description": "The snapshot timestamp.", + "x-example": "2026-04-09T12:00:00.000+00:00" + } + }, + "required": [ + "metric", + "value", + "time" + ], + "example": { + "metric": "users", + "value": 1500, + "time": "2026-04-09T12:00:00.000+00:00" + } + }, "activityEventList": { "description": "Activity event list", "type": "object", @@ -72673,6 +73452,64 @@ "total": 5, "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": { + "type": "object", + "$ref": "#\/definitions\/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": { + "type": "object", + "$ref": "#\/definitions\/usageGauge" + }, + "x-example": "" + } + }, + "required": [ + "total", + "gauges" + ], + "example": { + "total": 5, + "gauges": "" + } } }, "externalDocs": {